From a2e24128831cc4e60bbdea589dac3867b809f90b Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sun, 30 Jan 2011 04:51:28 +0000 Subject: [PATCH] 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 --- libs/ardour/session_transport.cc | 15 ++++++++++----- 1 file 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(_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(_slave)) { + MIDI::Manager::instance()->mmc()->send (MIDI::MachineControlCommand (MIDI::MachineControl::cmdDeferredPlay)); + } TransportStateChange (); /* EMIT SIGNAL */ }