AAX plugins are silently broken

In the latest juce breaking changes:

AudioProcessor::getAAXPluginIDForMainBusConfig() has been deprecated.

Possible Issues
Any AudioProcessor overriding this method will fail to compile.

getAAXPluginIDForMainBusConfig has been made private. However, that doesn’t cause plugins to not compile. A private virtual function can be overridden by derived classes, but can only be called from within the base class. Instead the return type should be changed, since a virtual function can not differ by return type only.


I did notice this commit on the develop branch so I was aware of it.
But thinking of it more,
A nicer thing would be to deprecate it first or at least resulting a compile error.

Not causing a compilation error may have been acceptable if that function, overridden in the derived classes, were still called for backwards compatibility.
Maybe that was the intention of the JUCE team? But I can confirm that with the new implementation that function is never called, silently resulting in the plug-ins to revert to the default identifiers.

Good catch @RolandMR I think this ones on me, I think I wanted a compilation error to force the change. Clearly didn’t test that though! I’ll take a look now.

I’ve pushed a change - I’ve settled for just removing the function entirely unfortunately I couldn’t get a much more helpful error message so I think people will have to just rely on the breaking changes document for this one.