Commit c63dd3d3 by PLN (Algolia)

fix(gig): boot the real start_and_midi.scd, not stale main_fairbanks — root of…

fix(gig): boot the real start_and_midi.scd, not stale main_fairbanks — root of silent synths & orbit errors

gig-boot.scd chained main_fairbanks.scd (scratch: 8 output channels, 8 orbits)
BEFORE start_and_midi.scd. main_fairbanks booted the server first, so PLN's
real boot found it already up and its options were ignored — losing the 28
channels, 14 orbits (d1..d12 + ears test), SCLOrkSynths.load, the MI global
effects, StageLimiter + s.volume=2. Net live: d9-d12 silent, bassWarsaw/
FMRhodes1 never loaded, orbit 8/10/11 errors spamming the post window.

Fix (#18 simplification): launcher runs PLN's canonical sclang start_and_midi.scd
directly; gig-boot.scd retired; main_fairbanks.scd kept as reference only.
Apply = FULL sclang/scsynth restart (running scsynth keeps 8-ch options).
parent e359a343
// gig-boot — canonical 1-click gig boot, loaded by gig-up.sh.
//
// Runs the real SuperDirt boot (main_fairbanks.scd: server + SuperDirt on :57120 +
// MIDIClient.init + note handlers) followed by the LaunchControl XL CC->OSC bridge
// (start_and_midi.scd — the fader/knob handlers). One eval = a fully armed rig.
//
// gig-up.sh runs this, then waits EXTERNALLY (scsynth up + :57120 listening + a
// SuperCollider ALSA-seq MIDI client present) before it starts Ardour — so Ardour
// can never grab the LaunchControl before SuperDirt has, killing the old
// disconnect/reconnect dance. Loaded by relative path so the repo stays portable.
(
var dir = PathName(thisProcess.nowExecutingPath).pathOnly;
thisProcess.interpreter.executeFile(dir ++ "main_fairbanks.scd"); // SuperDirt (async boot)
thisProcess.interpreter.executeFile(dir ++ "start_and_midi.scd"); // LCXL CC -> /ctrl bridge
"gig-boot: SuperDirt boot + MIDI bridge dispatched (SuperDirt finishes loading async).".postln;
)
......@@ -8,7 +8,7 @@
# MIDI, and only THEN start Ardour + Pulsar.
#
# Order:
# 1. sclang gig-boot.scd (SuperDirt on :57120 + LCXL CC->OSC bridge) in a terminal
# 1. sclang start_and_midi.scd (SuperDirt on :57120 + LCXL CC->OSC bridge) in a terminal
# 2. wait for READY = scsynth alive + :57120 listening + a SuperCollider MIDI client
# 3. Ardour (the Tidal Multi session) — now it can't beat SuperDirt to the LCXL
# 4. Pulsar (the Tidal folder)
......@@ -48,11 +48,11 @@ open_term(){ # open a new terminal running the headless sclang gig-boot
local term; term="$(pick_term)"
if [ -z "$term" ]; then
warn "no terminal emulator found — running SuperDirt in the background (post → $DIR/gig-sclang.log)"
( cd "$DIR" && QT_QPA_PLATFORM=offscreen setsid sclang gig-boot.scd >gig-sclang.log 2>&1 & )
( cd "$DIR" && QT_QPA_PLATFORM=offscreen setsid sclang start_and_midi.scd >gig-sclang.log 2>&1 & )
return
fi
# konsole/gnome-terminal want `-e`; most others accept it too.
setsid "$term" -e bash -lc "cd '$DIR'; QT_QPA_PLATFORM=offscreen sclang gig-boot.scd; exec bash" \
setsid "$term" -e bash -lc "cd '$DIR'; QT_QPA_PLATFORM=offscreen sclang start_and_midi.scd; exec bash" \
>/dev/null 2>&1 &
}
......@@ -78,7 +78,7 @@ info "gig-up — ordered launch from $DIR"
if scsynth_up; then
ok "SuperDirt already running — skipping boot."
else
info "starting SuperDirt (sclang gig-boot.scd, headless)…"
info "starting SuperDirt (sclang start_and_midi.scd, headless)…"
open_term
fi
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment