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).
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,