summaryrefslogtreecommitdiff
path: root/libs/ardour/session_process.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2020-03-23 19:08:36 -0600
committerPaul Davis <paul@linuxaudiosystems.com>2020-03-23 19:08:36 -0600
commit43edfc8900a55e803861047cd9d17957d67aa9ac (patch)
tree03726891df473968d05eb917555373f398d794e0 /libs/ardour/session_process.cc
parentdb73afcaa513e1802f709c9dd063f9e52fa20eb7 (diff)
don't stop if master sync is lost and user chose to just keep rolling
Diffstat (limited to 'libs/ardour/session_process.cc')
-rw-r--r--libs/ardour/session_process.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/libs/ardour/session_process.cc b/libs/ardour/session_process.cc
index 23b181a83c..083ead19f6 100644
--- a/libs/ardour/session_process.cc
+++ b/libs/ardour/session_process.cc
@@ -1228,7 +1228,11 @@ Session::plan_master_strategy (pframes_t nframes, double master_speed, samplepos
if (tmm.master_invalid_this_cycle()) {
DEBUG_TRACE (DEBUG::Slave, "session told not to use the transport master this cycle\n");
- transport_master_strategy.action = TransportMasterNoRoll;
+ if (_transport_fsm->rolling() && Config->get_transport_masters_just_roll_when_sync_lost()) {
+ transport_master_strategy.action = TransportMasterRelax;
+ } else {
+ transport_master_strategy.action = TransportMasterNoRoll;
+ }
return 1.0;
}