diff options
author | Jan Lentfer <jan.lentfer@web.de> | 2018-08-12 20:27:18 +0200 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2018-08-13 14:53:43 -0400 |
commit | d3e7fa0ebfa4728383dc311bd0c66321c95816bf (patch) | |
tree | b0213c842d4dbf2bad25d99cf6e79c4e45eeb296 | |
parent | aad354e15fcc4de48c26522051535b39d023cf3a (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.
-rw-r--r-- | libs/surfaces/launch_control_xl/controllers.cc | 30 | ||||
-rw-r--r-- | libs/surfaces/launch_control_xl/launch_control_xl.h | 6 |
2 files changed, 33 insertions, 3 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) { diff --git a/libs/surfaces/launch_control_xl/launch_control_xl.h b/libs/surfaces/launch_control_xl/launch_control_xl.h index d4747767c8..9d7112a8eb 100644 --- a/libs/surfaces/launch_control_xl/launch_control_xl.h +++ b/libs/surfaces/launch_control_xl/launch_control_xl.h @@ -457,9 +457,9 @@ private: void button_device(); void button_device_long_press(); void button_track_mode(TrackMode state); - void button_mute() { button_track_mode(TrackMute); } - void button_solo() { button_track_mode(TrackSolo); } - void button_record() { button_track_mode(TrackRecord); } + void button_mute(); + void button_solo(); + void button_record(); void button_select_up(); void button_select_down(); void button_select_left(); |