Struct nom_midi::TimeSignature
[−]
[src]
pub struct TimeSignature { pub top: u8, pub bottom: u8, pub ticks_per_metronome_click: u8, pub number_32nd_in_quarter: u8, }
A time signature
Examples
Assuming no_32nd_in_quarter
is 8
A time signature of 4/4, with a metronome click every 1/4 note, would be encoded
FF 58 04 04 02 18 08
. There are 24 MIDI Clocks per quarter-note, hence cc=24 (0x18).A time signature of 6/8, with a metronome click every 3rd 1/8 note, would be encoded
FF 58 04 06 03 24 08
Remember, a 1/4 note is 24 MIDI Clocks, therefore a bar of 6/8 is 72 MIDI Clocks. Hence 3 1/8 notes is 36 (=0x24) MIDI Clocks.
Fields
top: u8
The number of beats per bar
bottom: u8
The size of those beats (1 = semibreve, 2 = minim, 3 = crotchet etc.)
ticks_per_metronome_click: u8
Clock ticks between metronome clicks
number_32nd_in_quarter: u8
The number of notated 32nd-notes in a MIDI quarter note - for a 1-1 corresponence this should be 8.
Trait Implementations
impl Debug for TimeSignature
[src]
impl PartialEq for TimeSignature
[src]
fn eq(&self, __arg_0: &TimeSignature) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &TimeSignature) -> bool
This method tests for !=
.
impl Copy for TimeSignature
[src]
impl Clone for TimeSignature
[src]
fn clone(&self) -> TimeSignature
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more