I’ve been reverse-engineering the SL Compact’s feedback protocol to enable full LED and LCD integration with Bitwig, and I’ve been studying Jürgen’s framework in depth — especially `SLControlSurface`, `SLDisplay`, `RawColorLightState`, and the `setTrigger` and `onUpdateHardware` pathways.
For context, I’m working specifically with a **25SL Compact controller**, using **Bitwig 5.2** and the **DrivenByMoss-24.3.0-Bitwig.zip** files.
Here’s what I’ve confirmed so far:
- SysEx header: `F0 00 20 29 03 00 12 00 04 00`, command: `02 01 00`
- LCD displays “Please start Bitwig…” on shutdown
- Protocol matches MkII structure (ROW_MAP, ASCII payloads)
- CC messages like `B0 18 7F` (button ID 24) have no effect
- MkII-style SysEx with `03 00` header and commands `01`, `03`, `04` fail to light LEDs
- Automap ON (`F0 00 20 29 03 00 12 00 04 00 01 01 F7`) triggers LCD response, but LED messages still ignored
Questions:
1. Does the 25SL Compact support LED feedback via CC, SysEx, or another mechanism?
2. If SysEx is used, what format or command structure is expected?
3. Is LED feedback routed through a non-MIDI USB endpoint?
4. Are there template/mode requirements for LED feedback to be accepted?
I’m building a reproducible integration layer for legacy Novation controllers and would greatly appreciate any insight — even a brief pointer would help.
Warm regards,
Jose