diff options
author | Robin Gareus <robin@gareus.org> | 2017-01-10 10:38:00 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-01-10 10:39:22 +0100 |
commit | 74e38365e92f34d1738c9a3ec5e128a66f51c1aa (patch) | |
tree | e22d85d920752936a9402c0b0193dad3d6e2da43 /libs/ardour/session_transport.cc | |
parent | c906a59a3c3774af913b8e91f50046a7f2b70990 (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.cc | 4 |
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)) { |