summaryrefslogtreecommitdiff
path: root/libs/surfaces/launch_control_xl/controllers.cc
diff options
context:
space:
mode:
authorJan Lentfer <jan.lentfer@web.de>2018-08-12 20:27:18 +0200
committerPaul Davis <paul@linuxaudiosystems.com>2018-08-13 14:53:43 -0400
commitd3e7fa0ebfa4728383dc311bd0c66321c95816bf (patch)
treeb0213c842d4dbf2bad25d99cf6e79c4e45eeb296 /libs/surfaces/launch_control_xl/controllers.cc
parentaad354e15fcc4de48c26522051535b39d023cf3a (diff)
LCXL: implement mute, solo and record arm toggles
Holding the Device button and pressing one of mute, solo and record arm will toggle selected tracks (use Track Focus buttons) accordingly.
Diffstat (limited to 'libs/surfaces/launch_control_xl/controllers.cc')
-rw-r--r--libs/surfaces/launch_control_xl/controllers.cc30
1 files changed, 30 insertions, 0 deletions
diff --git a/libs/surfaces/launch_control_xl/controllers.cc b/libs/surfaces/launch_control_xl/controllers.cc
index de9e0aa416..65608e9d19 100644
--- a/libs/surfaces/launch_control_xl/controllers.cc
+++ b/libs/surfaces/launch_control_xl/controllers.cc
@@ -451,6 +451,36 @@ LaunchControlXL::button_device_long_press()
}
+void
+LaunchControlXL::button_mute()
+{
+ if (buttons_down.find(Device) != buttons_down.end()) {
+ access_action ("Editor/track-mute-toggle");
+ } else {
+ button_track_mode(TrackMute);
+ }
+}
+
+void
+LaunchControlXL::button_solo()
+{
+ if (buttons_down.find(Device) != buttons_down.end()) {
+ access_action ("Editor/track-solo-toggle");
+ } else {
+ button_track_mode(TrackSolo);
+ }
+}
+
+void
+LaunchControlXL::button_record()
+{
+ if (buttons_down.find(Device) != buttons_down.end()) {
+ access_action ("Editor/track-record-enable-toggle");
+ } else {
+ button_track_mode(TrackRecord);
+ }
+}
+
bool
LaunchControlXL::button_long_press_timeout (ButtonID id, Button* button)
{