summaryrefslogtreecommitdiff
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
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
-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) {