Hello everyone, I hope you are well!
I am making an audio plugin which has a Buffer of the stereo inputs and outputs and another one that only receives a mono input as a SideChain (All this through a BussBuffer); however, I also use the Juce DSP library to perform a processing in a chain through a “ProcessorChain” of filters to the stereo buffer.
When I introduce the stereo buffer to the ProcessorChain, it is not affected at all by the chain processes (Various filters).
Does anyone know what I could be doing wrong or what would be missing?
Thanks!!
Attached is my AudioProcessor :
void SpaceitorAudioProcessor::processBlock (juce::AudioBuffer<float>& buffer, juce::MidiBuffer& midiMessages)
{
juce::ScopedNoDenormals noDenormals;
auto totalNumInputChannels = getTotalNumInputChannels();
auto totalNumOutputChannels = getTotalNumOutputChannels();
auto mainInputOutput = getBusBuffer(buffer, true, 0); // [5]
auto sideChainInput = getBusBuffer(buffer, true, 1);
const float* inL;
const float* inR;
const float* inSide;
//DERECHO ES 1
for (auto i = totalNumInputChannels; i < totalNumOutputChannels; ++i)
buffer.clear (i, 0, buffer.getNumSamples());
for (int sample = 0; sample < buffer.getNumSamples(); ++sample)
{
inR = mainInputOutput.getReadPointer(1);
inL = mainInputOutput.getReadPointer(0);
inSide = sideChainInput.getReadPointer(0);
float* OutL = mainInputOutput.getWritePointer(0);
float* OutR = mainInputOutput.getWritePointer(1);
OutL[sample] = (inL[sample]) ;
OutR[sample] = inR[sample] ;
//inSide[sample] +
vfft.pushNextSampleIntoFifo(OutL[sample]);
}
juce::dsp::AudioBlock<float> ioBuffer(mainInputOutput);
auto leftBlock = ioBuffer.getSingleChannelBlock(0);
auto rigthBlock = ioBuffer.getSingleChannelBlock(1);
juce::dsp::ProcessContextReplacing<float> context(leftBlock);
filter.process(context);
juce::dsp::ProcessContextReplacing<float> contextr(rigthBlock);
filter.process(contextr);
}