13
0

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.
This commit is contained in:
Robin Gareus 2020-01-27 21:49:53 +01:00
parent 44440f9316
commit 8e5e902b5c
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -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