Files
AV-Live/launcher
L'électron rare 0eebcb3aec feat(data-only): dashboard web + carte monde
Pipeline web data-only complet :

Cote feeds, OSC target :57124 ajoute au profil data-only.toml
pour que le bridge.py diffuse vers : SC (57121) + oF (57123)
+ Web (57124).

Cote web (data_only_viz/web/) :
- server.js : Express :3211 + WS broadcast + osc UDP :57124
  parse les paths /data/<feed>/<sub> en JSON et diffuse
- public/dashboard.html : grille de cards live avec sparklines
  SVG vanilla (USGS, SWPC Kp/wind/Bz/X-ray, Blitz, OpenSky,
  Bluesky, meteo, air, ISS, volcans, social_buzz, grid)
- public/map.html : Leaflet dark fullscreen avec markers
  ephemeres (60s TTL) pour seismes/foudre/avions/volcans +
  marker ISS persistant qui suit la position

Cote launcher :
- ProcessManager : startDataWeb / stopDataWeb + openDataDashboard
  / openDataMap, port :3211 hardcode, script attendu a
  metalVizDir/web/server.js
- MenuBarContent : nouvelle row 'Dashboard data-only' en mode
  .dataOnly et .bodyMesh + boutons Dashboard/Carte monde quand
  le serveur tourne
- stopAll inclut dataWebProc
2026-05-13 16:50:54 +02:00
..
2026-05-13 10:56:55 +02:00

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. sclang itself boots scsynth, loads the 1099-SynthDef palette, and serves the web bridge on :8080.
  • Spawns the oscope-of binary with cwd set to its parent directory (so oF can find bin/data/).
  • Spawns uv run python bridge.py -v in data_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 SIGTERM to all children.