diff options
author | nick_m <mainsbridge@gmail.com> | 2016-05-24 05:49:58 +1000 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2016-05-27 23:38:17 +1000 |
commit | 43922a1fe13bddd71b37e9d654f7d2da88b39166 (patch) | |
tree | f426ab3b9691bab7374005bb0199c98fc9211883 /libs/ardour/tempo.cc | |
parent | 6309807bc77347ad2889a3e08fa2721ffa345194 (diff) |
Tempo ramps - clean up tempo dragging.
Diffstat (limited to 'libs/ardour/tempo.cc')
-rw-r--r-- | libs/ardour/tempo.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libs/ardour/tempo.cc b/libs/ardour/tempo.cc index faa93632b8..c28a4c04a9 100644 --- a/libs/ardour/tempo.cc +++ b/libs/ardour/tempo.cc @@ -2395,7 +2395,7 @@ TempoMap::predict_tempo_position (TempoSection* section, const BBT_Time& bbt) } void -TempoMap::gui_move_tempo (TempoSection* ts, const pair<double, framepos_t>& pulse) +TempoMap::gui_move_tempo (TempoSection* ts, const framepos_t& frame) { Metrics future_map; @@ -2403,8 +2403,9 @@ TempoMap::gui_move_tempo (TempoSection* ts, const pair<double, framepos_t>& puls { Glib::Threads::RWLock::WriterLock lm (lock); TempoSection* tempo_copy = copy_metrics_and_point (_metrics, future_map, ts); - if (solve_map_pulse (future_map, tempo_copy, pulse.first)) { - solve_map_pulse (_metrics, ts, pulse.first); + const double pulse = pulse_at_frame_locked (future_map, frame); + if (solve_map_pulse (future_map, tempo_copy, pulse)) { + solve_map_pulse (_metrics, ts, pulse); recompute_meters (_metrics); } } @@ -2414,8 +2415,8 @@ TempoMap::gui_move_tempo (TempoSection* ts, const pair<double, framepos_t>& puls { Glib::Threads::RWLock::WriterLock lm (lock); TempoSection* tempo_copy = copy_metrics_and_point (_metrics, future_map, ts); - if (solve_map_frame (future_map, tempo_copy, pulse.second)) { - solve_map_frame (_metrics, ts, pulse.second); + if (solve_map_frame (future_map, tempo_copy, frame)) { + solve_map_frame (_metrics, ts, frame); recompute_meters (_metrics); } } |