From 6ccd28362fea5f086d577277e181c041f73b8d19 Mon Sep 17 00:00:00 2001 From: Ashley Strahle Date: Thu, 25 Jun 2026 23:32:24 +0000 Subject: [PATCH] Add Generic mode CC value visualization - LED 1 green = CC received - LED 2 color shows CC value range: - Red (0-31) = recording? - Amber (32-63) = queued? - Green (64-95) = playing? - Blue (96-127) = other? - Helps map Loopy Pro Generic mode values to Launchpad palette --- src/app_task.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/app_task.cpp b/src/app_task.cpp index 6dcc400..be0c1d1 100644 --- a/src/app_task.cpp +++ b/src/app_task.cpp @@ -53,6 +53,14 @@ void AppTask::process_midi_event(const MidiEvent& event) { led_driver->flash_one(0, 255, 0, 0, 100); // Note = LED 0 red } else if (event.type == MidiEvent::CONTROL_CHANGE) { led_driver->flash_one(1, 0, 255, 0, 100); // CC = LED 1 green + + // Generic mode: Loopy Pro mirrors back on same CC with state value + // Visualize the velocity/CC value on LED 2-3 + uint8_t val = event.data2; + if (val < 32) led_driver->flash_one(2, 255, 0, 0, 100); // 0-31 = red (recording?) + else if (val < 64) led_driver->flash_one(2, 255, 128, 0, 100); // 32-63 = amber (queued?) + else if (val < 96) led_driver->flash_one(2, 0, 255, 0, 100); // 64-95 = green (playing?) + else led_driver->flash_one(2, 0, 0, 255, 100); // 96-127 = blue (other?) } if (event.type == MidiEvent::SYSEX) {