Files
Vance Ingalls efe643c37e feat(studio,core,player): stream VST-processed audio in the studio player
Wires the browser half of the pipeline. The sidecar returns processed PCM over
one WebSocket, which a ring buffer feeds to an AudioWorklet so a track plays
its wet signal in preview.

The whole app shares exactly one sidecar connection, mounted once in
NLEProvider and handed to consumers through context. The wire protocol cannot
safely tell two independent connections apart, so a second connection is a
correctness problem, not just overhead.

Because the worklet now owns a VST track's audio, the element itself must stay
muted. Every place that writes .muted or .volume across media elements — the
runtime control bridge, the player's parent-media adoption, the timeline scrub
helper — skips elements marked data-vst-chain. Without that, an unrelated
volume or mute change silently swaps the processed stream back for the
untreated one.

STUDIO_VST_ENABLED gates the surface off by default from its first commit, so
no partially-wired FX UI is reachable while the stack lands.

The VstHostApi contract lives in propertyPanelVstShared (a plain module) rather
than in the panel component, so these hooks no longer import their own
interface back out of the UI layer.
2026-07-31 02:24:18 -07:00
..
2026-07-30 10:38:10 -07:00
2026-07-30 10:38:10 -07:00