Logic/ARA: Playback renderer not created for stereo file on mono track

I got a bug report that our ARA plugin outputs silence if there is a stereo region on a mono track in Logic. Without the playback this works, the stereo region is simply summed to mono.

When debugging I noticed the following behaviour, that is also fully reproducible with the JUCE ARA demo plugin on the current dev tip:

  • One AudioProcessor instance is created and araAudioProcessorExtension::bindToARA is called and assigns the editor renderer and the editor view role
  • No other instance is created → no playback renderer instance is created
  • When playing back I see a constant stream of error messages on the console

The messages are all like

2025-03-11 11:31:47.809852+0100 Logic Pro X[8028:1686754]   from AU (0x81f5c1c0): aufx/Vsdu/Manu, render err: -50
2025-03-11 11:31:47.833032+0100 Logic Pro X[8028:1686754] ioData.mNumberBuffers=1, ASBD::NumberChannelStreams(output.GetStreamFormat())=2; kAudio_ParamError

I’m not sure if this is caused by a bug in the JUCE ARA implementation or if it’s a Logic bug. I scanned over the implementation that can be found in juce_audio_plugin_client_AU_1.mm and found no obvious place that looks like something regarding a channel format is handled especially for ARA.

Would be interested what the JUCE devs think of that?

Doesn’t Logic create a single PlaybackRenderer at startup, before the plugin itself, and leave it alive for all rendering?

I’d suggest filing a report to Apple.
Logic has some issues and I remember we had a similar one. But not that exact one.

I’d try a simple test where you generate a sine wave and copying it to all buffer channels. First see if that works as expected.

If it is, you might miss something with reading audio sources and then generating buffer.

In general, most ARA roles are abstracted from the plugin format and got different APIs.
So I’m pretty sure the AU wrapper is not related.