Skip to content

VST3: Avoid re-querying parameter count while initialising parameters#1660

Open
tjwrona wants to merge 1 commit into
juce-framework:developfrom
tnt-coders:fix-vst3-parameter-enumeration
Open

VST3: Avoid re-querying parameter count while initialising parameters#1660
tjwrona wants to merge 1 commit into
juce-framework:developfrom
tnt-coders:fix-vst3-parameter-enumeration

Conversation

@tjwrona

@tjwrona tjwrona commented May 18, 2026

Copy link
Copy Markdown

Summary

This changes the VST3 hosted-parameter initialisation loop to snapshot
IEditController::getParameterCount() once before enumerating parameters.

The existing code re-queries getParameterCount() in the loop condition while constructing
VST3Parameter wrappers and fetching parameter info. We saw Neural DSP's
Archetype Gojira X.vst3 fail to instantiate through JUCE's VST3 hosting path until this count was
made stable for the initialisation pass.

getAllParamIDs() already follows the same snapshot-before-iteration pattern nearby.

Related issue: #1659

Testing

  • Ran git diff --check
  • Verified the local change fixes loading Archetype Gojira X.vst3 in the downstream host

@tjwrona

tjwrona commented May 18, 2026

Copy link
Copy Markdown
Author

Note that this patch seemed to also noticeably reduce the plugin load time for other heavy Neural DSP plugins.

@reuk

reuk commented May 22, 2026

Copy link
Copy Markdown
Member

Thanks for reporting, a fix is available on the juce9 preview branch:

f8fa54b

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.

2 participants