summaryrefslogtreecommitdiff
path: root/libs/ardour/session_transport.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2020-01-27 21:49:53 +0100
committerRobin Gareus <robin@gareus.org>2020-01-27 21:49:53 +0100
commit8e5e902b5c7c419f4824de215c8ae55c64fe8ca9 (patch)
tree16c04d6bf302ecbe72065e2608924cf20f5e9a8a /libs/ardour/session_transport.cc
parent44440f93163c02c1a217c2a28cbcd7c84ac3b148 (diff)
Fix sending MMC Start/Stop messages
Ardour 5.x slave check was incorrectly ported to A6's TMM: In Ardour 5 the comparison tested for *not* MTC: ``` if (!dynamic_cast<MTC_Slave*>(_slave)) { ..send MMC.. } ``` Other MMC messages (Record, Locate) are sent unconditionally.
Diffstat (limited to 'libs/ardour/session_transport.cc')
-rw-r--r--libs/ardour/session_transport.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc
index 7660784797..83cab015c0 100644
--- a/libs/ardour/session_transport.cc
+++ b/libs/ardour/session_transport.cc
@@ -625,7 +625,7 @@ Session::start_transport ()
if (!_engine.freewheeling()) {
Timecode::Time time;
timecode_time_subframes (_transport_sample, time);
- if (transport_master()->type() == MTC) {
+ if (transport_master()->type() != MTC) { // why not when slaved to MTC?
send_immediate_mmc (MIDI::MachineControlCommand (MIDI::MachineControl::cmdDeferredPlay));
}
@@ -1550,7 +1550,7 @@ Session::non_realtime_stop (bool abort, int on_entry, bool& finished)
// need to queue this in the next RT cycle
_send_timecode_update = true;
- if (transport_master()->type() == MTC) {
+ if (transport_master()->type() != MTC) { // why?
send_immediate_mmc (MIDI::MachineControlCommand (MIDI::MachineControl::cmdStop));
/* This (::non_realtime_stop()) gets called by main