diff options
author | Térence Clastres <t.clastres@gmail.com> | 2018-08-19 18:27:54 +0200 |
---|---|---|
committer | Térence Clastres <t.clastres@gmail.com> | 2018-08-22 22:33:00 +0200 |
commit | 3f77c1245cb08551bf80fb0f2628bcb67cd82663 (patch) | |
tree | 5788870eb601a1c817488b8dc74c411f6848af6e | |
parent | 266c5fbc16b7cad0aa042334c8606c49b1c8caa6 (diff) |
LCXL: track select: change from 1 strip at a time to whole bank
-rw-r--r-- | libs/surfaces/launch_control_xl/controllers.cc | 4 | ||||
-rw-r--r-- | libs/surfaces/launch_control_xl/launch_control_xl.cc | 13 |
2 files changed, 9 insertions, 8 deletions
diff --git a/libs/surfaces/launch_control_xl/controllers.cc b/libs/surfaces/launch_control_xl/controllers.cc index 9552fd7150..92967ae36d 100644 --- a/libs/surfaces/launch_control_xl/controllers.cc +++ b/libs/surfaces/launch_control_xl/controllers.cc @@ -526,13 +526,13 @@ LaunchControlXL::button_track_mode(TrackMode state) void LaunchControlXL::button_select_left() { - switch_bank (max (0, bank_start - 1)); + switch_bank (max (0, bank_start - (7 + (LaunchControlXL::use_fader8master)))); } void LaunchControlXL::button_select_right() { - switch_bank (max (0, bank_start + 1)); + switch_bank (max (0, bank_start + 7 + (LaunchControlXL::use_fader8master))); } void diff --git a/libs/surfaces/launch_control_xl/launch_control_xl.cc b/libs/surfaces/launch_control_xl/launch_control_xl.cc index f92d6125aa..dc2cd2bfa1 100644 --- a/libs/surfaces/launch_control_xl/launch_control_xl.cc +++ b/libs/surfaces/launch_control_xl/launch_control_xl.cc @@ -852,7 +852,7 @@ LaunchControlXL::switch_bank (uint32_t base) boost::shared_ptr<Stripable> s[8]; uint32_t different = 0; - int stripable_counter; + uint8_t stripable_counter; if (LaunchControlXL::use_fader8master) { stripable_counter = 7; @@ -867,16 +867,17 @@ LaunchControlXL::switch_bank (uint32_t base) } } - if (sl && sr) { - write(sl->state_msg((base))); - write(sr->state_msg((s[1] != 0))); - } - if (!s[0]) { /* not even the first stripable exists, do nothing */ return; } + if (sl && sr) { + boost::shared_ptr<Stripable> next_base = session->get_remote_nth_stripable (base+8, PresentationInfo::Flag (PresentationInfo::Route|PresentationInfo::VCA)); + write(sl->state_msg((base))); + write(sr->state_msg((next_base != 0))); + } + stripable_connections.drop_connections (); for (int n = 0; n < stripable_counter; ++n) { |