OPAL 2026 had NO metadata anywhere — content/lives/ carried 2024 and 2025 entries for the same festival and nothing for this one. Writing it by hand is how wrong strings get copied between files (split_bandcamp.py's ALBUM already did that once), so tools/gig-metadata.py reads every fact from whoever owns it: backlog.md via tools/setlist.py --long -> membership, ORDER, name, bpm, section the .tidal via tools/setlist_samples.py -> the sample packs actually referenced --segments -> timecodes measured off the take The timecodes pay for themselves twice. They came from aligning the gig log to the audio by cross-correlation (r>=0.99 over 20 probes across 11 orbits, 0.00 ms spread), and they let a visualist cut to the set without re-deriving boundaries by ear — which is exactly what Slopmotion needs. OPAL 2026: 15 tracks, 89-166 BPM, 60 sample packs, 1:20:09 — and the set was played in the EXACT planned order, 15 for 15. Also two pan TODOs, measured rather than felt: mafia_sans_serif is width 0.05 and ghosts_in_the_toilets 0.09 (side/mid RMS) against a set median of ~0.20 — the two narrowest tracks of the night, and they played back to back. Both files also carry PLN's own gig-day edits; both still pass silent-eval --seeded.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| at | Loading commit data... | |
| bridge | Loading commit data... | |
| foundry | Loading commit data... | |
| pulsar-parvagues-hud | Loading commit data... | |
| pvlint | Loading commit data... | |
| tests | Loading commit data... | |
| README.md | Loading commit data... | |
| analyze_samples.py | Loading commit data... | |
| button_roles.py | Loading commit data... | |
| cheat-sheet.py | Loading commit data... | |
| check-audio-graph.sh | Loading commit data... | |
| check-boot-blocks.py | Loading commit data... | |
| check-boot.sh | Loading commit data... | |
| check-drift.sh | Loading commit data... | |
| check-mix.py | Loading commit data... | |
| check-preload.sh | Loading commit data... | |
| check-tracks.sh | Loading commit data... | |
| control-lens.py | Loading commit data... | |
| deshadow-helpers.py | Loading commit data... | |
| fader-baseline.py | Loading commit data... | |
| fan_check.sh | Loading commit data... | |
| fix-button-roles.py | Loading commit data... | |
| fix-mute-roles.py | Loading commit data... | |
| gen_tokens.py | Loading commit data... | |
| gen_ts_types.py | Loading commit data... | |
| gig-log.py | Loading commit data... | |
| gig-metadata.py | Loading commit data... | |
| gig-up.sh | Loading commit data... | |
| gig_record.sh | Loading commit data... | |
| lcxl-init.py | Loading commit data... | |
| lcxl-leds-watch.service | Loading commit data... | |
| lcxl-leds.py | Loading commit data... | |
| lcxl_grid.json | Loading commit data... | |
| lcxl_grid.py | Loading commit data... | |
| migrate-columns.py | Loading commit data... | |
| mock-lcxl.py | Loading commit data... | |
| mute.tidal | Loading commit data... | |
| orphan-orbits.py | Loading commit data... | |
| parvagues-sc-watchdog.service | Loading commit data... | |
| probe-chain.py | Loading commit data... | |
| sample_tfidf.py | Loading commit data... | |
| sc-watchdog.sh | Loading commit data... | |
| set-coherence.py | Loading commit data... | |
| setlist.py | Loading commit data... | |
| setlist_samples.py | Loading commit data... | |
| shipowiz.py | Loading commit data... | |
| silent-eval.py | Loading commit data... | |
| solo.tidal | Loading commit data... | |
| surface-columns.py | Loading commit data... | |
| take-lens.py | Loading commit data... | |
| take-master.py | Loading commit data... | |
| take-segments.py | Loading commit data... | |
| tempo-lens.py | Loading commit data... | |
| tidal-remote.py | Loading commit data... | |
| tools.png | Loading commit data... | |
| unmute.tidal | Loading commit data... | |
| unsolo.tidal | Loading commit data... |