pub struct ProgramMeta {Show 14 fields
pub name: String,
pub tempo_bpm: f32,
pub beats_per_bar: u32,
pub steps_per_beat: u32,
pub tempo_map: Vec<TempoPoint>,
pub meter_map: Vec<MeterPoint>,
pub pickup: Option<Beat>,
pub sections: Vec<Section>,
pub markers: Vec<Marker>,
pub length_bars: u32,
pub duration_secs: f32,
pub duration_frames: u64,
pub sample_rate: u32,
pub tracks: Vec<TrackMeta>,
}Expand description
The musical facts of a compiled song, resolved once at compile time.
Fields§
§name: StringThe song’s name.
tempo_bpm: f32Tempo in beats per minute (clamped at compile, like the compiler’s duration math: degenerate tempos floor at 1).
beats_per_bar: u32Time-signature numerator (4 = 4/4) — the default meter before any
meter_map points.
steps_per_beat: u32Grid resolution (4 = sixteenth notes).
tempo_map: Vec<TempoPoint>Tempo changes at exact beat positions (empty = constant tempo_bpm).
meter_map: Vec<MeterPoint>Time-signature changes by bar (empty = beats_per_bar/4 throughout).
pickup: Option<Beat>The pickup bar’s length in beats, if any.
sections: Vec<Section>Named bar ranges, sorted by bar — the runtime’s transition targets.
markers: Vec<Marker>Named beat points, sorted by position.
length_bars: u32The song’s length in bars (end of its last placement or direct note).
duration_secs: f32Total duration in seconds, including the release/reverb tail.
duration_frames: u64Total duration in frames (duration_secs × sample_rate, rounded).
sample_rate: u32The sample rate the program was compiled for.
tracks: Vec<TrackMeta>One entry per track, in declaration order (so id is stable).
Trait Implementations§
Source§impl Clone for ProgramMeta
impl Clone for ProgramMeta
Source§fn clone(&self) -> ProgramMeta
fn clone(&self) -> ProgramMeta
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more