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.

(from http://www.somascape.org/midi/tech/mfile.html)

Fields

The number of beats per bar

The size of those beats (1 = semibreve, 2 = minim, 3 = crotchet etc.)

Clock ticks between metronome clicks

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]

Formats the value using the given formatter.

impl PartialEq for TimeSignature
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Copy for TimeSignature
[src]

impl Clone for TimeSignature
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more