add Tracks specific handling of MMC Record Strobe, since Tracks has no concept of...
authorPaul Davis <paul@linuxaudiosystems.com>
Wed, 13 May 2015 05:46:04 +0000 (01:46 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Mon, 29 Jun 2015 18:18:13 +0000 (14:18 -0400)
libs/ardour/session_midi.cc

index 7becd9c667035ff2823490a00647d8fef95688d9..19fb39ba14348ccbab2dd46d56345fb769b052c4 100644 (file)
@@ -43,6 +43,7 @@
 #include "ardour/midi_port.h"
 #include "ardour/midi_track.h"
 #include "ardour/midi_ui.h"
+#include "ardour/profile.h"
 #include "ardour/session.h"
 #include "ardour/slave.h"
 #include "ardour/ticker.h"
@@ -129,6 +130,19 @@ Session::mmc_record_pause (MIDI::MachineControl &/*mmc*/)
 void
 Session::mmc_record_strobe (MIDI::MachineControl &/*mmc*/)
 {
+       if (Profile->get_trx()) {
+
+               /* In Tracks Live, there is no concept of punch, so we just
+                  treat RecordStrobe like RecordPause. This violates the MMC
+                  specification.
+               */
+               
+               if (Config->get_mmc_control()) {
+                       maybe_enable_record();
+               }
+               return;
+       }
+
        if (!Config->get_mmc_control() || (_step_editors > 0)) {
                return;
        }