Module bmson

Module bmson 

Source
Available on crate feature bmson only.
Expand description

The bmson format definition.

§Order of Processing

When there are coincident events in the same pulse, they are processed in the order below:

If a BpmEvent and a StopEvent appear on the same pulse, the current BPM will be changed at first, then scrolling the chart will be stopped for a while depending the changed BPM.

If a Note and a StopEvent appear on the same pulse, the sound will be played (or should be hit by a player), then scrolling the chart will be stopped.

§Layered Notes

In case that notes (not BGM) from different sound channels exist on the same (key and pulse) position:

  • When its length is not equal to each other, yo should treat as an error and warn to a player.
  • Otherwise your player may fusion the notes. That means when a player hit the key, two sounds will be played.

§Differences from BMS

  • BMS can play different sound on the start and end of long note. But bmson does not allow this.
  • Transparent color on BGA is not supported. But you can use PNG files having RGBA channels.

Modules§

bms_to_bmson
Part: Convert Bms to Bmson.
bmson_to_bms
Part: Convert Bmson to Bms.
fin_f64
Finite binary64 definition.
pulse
Pulse definition for bmson format. It represents only beat on the score, so you need to know previous BPMs for finding happening seconds of a note.

Structs§

BarLine
Event of bar line of the chart.
Bga
BGA data.
BgaEvent
BGA note to display the picture.
BgaHeader
Picture file information.
BgaId
Picture id for Bga.
Bmson
Top-level object for bmson format.
BmsonInfo
Header metadata of chart.
BpmEvent
BPM change note.
KeyChannel
Beatoraja implementation of invisible key channel.
KeyEvent
Beatoraja implementation of invisible key event.
MineChannel
Beatoraja implementation of mine channel.
MineEvent
Beatoraja implementation of mine channel.
Note
Sound note to ring a sound file.
ScrollEvent
Beatoraja implementation of scroll event.
SoundChannel
Note sound file and positions to be placed in the chart.
StopEvent
Scroll stop note.

Functions§

default_mode_hint
Default mode hint, beatmania 7 keys.
default_percentage
Default relative percentage, 100%.
default_resolution
Default resolution pulses per quarter note in 4/4 measure, 240 pulses.