4fd37b4faf
Web data-only fully wired contre les 20 feeds : dashboard.js : 8 nouveaux handlers (gdelt, wikimedia, tides, moon, atc, pose, mempool, github, rte_eco2mix). Sparklines + seuils alert/warn/green coherents. map.js : marker GDELT (purple) en plus des seismes/foudre/ avions/ISS/volcans, TTL 60s comme les autres ephemeres. control.html : nouvelle section 'Modes visuels (oF / Metal)' avec 9 boutons (storm/tunnel/plasma/kaleido/voronoi/metaballs/ stars/bars/hands3d). Le handler scene-btn est splitte par container (#scenes vs #vizmodes) pour ne pas melanger l'etat actif. server.js : whitelist /control/viz* + routing par path. Les /control/viz* partent vers oF (:57123), tout le reste vers SC (:57121). Nouveau env OF_PORT_OUT. Audit fixes : - LaunchMode displayName Data-only : 'SC + oF + feeds, no web' -> 'SC + Metal viz + feeds + web' (l'ancien libelle datait d'avant le toggle Web UI dans dataOnly). - SettingsPanel : toggle Squelette etiquete '(a venir)' tant que le rendu n'est pas implemente cote MeshRenderer.
AVLiveLauncher
macOS menubar launcher for AV-Live. Starts and stops sclang (which
auto-loads sound_algo/00_load.scd and serves the web UI), the
oscope-of visualizer, and the data_feeds Python bridge (USGS,
SWPC, grid frequency, lightning, pose, etc. → OSC) with one click
each, and aggregates their logs in one window.
Build
Requires Swift 5.7+ and Xcode Command Line Tools.
cd launcher
./build.sh
open build/AVLiveLauncher.app
The first run shows a waveform.path.ecg icon in the menubar. Click it
to open the popover.
Configuration
Three paths are stored in UserDefaults (~/Library/Preferences/cc.saillant.AVLiveLauncher.plist) :
| Default | Override |
|---|---|
/Applications/SuperCollider.app/Contents/MacOS/sclang |
Paths… → sclang binary |
~/Documents/Projets/AV-Live/sound_algo/00_load.scd |
Paths… → load file |
~/Documents/Projets/AV-Live/oscope-of/bin/oscope-of |
Paths… → oscope binary |
/opt/homebrew/bin/uv (or ~/.local/bin/uv) |
Paths… → uv binary |
~/Documents/Projets/AV-Live/data_feeds |
Paths… → data_feeds directory |
What it does
- Spawns
sclang <load_file>with stdout/stderr captured into the log window.sclangitself bootsscsynth, loads the 1099-SynthDef palette, and serves the web bridge on:8080. - Spawns the
oscope-ofbinary with cwd set to its parent directory (so oF can findbin/data/). - Spawns
uv run python bridge.py -vindata_feeds/for the real-world flux → OSC bridge. Off by default (Auto-start data_feeds toggle in Settings to enable). uv auto-syncs the venv on first run. - Quitting the menubar app sends
SIGTERMto all children.