Hi,
I can’t figure what is going wrong here but it is quite easy to reproduce (tested with latest juce develop):
Build the AUv3SynthPluginDemo from JUCE and install it on iOS.
Build the AudioPluginHost and run it on iOS.
Instantiate AUv3SynthPlugin, select the “Show all parameters” menu entry from the AudioPluginHost popup menu. Now the AudioPluginHost is showing the “Room Size” parameter of AUv3SynthPlugin, move it a bit: everything works as expected .
Now rebuild the AUv3SynthPlugin so that it has 2 output buses instead of 1:
static BusesProperties defaultBusesProperties() {
auto b = BusesProperties().withOutput ("Output", AudioChannelSet::stereo(), true);
b.addBus(false, "Output2", AudioChannelSet::stereo(), false);
return b;
}
public:
AUv3SynthProcessor()
: AudioProcessor (defaultBusesProperties()),
This time the AudioPluginHost will freeze after a few seconds of moving that “Room Size” slider back and forth. It will unfreeze after 10 or 20 seconds, but the plugin gui is now just a white rectangle.
It looks like a deadlock, but I can’t figure what is deadlocking. The hosts is stuck waiting for
AudioUnitGetParameter (au, paramID, kAudioUnitScope_Global, 0, &value); to return.
The fact that the issue happens only with multi-bus plugins is extra-strange but maybe that will give a hint about where the bug is hiding ?
