13
0

LCXL: fix special 32C handling for autom. lanes

This commit is contained in:
Jan Lentfer 2018-12-31 17:22:15 +01:00
parent e612be9037
commit 45f83beb17

View File

@ -879,19 +879,26 @@ LaunchControlXL::input_port()
void void
LaunchControlXL::stripable_selection_changed () LaunchControlXL::stripable_selection_changed ()
{ {
DEBUG_TRACE (DEBUG::LaunchControlXL, "Stripable Selection changed\n");
if (!device_mode()) { if (!device_mode()) {
switch_bank (bank_start); switch_bank (bank_start);
} else { } else {
#ifdef MIXBUS32C #ifdef MIXBUS32C
if (first_selected_stripable()) { if (first_selected_stripable()) {
DEBUG_TRACE (DEBUG::LaunchControlXL, "32C special handling. Checking if stripable type changed\n");
bool fss_unchanged; bool fss_unchanged;
fss_unchanged = (fss_is_mixbus() == (first_selected_stripable()->mixbus() || first_selected_stripable()->is_master())); 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()); reset(template_number());
build_maps(); 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 #endif
init_knobs_and_buttons(); init_knobs_and_buttons();
init_dm_callbacks(); init_dm_callbacks();
@ -1207,10 +1214,14 @@ LaunchControlXL::store_fss_type()
{ {
if (first_selected_stripable()) { if (first_selected_stripable()) {
if (first_selected_stripable()->mixbus() || first_selected_stripable()->is_master()) { if (first_selected_stripable()->mixbus() || first_selected_stripable()->is_master()) {
DEBUG_TRACE (DEBUG::LaunchControlXL, "Storing fss is mixbus: true\n");
_fss_is_mixbus = true; _fss_is_mixbus = true;
} else { } else {
DEBUG_TRACE (DEBUG::LaunchControlXL, "Storing fss is mixbus: false\n");
_fss_is_mixbus = false; _fss_is_mixbus = false;
} }
} else {
_fss_is_mixbus = false;
} }
} }
#endif #endif