Audio Object Architecture (retired)
The session audio-object layer (audioObjectState.js, audioObjectEditor.js, audioObjectSVG.js, the audio_object_* WebSocket messages, the /api/audio-objects routes and audio-objects.json persistence) has been removed. Sounds are DSL cues in score.svg — audio(), audioPool(), audioImpulse(), synth() — authored in the DSL inspector and run by the normal cue pipeline (parseCueToAST → cueDispatcher → handleAudioCue and friends). Networked clicks on DSL sounds use dsl_audio_* messages.
What stays:
scripts/migrate-audio-objects.mjsturns a project'saudio-objects.jsoninto DSL sounds in the score (see Audio Objects (retired)). It usespublic/js/interaction/configToDSL.js, which the annotation trigger editor also uses.- The server reads
audio-objects.jsononly to log, once per project, that it still has entries and the migration should be run (warnLegacyAudioObjectsinserver/sessionState.js). public/js/cues/audio/cursorRestore.jsclears a sound's saved waveform-cursor params when its last voice stops, so a re-prime does not restart a cursor for a silent sound. It came out of the oldaudioObjectSVG.js; migrated sounds keep theirtrigger-<id>uids, which is what it keys on.
Tip: use ← → or ↑ ↓ to navigate the docs