MCC
Loading...
Searching...
No Matches

Exact written durations, independent of playback time. More...

Collaboration diagram for Rhythm:

Classes

class  MCC::NoteValue
 Exact written note length: a power-of-two base and zero to four dots. More...
class  MCC::Note
 A written pitch combined with an exact written note value. More...
class  MCC::Meter
 Exact written time signature and its simple/compound interpretation. More...
class  MCC::RhythmPattern
 Cyclic onset/rest pattern on a grid of equal steps. More...

Enumerations

enum class  MCC::MeterKind : uint8_t { Simple = 0 , Compound , Irregular , Invalid }
 Rhythmic interpretation of a written meter.

Functions

MCC_CONSTEXPR14 bool MCC::IsNoteLowerThan (Note a, Note b) noexcept
 Orders notes by sounding pitch, then by written pitch and value.
constexpr bool MCC::HasSameMeasureDuration (Meter a, Meter b) noexcept
 Returns true when two valid meters span the same whole-note length.

Detailed Description

Exact written durations, independent of playback time.

MCC::NoteValue records a power-of-two note base and its augmentation dots. MCC::Note combines that exact value with a spelling-preserving MCC::Pitch. MCC::Meter preserves a written time signature and derives simple or compound beats without guessing irregular groupings. MCC::RhythmPattern records which steps of a cyclic grid are onsets, in the box and interonset-interval notations of Toussaint's The Geometry of Musical Rhythm. None depends on tempo, clocks, PPQN or MIDI.

Function Documentation

◆ HasSameMeasureDuration()

bool MCC::HasSameMeasureDuration ( Meter a,
Meter b )
constexprnoexcept

Returns true when two valid meters span the same whole-note length.

Written identity remains distinct: 3/4 != 6/8, but both have the same measure duration.