I’m currently testing my plug-ins in Cubase versions 8 and 9 under macOS and Windows to ensure everything as expected.
I also run the VST3 test host unit tests from time to time, as well the VSTScanner that was posted here, and Wavelab LE.
I assume Nuendo uses the same engine as Cubase under the hood, so testing with Cubase should be sufficient (except with surround plug-ins).
I’d like to know what Steinberg recommendations / best practices are in that regard, and possibly what kind of tests you run for your own plug-ins.
I have bought a license for Cubase + regular updates, and it really is not possible to purchase a Nuendo license for testing purposes.
On this topic, Avid have published a detailed test sheet for testing AAX plug-ins inside ProTools etc., and I think that’s quite a neat idea.
Would you consider publishing some kind of recommended/required conformance, feature and stability test sheet for VST/VST3 ?
Hi Yvan, good to know thanks.
So in you opinion I can just skip testing Nuendo and I should be fine ?
Also I wanted to say the ‘Unit test’ feature in the VST3 Plugin Test Host is really great.
However I haven’t found a way to launch the unit test for a specific plug-in from the command line,
which would allow using it inside an automated build/testing environment.
Perhaps this could be put on the idea/todo list ?
Arne, thanks, yes sorry I forgot about this one - I have built it and do use it too.
I’m just wondering if it performs the same checks as the UI version.
When I run vst3 validator (the one with sources in public.sdk/samples), it reports only 35 tests,
where as the binary UI version displays ‘Number of test: 16815’
The VST3PluginTestHost checks more speaker arrangement combinations and has more parameter change tests than the command line tool. And a few tests that we haven’t ported yet to the validator. We may do this in the future.
One thing I noticed is my plug-ins all pass all tests, except for one in the GUI version:
Global Instance > VST3 Conformity > Persistence > Parameter Bypass persistence
→ The Bypass Parameter is not in sync in the controller !
What is strange is that everything works as expected in the host, especially bypassing.
I’ve double checked my code and the ParameterInfo::kIsBypass flag is indeed present for the master bypass.
How should I go about troubleshooting “the bypass parameter is not in sync with the controller!” error from the validator?
What scenarios would cause this?
The processor has implemented the
setState(IBStream*) method
and the EditController has implemented the
itilialize(FUnkown*),
setComponentState(IBStream*)
setParamNormalized(ParamID, ParamValue) methods