summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
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