Noise Gate - AUv3 Validation Error

It seems the problem with AUv3 is in
bool shouldChangeToFormat (AVAudioFormat* format, AUAudioUnitBus* auBus)

It correctly checks and change the bus layout. (eg we’re allowed to have 3 inputs).
But it invalidates the entire layout (where now, the condition of equality between Inputs and Outputs is broken).

So ideally, you’d like to check for the entire target layout within the call.

Eg (demo code);

                auto currentBusLayout = processor.getBusesLayout();
                auto& curBus = currentBusLayout.getBuses(isInput).getReference(busIdx);
                curBus = newLayout;
                if (!processor.checkBusesLayoutSupported (currentBusLayout))
                    return false;
1 Like