summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorJan Lentfer <jan.lentfer@web.de>2018-08-20 21:43:21 +0200
committerRobin Gareus <robin@gareus.org>2018-08-22 19:56:10 +0200
commit266c5fbc16b7cad0aa042334c8606c49b1c8caa6 (patch)
tree5c4776d4911a04bec8cf6e579c15ee13eb3145d7 /libs
parentfa7c8f60137b08969e5162065104ee7c1b5ef44c (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
Diffstat (limited to 'libs')
-rw-r--r--libs/surfaces/launch_control_xl/controllers.cc14
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) {