VST3 synth in Ableton sidechains to itself when no sidechain input is selected

Hi there.

Working on a synth plugin that has a sidechain input. My AudioProcessor is created with the following IO layout:

.withInput  ("SideChain Input",  AudioChannelSet::stereo(), true)
.withOutput ("Output", AudioChannelSet::stereo(), true)

and i also inherit the VST3ClientExtensions and return false to getPluginHasMainInput(), so the input should be considered as kAux by the host.

In Ableton Live, if i select a track as sidechain to my plugin, everything works just fine. However when i don’t route any track to my plugin, i get as input the buffer my plugin output at the previous audio callback (so it’s like the IO buffer is not cleared between the audio callbacks)…

Anyone came across this / has a workaround, or am i missing something?


P.S. i don’t have this issue in Reaper so i think it might be an issue with Ableton’s VST3 implementation.

Are you using getTotalNumInputChannels or querying the bus layout to check whether the sidechain is active? If there are no active inputs, the AudioBuffer should only be written, and not read.

Oh you’re right, sorry i missed that getTotalNumInputChannels.
Seems all good now, thanks a lot reuk.