View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006241 | ardour | features | public | 2015-04-07 10:26 | 2015-04-07 10:26 |
Reporter | flip | Assigned To | |||
Priority | normal | Severity | feature | Reproducibility | N/A |
Status | new | Resolution | open | ||
Summary | 0006241: Add an option to send MMC PLAY instead of MMC DEFERRED PLAY | ||||
Description | PLAY 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. | ||||
Tags | No tags attached. | ||||
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"/> |