Does JUCE provide support for AAX DSP, the hardware-based version of AAX?
Also currently juce isn’t really decoupling editor(s) and processor(s).
Maybe compiling SOUL into AAX DSP one day? That would be nice!
Yes, you can use the JUCE GUI for AAX DSP plug-ins.
I’ve written a couple of AAX DSP plug-ins which use JUCE.
Like RJR, I have written AAX DSP plug-ins using JUCE. It is possible to use JUCE to build AAX DSP plugs, but AAX DSP is not supported by JUCE.
In other words, be prepared to substantially modify JUCE to accomplish this task. Avid’s examples of using JUCE for building AAX plugs are phenomenally out of date (using something like v1.5.3 of JUCE) and don’t easily allow supporting other formats (AU/VST/VST3). Modern JUCE supports AAX Native alongside AU/VST/VST3 but does so in a way that is not easily modified to encompass AAX DSP.
I have repeatedly entreated both ROLI and Avid to work together to bridge this gap, but neither seems particularly inclined. Avid has no interest in making it easier for folks to develop plugs that run on competing platforms and I get the feeling ROLI sees AAX DSP as more trouble than it’s worth since it does require truly decoupling GUI and processing (something recommended but not enforced by AAX Native and VST3).
So each of us is left to roll our own solution. Would love to see that change but I’m not holding my breath!
I’m using stock (unmodified) JUCE 5.4.4 in my AAX-DSP plug-ins.
I’m curious how you implemented AAX DSP without modifying JUCE - I found it necessary to make substantial customizations to juce_AAX_wrapper and AudioProcessor.
I only use JUCE for the GUI. I attach the JUCE GUI and create a Parameter class derived from AAX_CEffectParameters for accessing the parameters through a AAX_CParameterManager class. I don’t use the JUCE AAX wrapper at all. To share data between the GUI and algorithm I either use AAX Hybrid or Shared Data.
Still interesting how you achieve this,
Do you have Xcode/VS Solutions for the AAX in addition to your Projucer builds output?
You static link JUCE Shared Code in that case you have different aaxplugins bundles for Native & DSP?
Hi all - we’ve provided some example code for adapting a JUCE-generated plug-in to AAX DSP. As Frank mentioned, this does require patches to the JUCE AAX wrapper as well as some customization through AAX-specific overrides. We’ve attempted to make the patches in the example code flexible so that the same approach can be applied to many different plug-ins.
Here’s my announcement post on the JUCE forum: link