Skip to content

feat(studio): VST FX panel section behind STUDIO_VST_ENABLED - #2923

Closed
vanceingalls wants to merge 1 commit into
vst-3-studio-previewfrom
vst-4-fx-panel
Closed

feat(studio): VST FX panel section behind STUDIO_VST_ENABLED#2923
vanceingalls wants to merge 1 commit into
vst-3-studio-previewfrom
vst-4-fx-panel

Conversation

@vanceingalls

Copy link
Copy Markdown
Collaborator

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/carve and 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 on main.

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

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.

Copy link
Copy Markdown
Collaborator Author

@vanceingalls

Copy link
Copy Markdown
Collaborator Author

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 uv tool install for users, and no plugin-missing failure mode in the render path.

Measurements behind the decision: https://claude.ai/code/artifact/219fd332-0542-4bcf-a4b7-7b7202e63fde

Branch left intact.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant