pub struct TimeSignature {
pub top: u8,
pub bottom: u8,
pub ticks_per_metronome_click: u8,
pub number_32nd_in_quarter: u8,
}
Expand description
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.
(from http://www.somascape.org/midi/tech/mfile.html)
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§
Source§impl Clone for TimeSignature
impl Clone for TimeSignature
Source§fn clone(&self) -> TimeSignature
fn clone(&self) -> TimeSignature
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for TimeSignature
impl Debug for TimeSignature
Source§impl PartialEq for TimeSignature
impl PartialEq for TimeSignature
impl Copy for TimeSignature
impl StructuralPartialEq for TimeSignature
Auto Trait Implementations§
impl Freeze for TimeSignature
impl RefUnwindSafe for TimeSignature
impl Send for TimeSignature
impl Sync for TimeSignature
impl Unpin for TimeSignature
impl UnwindSafe for TimeSignature
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more