I am updating existing AAX plugin to JUCE 4. I’ve checked backward compatibility and it seems fine - old projects are loading fine using the new version of plugin.
Next, i’ve updated AAX SDK from version 2.2.1 to 2.3.x. Suddenly old projects won’t open anymore - plugin can not be found ??. Strangely enough, i can see new plugin available on a plugin list, but instances already in the project simply won’t load/can’t be found.
New plugin has completely new bus management (JUCE4), but otherwise it is basically the same - name, number of channels, signature etc… And it is loaded when using AAX SDK 2.2.1. It just doesnt work with 2.3.1 and 2.3.2.
Now i am trying to find out, what could break this backward compatibility. Any ideas what should i look for ??
breaking-changes log might provide some details. did you implement the new layouts code (the old one imho is pretty broken)?
This might help -
Possible Issues
---------------
ProTools projects generated with a < 4.3.0 JUCE versions of your plug-in, may
load the incorrect bus configuration when upgrading your plug-in to >= 4.3.0
versions of JUCE.
Workaround
----------
Implement AudioProcessor’s getAAXPluginIDForMainBusConfig callback to manually
override which AAX plug-in id is associated to a specific bus layout of your
plug-in. This workaround is only necessary if you have released your plug-in
built with a version previous to JUCE 4.3.0.
I’d strongly suggest reading all the changes between your last release and current JUCE.
Yes, every time i switch to different SDK, i did full rebuild of the AAX library and plugin. Maybe the latest SDK exposes the issue inside new plugin related to breaking changes …
I’ve overriden plugin’s getAAXPluginIDForMainBusConfig() method to ensure the proper plugin IDs for supported configs. Now it is working in all situations tested with all SDK versions.