The rig is multichannel by design: orbit k is the pair (out_{2k-1}, out_{2k}),
wired to its own Ardour track at a gig. Away from the stage that design means
d1 is the only orbit that can reach a sink — and on a freshly booted laptop
(2026-09-07) not even that: scsynth had NO links to any sink, so the whole box
was silent with every check green.
- tools/fold-orbits.py: fold all orbit pairs onto one stereo sink, summed at
unity. Idempotent, and it VERIFIES — pw-link exits 0 for "File exists" and
for a port that vanished mid-call, so its exit status proves nothing. The
channel count is discovered from the graph (28 today, 12 in an older
comment, 2 on stock SuperDirt), never assumed. Refuses while Ardour runs,
which owns the mix and prunes SC->hardware links every 2 s.
- gig-up.sh --headphones: SuperDirt -> fold -> Pulsar. No Ardour, no fader
restore; the fold becomes the readiness gate, because it IS the whole
monitoring path.
- gig-preflight: `monitor path` check — stage (Ardour receiving on N tracks)
or headphones (fold present), and it asks fold-orbits rather than
re-deriving the port math.
- 18 tests, fixtures captured from the real graph: `pw-link -lo` marks links
by INDENTATION only, so a grep of it fabricates relationships, and a source
port printed with no indented child is the exact state this tool fixes.
Measured, not assumed: 14/14 orbits arrive at the sink (bd swept d1-d14, peak
per orbit), and the links survive 32 s of autoroute reconciling.
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| test-sc-watchdog.sh | Loading commit data... | |
| test_button_roles.py | Loading commit data... | |
| test_fold_orbits.py | Loading commit data... | |
| test_gig_log.py | Loading commit data... | |
| test_lcxl3_display.py | Loading commit data... | |
| test_lcxl_grid.py | Loading commit data... | |
| test_one_tidal_parser.py | Loading commit data... | |
| test_orphan_orbits.py | Loading commit data... | |
| test_scripts_are_executable.py | Loading commit data... | |
| test_setlist.py | Loading commit data... | |
| test_silent_eval.py | Loading commit data... | |
| test_suite_hygiene.py | Loading commit data... |