Added VST SDK support.

This commit is contained in:
Johannes Findeisen 2026-11-06 18:13:49 +01:00
commit 8e09f58944
25 changed files with 850 additions and 23 deletions

View file

@ -233,9 +233,10 @@ parameters.
Choose the actual binary: `.clap` for CLAP, a VST2 `.so` exporting
`VSTPluginMain`, or a VST3 bundle's `Contents/<architecture>-linux/<module>.so`
exporting `ModuleEntry`, `ModuleExit` and `GetPluginFactory`. The chooser does
not resolve bundle directories or recursively scan plugin folders. On Linux this
avoids executing unrelated plugins just to discover one selected module.
exporting `ModuleEntry`, `ModuleExit` and `GetPluginFactory`. The C API also
accepts conventional `.vst3` bundle paths and resolves the matching architecture
and bundle-stem binary. The file chooser may require selecting the inner binary;
no recursive plugin-folder scan is performed.
Auto-detection prefers CLAP, then VST2, then VST3, otherwise LADSPA; the C API
also provides `xtc_plugin_probe_format` for an explicit format.
@ -312,3 +313,9 @@ Do not unload/replace modules during playback; candidate plans are prepared off
the callback and old instances are reclaimed on the control thread. Missing
references remain inspectable without loading; failed GUI preparation retains
the current project. Save a backup for applications limited to v11 or earlier.
Phase 106 adds [official SDK examples and qualification](STEINBERG.md), including
VST3 process context (sample position, rate, tempo and musical position), an
SDK-built gain/synth pair and a WAV render example. Native Windows ASIO remains
in progress; the optional ASIO SDK example currently provides device diagnostics.