mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-07 15:25:01 +01:00
launchpad pro: use "first fader" concept from lpx
we control the CC number sent by launchpad faders, and 0x20 is too large because it causes the faders to overlap with some of the CC values sent by RHS pads. Parametize the first fader and use it everywhere
This commit is contained in:
parent
144756e602
commit
58652f6268
1 changed files with 7 additions and 6 deletions
|
|
@ -78,6 +78,7 @@ using namespace Gtkmm2ext;
|
|||
#define NOVATION 0x1235
|
||||
#define LAUNCHPADPROMK3 0x0123
|
||||
static const std::vector<MIDI::byte> sysex_header ({ 0xf0, 0x00, 0x20, 0x29, 0x2, 0xe });
|
||||
static int first_fader = 0x9;
|
||||
|
||||
const LaunchPadPro::PadID LaunchPadPro::all_pad_ids[] = {
|
||||
Shift, Left, Right, Session, Note, Chord, Custom, Sequencer, Projects,
|
||||
|
|
@ -731,7 +732,7 @@ LaunchPadPro::handle_midi_controller_message (MIDI::Parser&, MIDI::EventTwoBytes
|
|||
|
||||
if (_current_layout == Fader) {
|
||||
/* Trap fader move messages and act on them */
|
||||
if (ev->controller_number >= 0x20 && ev->controller_number < 0x28) {
|
||||
if (ev->controller_number >= first_fader && ev->controller_number < first_fader+8) {
|
||||
fader_move (ev->controller_number, ev->value);
|
||||
return;
|
||||
}
|
||||
|
|
@ -1935,7 +1936,7 @@ LaunchPadPro::setup_faders (FaderBank bank)
|
|||
msg.push_back (0); /* unipolar */
|
||||
break;
|
||||
}
|
||||
msg.push_back (0x20+n); /* CC number */
|
||||
msg.push_back (first_fader+n); /* CC number */
|
||||
msg.push_back (random() % 127); /* color */
|
||||
}
|
||||
|
||||
|
|
@ -1954,7 +1955,7 @@ LaunchPadPro::fader_move (int cc, int val)
|
|||
r = std::dynamic_pointer_cast<Route> (session->selection().first_selected_stripable());
|
||||
break;
|
||||
default:
|
||||
r = session->get_remote_nth_route (scroll_x_offset + (cc - 0x20));
|
||||
r = session->get_remote_nth_route (scroll_x_offset + (cc - first_fader));
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -1978,7 +1979,7 @@ LaunchPadPro::fader_move (int cc, int val)
|
|||
}
|
||||
break;
|
||||
case SendFaders:
|
||||
ac = r->send_level_controllable (scroll_x_offset + (cc - 0x20));
|
||||
ac = r->send_level_controllable (scroll_x_offset + (cc - first_fader));
|
||||
if (ac) {
|
||||
session->set_control (ac, ARDOUR::slider_position_to_gain_with_max (val/127.0, ARDOUR::Config->get_max_gain()), PBD::Controllable::NoGroup);
|
||||
}
|
||||
|
|
@ -2012,7 +2013,7 @@ LaunchPadPro::map_faders ()
|
|||
|
||||
std::shared_ptr<AutomationControl> ac;
|
||||
|
||||
msg[1] = 0x20 + n;
|
||||
msg[1] = first_fader + n;
|
||||
|
||||
if (!r) {
|
||||
switch (current_fader_bank) {
|
||||
|
|
@ -2075,7 +2076,7 @@ LaunchPadPro::automation_control_change (int n, std::weak_ptr<AutomationControl>
|
|||
|
||||
MIDI::byte msg[3];
|
||||
msg[0] = 0xb4;
|
||||
msg[1] = 0x20 + n;
|
||||
msg[1] = first_fader + n;
|
||||
|
||||
switch (current_fader_bank) {
|
||||
case VolumeFaders:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue