summaryrefslogtreecommitdiff
path: root/libs/ardour/transport_master_manager.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2020-05-09 23:42:26 +0200
committerRobin Gareus <robin@gareus.org>2020-05-09 23:43:04 +0200
commit52ae134efb055cfad701b7039df1c7544e47d011 (patch)
tree9cbe94f6e7e73b1713486881151ffe2d60ee4c46 /libs/ardour/transport_master_manager.cc
parent34fd8b5356f79987473d36084325fba9961dbd2d (diff)
Fix initial sync to external time source
TransportMasterStart needs to be set when this cycle's delta can reach _remaining_latency_preroll. This allows to directly catch the master-position and start rolling without initial vari-speed.
Diffstat (limited to 'libs/ardour/transport_master_manager.cc')
-rw-r--r--libs/ardour/transport_master_manager.cc3
1 files changed, 1 insertions, 2 deletions
diff --git a/libs/ardour/transport_master_manager.cc b/libs/ardour/transport_master_manager.cc
index f3083f7af6..2875021966 100644
--- a/libs/ardour/transport_master_manager.cc
+++ b/libs/ardour/transport_master_manager.cc
@@ -231,10 +231,9 @@ TransportMasterManager::pre_process_transport_masters (pframes_t nframes, sample
if (master_dll_initstate == 0) {
init_transport_master_dll (_master_speed, _master_position);
- _master_invalid_this_cycle = true;
DEBUG_TRACE (DEBUG::Slave, string_compose ("no roll3 - still initializing master DLL, will be %1 next process cycle\n", master_dll_initstate));
- return 1.0;
+ return _master_speed;
}
/* compute delta or "error" between the computed master_position for