From 019940e3a5c36c7efc667c7c2bf425841af61fb6 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 25 Nov 2014 17:37:43 +0200 Subject: [PATCH] make Tracks treat MMC RecordStrobe like RecordPause, since there is no conception of a punch range --- libs/ardour/session_midi.cc | 30 ++++++++---------------------- 1 file changed, 8 insertions(+), 22 deletions(-) diff --git a/libs/ardour/session_midi.cc b/libs/ardour/session_midi.cc index 47c7bd4c40..baba4b559d 100644 --- a/libs/ardour/session_midi.cc +++ b/libs/ardour/session_midi.cc @@ -128,29 +128,15 @@ Session::mmc_record_pause (MIDI::MachineControl &/*mmc*/) void Session::mmc_record_strobe (MIDI::MachineControl &/*mmc*/) { - if (!Config->get_mmc_control() || (_step_editors > 0)) { - return; - } + /* Look at Ardour code if you want an implementation + that supports the MMC specification semantics for + RecordStrobe. Here (Tracks Live), there is no + concept of punch, so we just treat RecordStrobe + like RecordPause + */ - /* record strobe does an implicit "Play" command */ - - if (_transport_speed != 1.0) { - - /* start_transport() will move from Enabled->Recording, so we - don't need to do anything here except enable recording. - its not the same as maybe_enable_record() though, because - that *can* switch to Recording, which we do not want. - */ - - save_state ("", true); - g_atomic_int_set (&_record_status, Enabled); - RecordStateChanged (); /* EMIT SIGNAL */ - - request_transport_speed (1.0); - - } else { - - enable_record (); + if (Config->get_mmc_control ()) { + maybe_enable_record(); } }