From 5fad2efa107b93da7f2ff3c851de1819f55af801 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 26 Feb 2019 09:02:18 -0700 Subject: reorder call to ::track_transport_master() so that delta is computed correctly --- libs/ardour/session_process.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'libs/ardour') diff --git a/libs/ardour/session_process.cc b/libs/ardour/session_process.cc index 81e6d12d7f..bfd6c44291 100644 --- a/libs/ardour/session_process.cc +++ b/libs/ardour/session_process.cc @@ -1077,12 +1077,15 @@ Session::follow_transport_master (pframes_t nframes) slave_speed = tmm.get_current_speed_in_process_context(); slave_transport_sample = tmm.get_current_position_in_process_context (); + + track_transport_master (slave_speed, slave_transport_sample); + + /* transport sample may have been moved during ::track_transport_master() */ + delta = _transport_sample - slave_transport_sample; DEBUG_TRACE (DEBUG::Slave, string_compose ("session at %1, master at %2, delta: %3 res: %4\n", _transport_sample, slave_transport_sample, delta, tmm.current()->resolution())); - track_transport_master (slave_speed, slave_transport_sample); - if (transport_master_tracking_state == Running) { if (!actively_recording() && abs (delta) > tmm.current()->resolution()) { -- cgit v1.2.3