13
0

Add a method for obtaining the frame position of beat/whatever zero

This commit is contained in:
nick_m 2017-06-09 11:01:30 +10:00
parent 789fcff1fe
commit 4ef4f45f3d
2 changed files with 13 additions and 1 deletions

View File

@ -525,6 +525,8 @@ class LIBARDOUR_API TempoMap : public PBD::StatefulDestructible
void fix_legacy_session();
void fix_legacy_end_session();
framepos_t music_origin ();
private:
/* prevent copy construction */
TempoMap (TempoMap const&);

View File

@ -1882,7 +1882,7 @@ TempoMap::quarter_note_at_tempo (const Tempo& tempo) const
{
Glib::Threads::RWLock::ReaderLock lm (lock);
return pulse_at_tempo_locked (_metrics, tempo) * 4.0;;
return pulse_at_tempo_locked (_metrics, tempo) * 4.0;
}
/** Returns the whole-note pulse corresponding to the supplied BBT (meter-based) beat.
@ -3780,6 +3780,16 @@ TempoMap::gui_twist_tempi (TempoSection* ts, const Tempo& bpm, const framepos_t
return can_solve;
}
/** Returns the frame position of the musical position zero */
framepos_t
TempoMap::music_origin ()
{
Glib::Threads::RWLock::ReaderLock lm (lock);
return first_tempo().frame();
}
/** Returns the exact bbt-based beat corresponding to the bar, beat or quarter note subdivision nearest to
* the supplied frame, possibly returning a negative value.
*