View Issue Details

IDProjectCategoryView StatusLast Update
0006241ardourfeaturespublic2015-04-07 10:26
Reporterflip Assigned To 
PrioritynormalSeverityfeatureReproducibilityN/A
Status newResolutionopen 
Summary0006241: Add an option to send MMC PLAY instead of MMC DEFERRED PLAY
DescriptionPLAY is more useful than DEFERRED PLAY when starting lots of drum machines and synths with internal sequencers from Ardour. Many of them don't start from step 1 when receiving a DEFERRED PLAY, which would be the preferred behavior most of the time.

Attched is a patch that implements the feature. I hope this helps, this is the first time I try this...

Version is 4.0.rc2.50.
TagsNo tags attached.

Activities

2015-04-07 10:26

 

mmc-play-option.patch (2,183 bytes)   
diff -rupN ardour-orig/libs/ardour/ardour/rc_configuration_vars.h ardour/libs/ardour/ardour/rc_configuration_vars.h
--- ardour-orig/libs/ardour/ardour/rc_configuration_vars.h	2015-04-07 11:38:28.477985252 +0200
+++ ardour/libs/ardour/ardour/rc_configuration_vars.h	2015-04-07 11:35:14.073984009 +0200
@@ -50,6 +50,7 @@ CONFIG_VARIABLE (bool, midi_feedback, "m
 CONFIG_VARIABLE (int32_t, mmc_receive_device_id, "mmc-receive-device-id", 0x7f)
 CONFIG_VARIABLE (int32_t, mmc_send_device_id, "mmc-send-device-id", 0)
 CONFIG_VARIABLE (int32_t, initial_program_change, "initial-program-change", -1)
+CONFIG_VARIABLE (bool, mmc_send_play, "mmc-send-play", false)
 CONFIG_VARIABLE (bool, first_midi_bank_is_zero, "display-first-midi-bank-as-zero", false)
 CONFIG_VARIABLE (int32_t, inter_scene_gap_msecs, "inter-scene-gap-msecs", 1)
 
diff -rupN ardour-orig/libs/ardour/session_transport.cc ardour/libs/ardour/session_transport.cc
--- ardour-orig/libs/ardour/session_transport.cc	2015-04-07 11:38:28.518985253 +0200
+++ ardour/libs/ardour/session_transport.cc	2015-04-07 11:34:13.845983624 +0200
@@ -1477,7 +1477,11 @@ Session::start_transport ()
 		Timecode::Time time;
 		timecode_time_subframes (_transport_frame, time);
 		if (!dynamic_cast<MTC_Slave*>(_slave)) {
-			send_immediate_mmc (MIDI::MachineControlCommand (MIDI::MachineControl::cmdDeferredPlay));
+			if (!Config->get_mmc_send_play()) {
+				send_immediate_mmc (MIDI::MachineControlCommand (MIDI::MachineControl::cmdDeferredPlay));
+			} else {
+				send_immediate_mmc (MIDI::MachineControlCommand (MIDI::MachineControl::cmdPlay));
+			}
 		}
 	}
 
diff -rupN ardour-orig/system_config ardour/system_config
--- ardour-orig/system_config	2015-04-07 11:38:28.751985254 +0200
+++ ardour/system_config	2015-04-07 11:35:43.534984197 +0200
@@ -13,6 +13,7 @@
     <Option name="midi-feedback" value="0"/>
     <Option name="mmc-receive-device-id" value="127"/>
     <Option name="mmc-send-device-id" value="0"/>
+    <Option name="mmc-send-play" value="0"/>
     <Option name="initial-program-change" value="-1"/>
     <Option name="display-first-midi-bank-as-zero" value="0"/>
     <Option name="inter-scene-gap-msecs" value="1"/>
mmc-play-option.patch (2,183 bytes)   

Issue History

Date Modified Username Field Change
2015-04-07 10:26 flip New Issue
2015-04-07 10:26 flip File Added: mmc-play-option.patch