Skip to content

Plugins: discover supported VST3 channel layouts - #98

Merged
emaspa merged 1 commit into
mainfrom
feature/vst3-mono-layouts
Sep 12, 2026
Merged

Plugins: discover supported VST3 channel layouts#98
emaspa merged 1 commit into
mainfrom
feature/vst3-mono-layouts

Conversation

@emaspa

@emaspa emaspa commented Sep 12, 2026

Copy link
Copy Markdown
Owner

Changes

  • Discover the mono/stereo layouts a VST3 plugin actually accepts instead of treating its default bus width as its only layout.
  • Offer compatible effects on XLR mic chains and use the same capability rule in the host, catalogue, picker and command validation.
  • Preserve old-daemon/cache behavior when width metadata is absent; an explicitly empty supported-width list does not fall back to port counts.
  • Validate same-id replacements against the new plugin, while allowing existing incompatible entries to be removed.
  • Extend lifecycle diagnostics with channel count, tone frequency and parameter settings. Keep the De-Esser editor compatibility block unchanged.

Verification

  • EQ 1.3.0.110, Compressor 1.0.1.142, Noise Removal 1.1.2.119 and De-Esser 1.0.1.133 all negotiated true mono and stereo.
  • Non-default processing verified in isolated mono instances: EQ low cut attenuated the tone to zero; Compressor reduced peak 0.250 to 0.004; Noise Removal gated it to zero; De-Esser reduced a 6 kHz tone from 0.234 to 0.034. Stereo results matched.
  • Stereo-only Dragonfly Plate Reverb remains stereo-only. The LSP module retained its layout split, with about 0.2 seconds extra on a 17-second scan.
  • Combined native-enabled build: 0 warnings/errors, 530 tests passed, 3 opt-in desktop tests skipped. Native audio, CLAP and editor tests passed.
  • Width tests also pass without a native helper installed, matching clean CI ordering.
  • Local deployment advertises [1,2] for all four Elgato effects. Elgato EQ was observed running on XLR 1 without error, and local testing was confirmed working. De-Esser's native editor remains blocked.

One Noise Removal test's Wine child exited with status 58 at unload after processing and editor checks completed; this was not reproduced in the other runs. No system Wine changes, version bump or release changes.

Probe mono and stereo arrangements instead of treating default bus widths as the only layouts. Offer compatible VST3 effects on the XLR inputs, preserve old catalogue behavior when layout metadata is absent, and refuse incompatible new inserts.

Keep same-id replacements subject to validation, make width tests independent of optional native-host installation, and extend lifecycle checks to verify real mono processing.
@emaspa
emaspa merged commit bc1501b into main Sep 12, 2026
4 checks passed
@emaspa
emaspa deleted the feature/vst3-mono-layouts branch September 12, 2026 19:26
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