Hey there,
We’ve had several users report an issue when loading our surround reverb plugin in AudioSuite. It works perfectly fine as track inserts, but in AudioSuite, they encounter the Pro Tools error “AAE error -20038.”
After some investigation and discussions with Avid, it seems the issue is tied to the different tiers of Pro Tools (Intro, Artist, Studio, or Ultimate) supporting varying stem formats. Our plugin supports channel configurations up to 9.1.6, but the lower-tier versions of Pro Tools don’t support 9.1.6 and thus refuse to load it in AudioSuite, even for configurations with lower channel counts.
Here’s Avid’s comment on the issue:
In certain circumstances, these systems could end up with a cache file for the plugin that is missing some higher stem formats. Users do not notice the missing stem formats for track inserts because the running Pro Tools tier does not include those track formats; however, when the plugin is instantiated as AudioSuite there is a conflict between the cached plugin data and the run-time description that is provided by the plugin. This leads to the -20038 error.
Based on the juce_AAX_Wrapper logic it appears that JUCE will skip formats that are not reported as supported by the host.
an AAX plugin’s Describe routine should not register different cacheable information depending on the host. If a feature is required for one or more effects in the plugin to function properly then the plugin may return an empty AAX_ICollection, effectively rendering the plugin’s effects invisible on any AAX host that does not support the required features without causing incorrect data to become cached for the plugin. In general, the host feature support flags are not intended to be used to turn certain components or configurations on or off in a plugin, or to affect any of the plugin’s persistently cached data. A plugin may add configurations with stem formats that are not supported by the running Pro Tools tier without causing any problems for Pro Tools.
Given this explanation, is this something that will be addressed and fixed in the JUCE AAX wrapper?
Thanks!
