AAX Automation Not Working

I’m encountering a very strange issue currently in our under-development plugins.

We’ve migrated to JUCE 5.4.3, and we’re using the AudioProcessorValueTreeState but with custom parameter subclasses and custom parameter attachment classes.

Our method has been to lump automation gestures together, so when a user begins interacting with controls we grab any parameter that’s about to change and call beginChangeGesture(). When the user is done interacting (drag or scroll, etc.) we go through the collected parameters and call endChangeGesture() and clear out the collection array.

Testing the system out in AU on Logic, or VST in hosts like Reaper, it works fine. A drag begins the gesture for the “target” parameter, and other parameter changes (for example, EQ bands “bumping” each other around for bandwidth constraints) correctly start and stop as well.

On AAX, none of this works at all. I can actually breakpoint and see the calls to TouchParameter() and ReleaseParameter() being made in the AAX wrapper, and the parameters update via SetParameterNormalizedValue() in that wrapper.

The resulting behaviour on AAX is that the automation lane doesn’t add new points, but the original point at the timeline start jumps up to the parameter’s current value at the time of releasing the control.

I have encountered issues in Pro Tools if you “start” multiple gestures on the same parameter without ending them, but in my debugging I haven’t encountered multiple “starts” or “ends” for a given parameter. All parameters start and end only once per interaction, and the times those occur are correct.

Has anyone encountered this kind of issue? I don’t immediately see any differences in the AAX wrapper between v5.3.2 and v5.4.3 that would be related to this, the changes are mostly around AudioSuite plugin instantiations.

Did you apply the fix which was just committed yesterday regarding a missing return?


Yep! That had solved our previous issue I described in that post, where parameters wouldn’t show up since their IDs varied from our PageTable.

Unfortunately this automation problem still remains after that commit

This sounds somewhat related, but I also consistently only get the “read” automation mode colour in my control highlight callback…

Wow, obviously I don’t use Pro Tools enough… Window > Automation, and make sure the correct buttons are enabled and that “Suspend” is off.