-
feat(rig): the boot now LIGHTS the controller — gig-up and tidal-remote both paint it · 90f20cf7
The painter existed as of the previous commit but nothing called it, which is exactly how the surface went dark in the first place: the only LED path was the Pulsar HUD, so the board was lit only when the editor happened to be open AND its frame pipeline was healthy. #57 says that pipeline latches an early empty frame. A rig whose feedback depends on an editor being up is a rig with no feedback. So both boot paths paint now: * tools/tidal-remote.py boot becomes a 5-step dance — reboot, wait for BootTidal, seed the surface (lcxl-init), PAINT it (lcxl-leds --map <track>), eval. Order matters and is unchanged in spirit: the seed gives every `^NN` a value instead of `silence`, and the paint makes that state visible. Per-track, so the board is a map of the file about to play: dark = this track does not bind that control. * gig-up.sh paints at step 2b, the moment the rig owns MIDI — BEFORE Ardour and Pulsar are even launched, using the no-track CONVENTION paint so there is always something to look at. GIG_LEDS=watch additionally starts the touch-reactive daemon (log → gig-leds.log, gitignored); GIG_LEDS=off skips the whole thing. Both call sites are NON-FATAL on failure and say so out loud. LEDs are feedback, not sound: a dark board is annoying, a boot that aborts because of a dark board is a lost gig. gig-up additionally names the one thing software cannot fix — if input works but the board stays dark, that is a USB OUT endpoint stall and only a REPLUG clears it. Both messages refuse to claim success: "a clean exit is not a lit LED". amidi/aseqsend returning 0 means the bytes left the machine, nothing more. Validation: bash -n on gig-up.sh, ast.parse on tidal-remote.py, and the paint command itself run against the live device (rc=0, 40 LEDs in one 89-byte SysEx write). NOT run: tidal-remote boot, deliberately — PLN is measuring audio in this same rig right now and a reboot would trash his results. The 5-step path is verified structurally, not live.
PLN (Algolia) authored90f20cf7
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| api | Loading commit data... | |
| escales | Loading commit data... | |
| manifeste | Loading commit data... | |
| semaphore | Loading commit data... | |
| tasks | Loading commit data... | |
| tide-table | Loading commit data... | |
| ui | Loading commit data... | |
| .gitignore | Loading commit data... | |
| DESIGN.md | Loading commit data... | |
| PRODUCT.md | Loading commit data... | |
| README.md | Loading commit data... | |
| serve.py | Loading commit data... |