VST3 Host: Automation when plugin processing is suspended

Hey community!

I may have found an issue with the JUCE audio plugin hosting features, specifically for VST3. JUCE 7.02 (release), windows.

It looks like parameter updates to the plugin are only passed to the plugin editor if there are regular calls to processBlock. This is due to the parameter update caching scheme, which is a neat idea, but will lead to parameters not being remote controllable from the host if processBlock is not called. Parameter updates are not reflected in the (otherwise operational) plugin UI after a parameter->setValue.

In my opinion, this should work though. A plugins audio processing being suspended is not an uncommon scenario in several hosts. Think of things like batch processors, that are intended for offline export only and do not need realtime audio output. Or hosts like Logic which tends to suspend effect plugins (but still provides control surfaces for it).

I can’t work around this since the responsible VST3 specific code is hidden deeply within private implementation. Something like a “flush cached parameter changes” that I can call from a timer callback would totally suffice.

Am I overlooking something, or are my conclusions correct / is this something the JUCE devs might look into?

Thanks!

1 Like