summaryrefslogtreecommitdiff
path: root/libs/ardour/session_midi.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2015-05-13 01:46:04 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2015-06-29 14:18:13 -0400
commit706eb6dacde7d66422f0333ef1baa4078ca10d59 (patch)
tree4c5be5f0a909b77f74a84cda544eb6ded6fbc328 /libs/ardour/session_midi.cc
parent745a235b9d930c7c28acb3d4e05d37131bc072dc (diff)
add Tracks specific handling of MMC Record Strobe, since Tracks has no concept of punch
Diffstat (limited to 'libs/ardour/session_midi.cc')
-rw-r--r--libs/ardour/session_midi.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/libs/ardour/session_midi.cc b/libs/ardour/session_midi.cc
index 7becd9c667..19fb39ba14 100644
--- a/libs/ardour/session_midi.cc
+++ b/libs/ardour/session_midi.cc
@@ -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;
}