From this post I found the information, that activateBus needs to be called in “Setup Done state”. Calling it (in host code) in AudioClient::getIOSetup succeeds.
I enabled also the Side-Chain kAux Bus there (using activateBus).
And then on calling AudioClient::process() my host only provides buffers for the first audio input, not for the Side-Chain input. And so also
buffers.numInputs = 2 (Stereo input) does not indicate to provide
any side chain input, although that bus is marked “activated”.
The audio output seemed to be correct anyway. Some some tests
suggested otherwise, but they used an invalid buffer count.
Obivoulsy even provding one of the stereo channels only also at least gives correct output on that channel, leaving the other buffer unchanged.
But on this page
[…]Additionally, a plug-in with a disconnected input bus will continue to receive default silence buffers, just as a plug-in with a disconnected output bus will continue to receive default nirvana buffers. When these deactivated busses are the last busses (for input or output), the host could not provide associated AudioBusBuffers, in this case the plug-in should check numInputs and numOutputs and doesn’t process these busses.[…]
it talks only about disconnected input busses, but
it also seems to work for activated busses.
Is this by accident (so only possible with the tested plugin) or is that the expected behaviour?
I did this test on the TDR Nova plugin using 32bit samples (Stereo) using an in-place buffer (input == output buffer offsets).