From 296611ce52162455dbaa83a458bab420374a850d Mon Sep 17 00:00:00 2001 From: Ashley Strahle Date: Wed, 24 Jun 2026 05:58:10 +0000 Subject: [PATCH] Send CC2-11 for button presses (match Loopy Pro) --- src/app_task.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/app_task.cpp b/src/app_task.cpp index 6bf456d..6b7acce 100644 --- a/src/app_task.cpp +++ b/src/app_task.cpp @@ -111,17 +111,14 @@ void AppTask::process_switch_event(uint8_t switch_id, bool pressed) { for (uint8_t i = 0; i < NUM_PADS; i++) { if (pad_mapping[i].physical_switch == switch_id) { uint8_t channel = pad_mapping[i].midi_channel; - uint8_t note = pad_mapping[i].midi_note; - uint8_t velocity = pressed ? 127 : 0; + // Loopy Pro expects CC2 for pixel0, CC3 for pixel1, etc. + uint8_t cc_num = 2 + switch_id; + uint8_t cc_val = pressed ? 127 : 0; - if (pressed) { - midi_transport->send_note_on(channel, note, velocity); - } else { - midi_transport->send_note_off(channel, note, velocity); - } + midi_transport->send_cc(channel, cc_num, cc_val); - Serial.printf("[APP] Switch %d -> Ch%d Note%d Vel%d (%s)\n", - switch_id, channel, note, velocity, + Serial.printf("[APP] Switch %d -> Ch%d CC%d Val%d (%s)\n", + switch_id, channel, cc_num, cc_val, pressed ? "PRESS" : "RELEASE"); break; }