@funniray/osu-parser
v0.4.0
Published
converts osu files into javascript objects
Downloads
4
Readme
osu-parser
A parser for Nodejs that converts osu files into javascript objects. Feel free to give it a try and post issues to help me improve it ;)
Installation
npm install osu-parser
Usage
var parser = require('osu-parser');
parser.parseFile('path/to/map.osu', function (err, beatmap) {
console.log(beatmap);
});
The resulting object
Simple key/value entries like this...
...
PreviewTime: 42860
...
...are directly reachable as properties :
console.log(beatmap['PreviewTime']);
// prints 42860
Additionnal beatmap properties :
TimingPoint properties
HitObject properties
Slider specific properties
Spinner specific properties
Methods
parseFile(filepath, callback)
Parse the given file. The callback returns (error, beatmap).
var parser = require('osu-parser');
parser.parseFile('path/to/map.osu', function (err, beatmap) {
console.log(beatmap);
});
parseStream(stream, callback)
Parse a stream containing a file content. The callback returns (error, beatmap).
var parser = require('osu-parser');
var fs = require('fs');
var stream = fs.createReadStream('path/to/map.osu');
parser.parseStream(stream, function (err, beatmap) {
console.log(beatmap);
});
parseContent(content)
Parse the content of a file as a string or a buffer.
var parser = require('osu-parser');
var fs = require('fs');
var content = fs.readFileSync('path/to/map.osu');
var beatmap = parser.parseContent(content);
TODO
- translate the samplesetId of timing points
- parse events
- make tests more reliable
- add a synchronous version of parseFile
- make it usable in a browser ? (not sure that would be useful)
- ...