Two gig-prep deliverables that needed no ears, written at J-10. RUNBOOK.md (#15) — the "when it breaks" playbook, organised symptom-first because that is how it actually gets read: you don't know the cause, you know the sound stopped. Ordered cheapest-first, with an explicit rule zero that rebooting SuperCollider is the LAST resort (30-120s of dead air and every pattern lost) and almost nothing needs it. The section worth having written down is 2b, the zombie control port. Observed live today: a leftover ghc process holds Tidal's port 6010, so a fresh Tidal boots, fails to bind, prints "Can't handshake with SuperCollider without control port" — and Pulsar looks completely normal. You eval and nothing happens, with NO error surfaced in the editor. That is the nastiest class of failure: silent, and indistinguishable from "my code is wrong". Detection is one line (ss -lunp | grep 6010, expect exactly one ghc and it should be the current one), so it's now in the pre-set checklist rather than only in the recovery section. Also captured: the mute-bomb rescue path (prelude.tidal as in-session hot-patch on a stale boot, with the tell that pulling fader 49 to 0 makes it WORSE not better); fader 77 being down as a silent global-gain failure that looks like nothing is broken; Pulsar being frozen NOT stopping audio, since patterns live in ghci and not the renderer, so Window: Reload keeps the music playing; and the LCXL USB-OUT endpoint stall where LEDs die but input survives (replug). Every procedure is labelled by how well it's actually established — §1a/2a/2b/2c/7 have commands verified by running them today, §4/§6 come from documented prior incidents with known-good fixes but weren't re-tested tonight, and §5's gig-up.sh path was read from source rather than exercised end to end. A runbook you have never executed is a hypothesis, and it should say so. docs/2026-07-25-opal-bpm-arc.md (#12 input) — read setcps out of all 12 setlist tracks instead of trusting the backlog's [bpm] markers, and three disagree: - Gimme Acid: 80 measured vs 160 written — almost certainly the standard dnb half-time convention, but it decides where the track sits in the arc. - Sunshine: 144 measured vs 166 written. 22 BPM is far too big to be a rounding note, and it inverts the end of the set: the backlog plans Mafia(160) -> Sunshine(166) as a rising finish, but measured it is a 16 BPM DROP. Either the file drifted or the number was aspirational — needs a decision, since the shape of the finale depends on it. - Desire: 127 vs 129. Trivial, but it's the FINALE, so make them agree. Charted the measured arc and flagged three >40 BPM cliffs (->89, ->80, ->160). The 89 and 80 ones look deliberate — a slow track between fast ones is a real dramatic move — and they are only a problem if the transition is unprepared, which is precisely what the riser audit (#33) and default-xfade (#13) exist to fix. Also noted the 124/124/128 plateau as the most transition-safe stretch in the set. Ordering itself is left as PLN's call; this is only the tempo dimension.
| Name |
Last commit
|
Last update |
|---|---|---|
| .gitea/workflows | Loading commit data... | |
| armada | Loading commit data... | |
| blocks | Loading commit data... | |
| blog | Loading commit data... | |
| copycat | Loading commit data... | |
| docs | Loading commit data... | |
| gifts | Loading commit data... | |
| lib-parvagues | Loading commit data... | |
| live | Loading commit data... | |
| output | Loading commit data... | |
| releases | Loading commit data... | |
| sandbox | Loading commit data... | |
| study | Loading commit data... | |
| test | Loading commit data... | |
| tools | Loading commit data... | |
| utils | Loading commit data... | |
| visuals/slop | Loading commit data... | |
| viz | Loading commit data... | |
| .gitignore | Loading commit data... | |
| BootTidal.hs | Loading commit data... | |
| BootTidal.hs.broken | Loading commit data... | |
| BootTidal.visuals.broken.hs | Loading commit data... | |
| CLAUDE.md | Loading commit data... | |
| FOH_MASTER.md | Loading commit data... | |
| LICENSE | Loading commit data... | |
| PatchBay_MultiChannel.xml | Loading commit data... | |
| PatchBay_Perf.xml | Loading commit data... | |
| PatchBay_Perf5.1.xml | Loading commit data... | |
| README.md | Loading commit data... | |
| RUNBOOK.md | Loading commit data... | |
| SHOPPING_LIST.md | Loading commit data... | |
| backlog.md | Loading commit data... | |
| bullet_train.tidal | Loading commit data... | |
| collide.sh | Loading commit data... | |
| debug.tidal | Loading commit data... | |
| didacticpatternvisualizer.pde | Loading commit data... | |
| gig-up.sh | Loading commit data... | |
| gpu-mode.sh | Loading commit data... | |
| hello.sc | Loading commit data... | |
| init_midi.sh | Loading commit data... | |
| intro.md | Loading commit data... | |
| library.txt | Loading commit data... | |
| link_jack.sh | Loading commit data... | |
| link_samples.sh | Loading commit data... | |
| link_samples_all.txt | Loading commit data... | |
| main_fairbanks.scd | Loading commit data... | |
| notes.md | Loading commit data... | |
| perf-audio.sudoers | Loading commit data... | |
| perf-tray.py | Loading commit data... | |
| perf.sh | Loading commit data... | |
| samples.txt | Loading commit data... | |
| start_and_midi.scd | Loading commit data... | |
| test.tidal | Loading commit data... |