AAX Compare modification not working in Juce 7?

We modified the AAX wrapper in Juce to implement the CompareActiveChunk function. But we also added the flag JucePlugin_AAXDisableDefaultSettingsChunks=1 to the builds. This worked in Juce 6.x, but appears broken now in Juce 7. When we use that flag, the CompareActiveChunk function no longer gets called. Might be something we need to modify in the wrapper to make it work again, but since we cannot see how that code gets called (the host calls it directly), it’s difficult to know what to change.

One hint might be that the “default” chunk size is assumed to be 0 when that flag is set? I know that if we use code to prevent saving the chunk data the very first time getStateInformation in called (in the first instance to be opened), then that sets the chink size to 0, which also prevents the compare function from being called. So maybe using the flag does the same thing?

(We’re on 7.0.5, by the way.)

1 Like

Anyone seen this issue, where using the JucePlugin_AAXDisableDefaultSettingsChunks flag breaks the Compare functionality? Does anyone else even IMPLEMENT the AAX Compare functionality? In our previous version, which used Juce 6, it worked, but with Juce 7 the CompareActiveChunk never gets called if we use that flag. Same with GetNumberOfChanges, which is what triggers the Compare to get called normally (when its return value changes). So if it’s never even asking if anything has changed, then it will never run the compare function to check it.

Looks like it’s working “as designed”. Compare only uses the current preset, and with that flag set, there is no preset selected. (Well, is “selected”, but it is size 0). But if you save the current settings as a preset (or select an existing preset), then the Compare does work. Guess we’ll have to note that for users in an FAQ.