feat(plugins): qualify host VST3 chains and refresh the DAW gallery (phase 89)

This commit is contained in:
Johannes Findeisen 2026-11-06 01:50:25 +01:00
commit 26ace28bb5
73 changed files with 344 additions and 18 deletions

View file

@ -65,3 +65,30 @@ Edits are prepared and undoable, with finite range validation. Internal sync
parameters follow project tempo. This is mono amplitude blending; stereo track
insert layouts, latency compensation and gapless live insert edits are future
work. Editing stops transport before preparing the replacement plan.
The CLI `xtc-check --inspect project.xtc` lists insert format, slot order,
bypass/wet settings and missing binary references without loading plugins.
VST3 processing supplies a fixed output-parameter sink (64 IDs, final point per
ID/block) for plugins that emit meter/parameter notifications; notifications are
not recorded or exposed as controls.
Host qualification on 2026-11-06 used the installed Linux x86_64 ZamEQ2,
ZamAutoSat and ZamDelay VST3 binaries under `/usr/lib/vst3`. All three were
prepared together, rendered with nonzero finite output and exported to WAV.
This verifies those default mono configurations, not arbitrary plugins or
physical hardware. The repository fixtures cover LADSPA, CLAP, VST2 and VST3
insert adoption and VST3 output notification bounds. Internal-plan allocation
failure and callback guards, sanitizers, GUI/JACK lifecycle and install checks
cover host ownership and cleanup.
Reproduce focused verification with:
```sh
make BUILD_DIR=build/audio-editor test-track-fx test-gui-track-fx
XTC_TEST_HOST_VST3=1 ./build/audio-editor/test_track_fx
```
The host opt-in requires the three named Zam bundles; the normal tests use
internal devices and controlled fixtures. The screenshot tool's
`XTC_CAPTURE_HOST_VST3=1` mode captures those real host plugins; see
[screenshots/README.md](../screenshots/README.md).