summaryrefslogtreecommitdiff
path: root/libs/ardour/session_transport.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-01-30 04:51:28 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-01-30 04:51:28 +0000
commita2e24128831cc4e60bbdea589dac3867b809f90b (patch)
treec95e6f23f6645203668c13720a35bd1e866da27b /libs/ardour/session_transport.cc
parent076e85cdda1cb300e43d9506475b84fe25a718b4 (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.cc15
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 */
}