|
| auto | GetType () const -> TimingSegmentType override |
| |
| auto | GetEffectType () const -> SegmentEffectType override |
| |
| auto | IsNotable () const -> bool override |
| |
| void | DebugPrint () const override |
| |
| auto | Copy () const -> TimingSegment *override |
| |
|
| TimeSignatureSegment (int iStartRow=ROW_INVALID, int iNum=4, int iDenom=4) |
| |
|
| TimeSignatureSegment (const TimeSignatureSegment &other) |
| |
|
auto | GetNum () const -> int |
| |
|
void | SetNum (int num) |
| |
|
auto | GetDen () const -> int |
| |
|
void | SetDen (int den) |
| |
|
void | Set (int num, int den) |
| |
| auto | ToString (int dec) const -> std::string override |
| |
| auto | GetValues () const -> std::vector< float > override |
| |
| auto | GetNoteRowsPerMeasure () const -> int |
| | Retrieve the number of note rows per measure within the TimeSignatureSegment.
|
| |
|
auto | operator== (const TimeSignatureSegment &other) const -> bool |
| |
| auto | operator== (const TimingSegment &other) const -> bool override |
| |
|
| TimingSegment (int iRow=ROW_INVALID) |
| |
|
| TimingSegment (float fBeat) |
| |
|
| TimingSegment (const TimingSegment &other) |
| |
| virtual void | Scale (int start, int length, int newLength) |
| | Scales itself.
|
| |
|
auto | GetRow () const -> int |
| |
|
void | SetRow (int iRow) |
| |
|
auto | GetBeat () const -> float |
| |
|
void | SetBeat (float fBeat) |
| |
|
auto | operator< (const TimingSegment &other) const -> bool |
| |
|
virtual auto | operator!= (const TimingSegment &other) const -> bool |
| |
Identifies when a song changes its time signature.
This only supports simple time signatures. The upper number (called the numerator here, though this isn't properly a fraction) is the number of beats per measure. The lower number (denominator here) is the note value representing one beat.
| auto TimeSignatureSegment::GetNoteRowsPerMeasure |
( |
| ) |
const -> int
|
|
inline |
Retrieve the number of note rows per measure within the TimeSignatureSegment.
With BeatToNoteRow(1) rows per beat, then we should have BeatToNoteRow(1)*m_iNumerator beats per measure. But if we assume that every BeatToNoteRow(1) rows is a quarter note, and we want the beats to be 1/m_iDenominator notes, then we should have BeatToNoteRow(1)*4 is rows per whole note and thus BeatToNoteRow(1)*4/m_iDenominator is rows per beat. Multiplying by m_iNumerator gives rows per measure.
- Returns
- the number of note rows per measure.