We are currently working on ARA2 support for existing audio plug-ins using JUCE 7.0.2.
We have confirmed that ARA2 works correctly with Studio One and Logic Pro, but we faced a problem with Steinberg DAWs such as Cubase and Nuendo where it does not work correctly.
Investigating with Cubase Pro 12 on Windows, we found that adding a plug-in for one audio event created three instances of juce::AudioProcessor.
Of course, only one of these can be manipulated on the DAW screen.
However, when a playback operation is performed, processBlock() of all instances is executed.
I created a new, simple audio plugin to investigate, but confirmed that it still reproduced the problem.
Is there any way to reduce the AudioProcessor instance creation to one?
Or is this behaviour in accordance with the specification?
If it is not in the specification, is it a bad implementation on our part, a JUCE bug or a Steinberg bug?
This is in accordance with the specification, you can read the ARA Design Overview section of the ARA documentation. You can have 1 plugin instance for the GUI, 1 for the playback renderer and 1 for the editor renderer.
Did you get this to work! We are experiencing the same issue. Audio output is muted in Nuendo 12, even with the ARAPluginDemo. The three instances are okay (although I don’t see why the GUI thread needs to call processBlock), but the problem the instance with the playback renderer produces audio without any sound being heard in Nuendo. To reproduce, just build the ARAPluginDemo and use it on a clip in Nuendo.
PS. Nuendo worked fine with the JUCE ARA fork. The problem was introduced after porting to JUCE 7 with the built-in ARA support.