51.0.0 • Published 3 years ago
bms v51.0.0
A Be-Music Source file-format parser. It is made primarily for usage in Bemuse.
Usage
Documentation has been lacking. For now, please see issue 26 for preliminary usage notes.
BMS Parsing Stages
BMS will be parsed in three stages:
- Use
bms.Readerto turn a Buffer with BMS file content into a String.- Performs character set detection.
- Use
bms.Compilerto compile the String into aBMSChart.- Syntax-level processing is done here, such as:
- #RANDOM
- #SETRANDOM
- #SWITCH
- Results in three primary data structures:
headerscontains all BMS headersobjectscontains all BMS objects on the timeline.timeSignaturecontains the time signature information.- also allows converting from measure+fraction to beat
- Syntax-level processing is done here, such as:
BMSChartcontains all information needed to further process the song. These modules can then be used to extract information fromBMSChart.SongInfoallows looking up title, subtitle, artist, maker, and genre.- Implicit/multiplex subtitles taken into account here.
Timingallows conversion from beat to seconds.- BPM, BPM changes, STOP objects, and STP commands taken into account here.
Positioningallows conversion from beat to in-game position.- SPEED and SCROLL commands (BEMUSE's BMS extensions) taken into account here.
Notesparses the notechart, resulting in in-game notes.- Channel mapping is taken into consideration here.
- Normal notes and long notes taken into account here.
- Also emits list of notes to autoplay.
Other Utility Classes
Speedcoreallows calculation of position and velocity over a linear graph.
51.0.0
3 years ago
50.1.1
3 years ago
50.1.0
4 years ago
50.0.1
4 years ago
49.1.2
4 years ago
49.0.0
4 years ago
45.1.0
6 years ago
44.2.0
6 years ago
44.1.1
6 years ago
3.1.0-2
7 years ago
3.1.0-1
7 years ago
3.0.0
7 years ago
3.0.0-2
7 years ago
3.0.0-1
7 years ago
2.1.0-beta.1
8 years ago
2.0.0
10 years ago
2.0.0-beta.3
10 years ago
2.0.0-beta.2
10 years ago
2.0.0-beta.1
10 years ago
0.12.0
10 years ago
0.11.1
11 years ago
0.11.0
11 years ago
0.10.0
11 years ago
0.9.0
11 years ago
0.8.0
11 years ago
0.7.2
11 years ago
0.7.1
11 years ago
0.7.0
11 years ago
0.6.0
11 years ago
0.5.0
11 years ago
0.4.0
11 years ago
0.3.1
11 years ago
0.2.1
11 years ago
0.2.0
11 years ago