fix(launch): the guard that could not see Ardour, the gate that was in the other…
fix(launch): the guard that could not see Ardour, the gate that was in the other script, the window that never closed Three things PLN hit in one launch. ARDOUR RELAUNCHED OVER A RUNNING ONE. The guard was `pgrep -f 'ardour-[0-9]'`, and `/usr/bin/ardour` is a BASH WRAPPER that execs the real binary out of /usr/lib/ardour8 — so for the first second of a launch the process is `bash /usr/bin/ardour …` and that pattern misses it entirely. Re-run gig-up inside that window and the second Ardour fights the first for the session lock. Now matches the wrapper AND the exec'd name, both bracket-tricked so pgrep cannot match the command line asking the question. Verified against the live box: neither pattern catches tidal-ardour-autoroute, which runs permanently and would otherwise have made the guard always true. THE PRELOAD GATE WAS IN THE SCRIPT NOBODY LAUNCHES. There are two gig-up scripts with separate histories: this one (528 lines, what parvagues.desktop runs) has the readiness gate, cut-gpu, the headphones fold and the fader restore; tools/gig-up.sh (620 lines, what the Bridge's RIG UP runs) has check-preload, --bt-off and check-boot. Neither is a superset, and both accept --converge and --quiet, which is exactly how it stayed invisible. So the path PLN actually presses never checked whether the set's banks are warmed — the failure check-preload.sh's own header calls "debuted as a crackle at the venue". Added here as REPORT ONLY: `--fix` regenerates a load-bearing boot file, and doing that at a venue is the landmine rather than the cure. Output is filtered to the verdict and any MISSING banks; the 66-name "warmed on purpose" roster is dropped, because at a venue the useful output is one line long. THE TERMINAL STAYED OPEN AFTER A CLEAN LAUNCH. `kitty --hold` was a real fence — GNOME's Terminal=true handler is not guaranteed to exist and the boot log is what you want when a launch goes sideways — but holding on SUCCESS left a dead window parked over the rig all night, and on stage every window that is not the music is in the way. tools/gig-up-window.sh tees the log to ~/.cache/parvagues/gig-up.log every time, keeps the previous one as .log.1, and holds the window only on a non-zero exit. A file beats a held window on both counts: it survives the window and it survives success. It is a separate file rather than a longer Exec= line because the desktop spec reserves `" $ & ; | < > ( )` inside Exec, so a pipeline with a conditional read has to be escaped twice and breaks silently on the third edit. Merging the two gig-up scripts is the right fix and is NOT a two-days-out job — design landing separately.
Showing
tools/gig-up-window.sh
0 → 100755
Please
register
or
sign in
to comment