I’m using the AudioProcessor “program” methods to expose factory presets in my plugins. This works as expected in VST3, but doesn’t work with AAX, since Pro Tools uses its own .tfx file format to load the plugin state from disk.
Is there any functionality I’m missing to generate these .tfx files from the JUCE interface? Even if it was just some post-build step/tool to extract the XML state for each preset defined by the AudioProcessor, then converted to .tfx and packaged into the AAX “Factory Presets” folder.
Seems like this should be doable as a JUCE feature?
Internally, we have some scripts to generate “native” plug-in format presets from our own format.
I haven’t looked at that code for a while but… all formats pretty much contain some headers and data chunks. you just need to read those formats and understand how to construct your binary saved state to be properly contained within them.
But each plug-in might do things a little different so there’s no one fits all approach.
Yeah this is where I imagine there would be a blocker if any. I’m not sure what the restrictions on this would be (code to wrap AAX plugin clients okay, but not a dummy host/script to automate preset generation?). Seems doable on a technical level anyway, but maybe there is additional restriction on anything resembling hosting AAX.
Would be great to get some official response on the possibilities/limitations of this from the JUCE team. Always annoying when the idealized plugin abstractions inevitably break down.
I’ll reach out to Avid dev support in the meantime as well and see if they have any recommendations for targeting multiple formats.