summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorJan Lentfer <jan.lentfer@web.de>2018-12-31 17:22:15 +0100
committerJan Lentfer <jan.lentfer@web.de>2019-01-03 19:22:15 +0100
commit45f83beb17ba9e058037a50a2640eedc0c74379d (patch)
tree5b03dc67d01ff9d85265605d23af2634de1450b7 /libs
parente612be90376ff139bdbf82cea31f34b9f18c84fe (diff)
LCXL: fix special 32C handling for autom. lanes
Diffstat (limited to 'libs')
-rw-r--r--libs/surfaces/launch_control_xl/launch_control_xl.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/libs/surfaces/launch_control_xl/launch_control_xl.cc b/libs/surfaces/launch_control_xl/launch_control_xl.cc
index 4e094c21f0..a1f22be301 100644
--- a/libs/surfaces/launch_control_xl/launch_control_xl.cc
+++ b/libs/surfaces/launch_control_xl/launch_control_xl.cc
@@ -879,19 +879,26 @@ LaunchControlXL::input_port()
void
LaunchControlXL::stripable_selection_changed ()
{
+ DEBUG_TRACE (DEBUG::LaunchControlXL, "Stripable Selection changed\n");
if (!device_mode()) {
switch_bank (bank_start);
} else {
#ifdef MIXBUS32C
if (first_selected_stripable()) {
+ DEBUG_TRACE (DEBUG::LaunchControlXL, "32C special handling. Checking if stripable type changed\n");
bool fss_unchanged;
fss_unchanged = (fss_is_mixbus() == (first_selected_stripable()->mixbus() || first_selected_stripable()->is_master()));
- if (!fss_unchanged) {
+ if (!fss_unchanged) {
+ DEBUG_TRACE (DEBUG::LaunchControlXL, "32C special handling: Stripable type DID CHANGE\n");
reset(template_number());
build_maps();
- store_fss_type();
+ } else {
+ DEBUG_TRACE (DEBUG::LaunchControlXL, "32C special handling: Stripable type DID NOT CHANGE\n");
}
+ } else {
+ reset(template_number());
}
+ store_fss_type();
#endif
init_knobs_and_buttons();
init_dm_callbacks();
@@ -1207,10 +1214,14 @@ LaunchControlXL::store_fss_type()
{
if (first_selected_stripable()) {
if (first_selected_stripable()->mixbus() || first_selected_stripable()->is_master()) {
+ DEBUG_TRACE (DEBUG::LaunchControlXL, "Storing fss is mixbus: true\n");
_fss_is_mixbus = true;
} else {
+ DEBUG_TRACE (DEBUG::LaunchControlXL, "Storing fss is mixbus: false\n");
_fss_is_mixbus = false;
}
+ } else {
+ _fss_is_mixbus = false;
}
}
#endif