diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-01-30 04:51:28 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-01-30 04:51:28 +0000 |
commit | a2e24128831cc4e60bbdea589dac3867b809f90b (patch) | |
tree | c95e6f23f6645203668c13720a35bd1e866da27b /libs/ardour/session_transport.cc | |
parent | 076e85cdda1cb300e43d9506475b84fe25a718b4 (diff) |
do not send MMC DeferredPlay or Stop commands if slaving to MTC when transport starts or stops
git-svn-id: svn://localhost/ardour2/branches/3.0@8617 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_transport.cc')
-rw-r--r-- | libs/ardour/session_transport.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/libs/ardour/session_transport.cc b/libs/ardour/session_transport.cc index 30c5c4b27c..de94db6f07 100644 --- a/libs/ardour/session_transport.cc +++ b/libs/ardour/session_transport.cc @@ -578,8 +578,11 @@ Session::non_realtime_stop (bool abort, int on_entry, bool& finished) have_looped = false; send_full_time_code (_transport_frame); - MIDI::Manager::instance()->mmc()->send (MIDI::MachineControlCommand (MIDI::MachineControl::cmdStop)); - send_mmc_locate (_transport_frame); + + if (!dynamic_cast<MTC_Slave*>(_slave)) { + MIDI::Manager::instance()->mmc()->send (MIDI::MachineControlCommand (MIDI::MachineControl::cmdStop)); + send_mmc_locate (_transport_frame); + } if ((ptw & PostTransportLocate) && get_record_enabled()) { /* capture start has been changed, so save pending state */ @@ -1147,9 +1150,11 @@ Session::start_transport () (*i)->automation_snapshot (_transport_frame, true); } - Timecode::Time time; - timecode_time_subframes (_transport_frame, time); - MIDI::Manager::instance()->mmc()->send (MIDI::MachineControlCommand (MIDI::MachineControl::cmdDeferredPlay)); + Timecode::Time time; + timecode_time_subframes (_transport_frame, time); + if (!dynamic_cast<MTC_Slave*>(_slave)) { + MIDI::Manager::instance()->mmc()->send (MIDI::MachineControlCommand (MIDI::MachineControl::cmdDeferredPlay)); + } TransportStateChange (); /* EMIT SIGNAL */ } |