diff options
author | Jan Lentfer <jan.lentfer@web.de> | 2018-08-20 21:43:21 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2018-08-22 19:56:10 +0200 |
commit | 266c5fbc16b7cad0aa042334c8606c49b1c8caa6 (patch) | |
tree | 5c4776d4911a04bec8cf6e579c15ee13eb3145d7 | |
parent | fa7c8f60137b08969e5162065104ee7c1b5ef44c (diff) |
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
-rw-r--r-- | libs/surfaces/launch_control_xl/controllers.cc | 14 |
1 files changed, 14 insertions, 0 deletions
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<AutomationControl> ac = get_ac_by_state(n); if (ac) { |