summaryrefslogtreecommitdiff
path: root/libs/ardour/session_transport.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-01-10 10:38:00 +0100
committerRobin Gareus <robin@gareus.org>2017-01-10 10:39:22 +0100
commit74e38365e92f34d1738c9a3ec5e128a66f51c1aa (patch)
treee22d85d920752936a9402c0b0193dad3d6e2da43 /libs/ardour/session_transport.cc
parentc906a59a3c3774af913b8e91f50046a7f2b70990 (diff)
Fix MTC slave implicit return on transport-stop
MTC returns not-locked (no flywheel) when the signal is lost, in which case Session::follow_slave() jumps to no_roll and ignores the slave-position. The MTC slave does explicitly request a transport-locate and transport-stop. Yet, Session::realtime_stop() honors _requested_return_frame for whatever reason
Diffstat (limited to 'libs/ardour/session_transport.cc')
-rw-r--r--libs/ardour/session_transport.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc
index 68e6f49342..5f1384d292 100644
--- a/libs/ardour/session_transport.cc
+++ b/libs/ardour/session_transport.cc
@@ -746,6 +746,10 @@ Session::non_realtime_stop (bool abort, int on_entry, bool& finished)
flush_all_inserts ();
}
+ // rg: what is the logic behind this case?
+ // _requested_return_frame should be ignored when synced_to_engine/slaved.
+ // currently worked around in MTC_Slave by forcing _requested_return_frame to -1
+ // 2016-01-10
if ((auto_return_enabled || synced_to_engine() || _requested_return_frame >= 0) &&
!(ptw & PostTransportLocate)) {