Module chart_process

Module chart_process 

Source
Expand description

Chart Processor

Unified Y coordinate definition:

  • In the default 4/4 time signature, the length of “one measure” is 1.
  • BMS: When the section length is the default value, each Track has a length of 1. The section length comes from the #XXX02:V message per measure, where V represents the multiple of the default length (e.g., #00302:0.5 means the 3rd measure has half the default length). Cumulative y is linearly converted with this multiple.
  • BMSON: info.resolution is the number of pulses corresponding to a quarter note (1/4), so one measure length is 4 * resolution pulses; all position y is normalized to measure units through pulses / (4 * resolution).
  • Speed (default 1.0): Only affects display coordinates (e.g., visible_notes distance_to_hit), that is, scales the y difference proportionally; does not change time progression and BPM values, nor the actual duration of that measure.

Re-exports§

pub use prelude::BmpId;
pub use prelude::DisplayRatio;
pub use prelude::WavId;
pub use prelude::YCoordinate;
pub use types::ChartEventWithPosition;
pub use types::VisibleEvent;

Modules§

bms_processor
Bms Processor Module.
bmson_processorbmson
Bmson Processor Module.
prelude
Chart Process module prelude
types
Type definition module

Enums§

ChartEvent
Events generated during playback (Elm style).
ControlEvent
Player control and setting events.

Traits§

ChartProcessor
Unified y unit description: In default 4/4 time, one measure equals 1; BMS uses #SECLEN for linear conversion, BMSON normalizes via pulses / (4*resolution).