I’ve now been using the juce VST3 hosting classes for a few months and I’m quite happy with it.
Way more digest than the Steinberg SDK.
I’m just missing a couple accessors to make my life easier:
- it’s not possible to have hands on the host name which gets reported to a plug-in. The current implementation is always using the module name to provide host name to the plug-ins. Which is not accurate in the case your hosting implementation lays inside a DLL on windows for instance (the plug-in gets the DLL name instead of the Application name). Maybe this could be addressed at the AudioPluginFormat class level (constructor?) to make it consistent across the different plug-in formats (e.g. VSTPluginFormat uses JuceApplicationBase’s name… at the moment)
- I don’t expect to see all the many super specific Steinberg optional interfaces to be handled in the Juce VST3PluginFormat, it’s normal. Access to the IComponent interface is already great since it covers most interfaces (e.g. if you need to provide IAudioPresentationLatency support) . But, sometimes, you need access to the IEditController interface (e.g. for further parameters info you might need in your automation engine). Since that interface is not necessarily available through the IComponent object, this would take another getPlatformSpecificData() accessors.
Do these make any sense?