diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2019-02-26 09:02:18 -0700 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2019-02-26 09:02:42 -0700 |
commit | 5fad2efa107b93da7f2ff3c851de1819f55af801 (patch) | |
tree | 5cb38c7c433ce52ea8ded3b6d5c562cd8dbbaa7d /libs/ardour/session_process.cc | |
parent | eefc2d774cf80ea6b04573137bfb18cfcf33f607 (diff) |
reorder call to ::track_transport_master() so that delta is computed correctly
Diffstat (limited to 'libs/ardour/session_process.cc')
-rw-r--r-- | libs/ardour/session_process.cc | 7 |
1 files changed, 5 insertions, 2 deletions
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()) { |