- framepos_t framepos_plus_bbt (framepos_t pos, Timecode::BBT_Time b) const;
- framepos_t framepos_plus_beats (framepos_t, Evoral::Beats) const;
- framepos_t framepos_minus_beats (framepos_t, Evoral::Beats) const;
- Evoral::Beats framewalk_to_beats (framepos_t pos, framecnt_t distance) const;
+ samplepos_t samplepos_plus_qn (samplepos_t, Temporal::Beats) const;
+ Temporal::Beats framewalk_to_qn (samplepos_t pos, samplecnt_t distance) const;
+
+ /* quarter note related functions are also tempo-sensitive and ignore meter.
+ quarter notes may be compared with and assigned to Temporal::Beats.
+ */
+ double quarter_note_at_sample (const samplepos_t sample) const;
+ double quarter_note_at_sample_rt (const samplepos_t sample) const;
+ samplepos_t sample_at_quarter_note (const double quarter_note) const;
+
+ samplecnt_t samples_between_quarter_notes (const double start, const double end) const;
+ double quarter_notes_between_samples (const samplecnt_t start, const samplecnt_t end) const;
+
+ double quarter_note_at_beat (const double beat) const;
+ double beat_at_quarter_note (const double beat) const;