I have an effect plugin that is using a parameter to control whether it is bypassed or not. This is working in VST3 and AAX but not AU.
I’m currently on JUCE 5.4.7 and holding off moving to JUCE 6 as I’m close to a release and other than this bug it’s all tested.
I’ve overridden the AudioProcessor::getBypassParameter()
method to return the parameter in question.
In VST3 and AAX, setting the param results in the AudioProcessor::processBlockBypassed()
route being called just fine. In AU for some reason this path is not called.
Having a look in juce_AU_Wrapper.mm, isBypassed
is false, what is not immediately clear to me is why it’s not being set to true. The wrapper is listening to the correct parameter and parameterValueChanged
is being called when the parameter updates (e.g. via a click in my UI).
However the case kAudioUnitProperty_BypassEffect:
in SetProperty()
which is where isBypassed
can be set to true is never being followed.
Any thoughts on what I’ve missed?
Thanks for any pointers,
Dave