From: Jan Lentfer Date: Mon, 20 Aug 2018 19:43:21 +0000 (+0200) Subject: LCXL: Mixbus secondary function for Ctrl buttons X-Git-Url: https://main.carlh.net/gitweb/?p=ardour.git;a=commitdiff_plain;h=266c5fbc16b7cad0aa042334c8606c49b1c8caa6 LCXL: Mixbus secondary function for Ctrl buttons In Mixbus holding Device and pressing one (or many) of the Track Control buttons will toggle the Master Assignment for the corresponding track --- diff --git a/libs/surfaces/launch_control_xl/controllers.cc b/libs/surfaces/launch_control_xl/controllers.cc index 764f801edf..9552fd7150 100644 --- a/libs/surfaces/launch_control_xl/controllers.cc +++ b/libs/surfaces/launch_control_xl/controllers.cc @@ -485,6 +485,20 @@ LaunchControlXL::button_track_control(uint8_t n) { if (!stripable[n]) { return; } + + if (buttons_down.find(Device) != buttons_down.end()) { + DEBUG_TRACE (DEBUG::LaunchControlXL, "DEVICE BUTTON HOLD\n"); +#ifdef MIXBUS + if (stripable[n] != master) { + DEBUG_TRACE (DEBUG::LaunchControlXL, "MIXBUS Master Assign\n"); + stripable[n]->master_send_enable_controllable()->set_value (!stripable[n]->master_send_enable_controllable()->get_value(), PBD::Controllable::UseGroup); + } +#else + /* something useful for Ardour */ +#endif + return; + } + boost::shared_ptr ac = get_ac_by_state(n); if (ac) {