feat(studio): VST FX panel section behind STUDIO_VST_ENABLED - #2923
feat(studio): VST FX panel section behind STUDIO_VST_ENABLED#2923vanceingalls wants to merge 1 commit into
Conversation
The audio element's FX section: plugin chain rows, the native editor handoff, and the "make room for voiceover" carve control that calls POST /vst/carve and writes the resulting bands into the chain file. Off by default. STUDIO_VST_ENABLED (VITE_STUDIO_ENABLE_VST=true) gates the whole section, so this is unreachable in a normal studio session until the pipeline has been exercised more broadly.
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
|
Superseded by the Web Audio implementation. The sidecar approach is replaced by running Web Audio graphs on both ends: the studio previews in a live AudioContext, and the engine renders the same graphs in an OfflineAudioContext inside the headless browser it already drives. One implementation per effect, so preview matching render is a property of the architecture rather than a tolerance to police — which is what made the four effects that diverged under JUCE (compressor, limiter, chorus, phaser) stop being a problem. That also retires the reasons this was cancelled in the first place: no spawned sidecar process, no external GPL repo, no Measurements behind the decision: https://claude.ai/code/artifact/219fd332-0542-4bcf-a4b7-7b7202e63fde Branch left intact. |

Stack 5/5 — replaces #2602–#2605. Base: #2922.
The audio element's FX section: plugin chain rows, the native editor handoff, and the "make room for voiceover" carve control that calls
POST /vst/carveand writes the resulting bands into the chain file.Off by default behind
STUDIO_VST_ENABLED(VITE_STUDIO_ENABLE_VST=true), which was already introduced in #2922 — so unlike the original stack, no window exists where an ungated FX section is onmain.Files arrive pre-split (
propertyPanelVstSection/VstCarveSection/VstPluginRows/VstShared) rather than being written large in one PR and split in the next.🤖 Generated with Claude Code