There apparently is an automation issue which happens after selecting presets using the aaxwrapper in SDK v3.6.9. It can easily be reproduced using again_aax:
In Pro Tools instanciate again_aax.
Create and save 2 or more presets with different gain settings using Pro Tools’ preset browser.
Add gain parameter to automation list.
Switch to e.g. write automation mode.
Start playback and switch between the presets created in 2.
Stop playback and reset to initial timeline cursor.
Switch to read mode.
Restart playback.
Expected result: Automation follows the gain parameter settings according to presets selected while writing the automation.
Actual result: Gain parameter doesn’t change. It seems as if the automation values aren’t reported to the host properly.
Switching presets per se works fine, it’s just that the according parameter changes aren’t transferred back to the host. It may have to do something with the fact that Vst2Wrapper::setChunk() is scheduled for a later call in onTimer(), which happens if AAXWrapper_Parameters::SetChunk() isn’t called from the main thread.’
My assumption is that either the automation value reported back to ProTools reflects the parameter’s old state or there isn’t any reporting going on at all. I’d need to investigate further in order to confirm that. I also assume there weren’t any changes regarding that in 3.6.10 given that the wrapper has been refactored? At least it doesn’t have to do with the fixes suggested in my recent PRs.
I’m sure there are more elegant ways to iterate and set all aaxParams, but I think you get the point. This mechanism allows to distinguish between normal chunk updates that the host is aware of e.g. when restoring a session and internal changes imposed by preset switches currently not transferred back to Pro Tools.