Hi,
I am using audioDeviceIOCallback(const float** inputChannelData,
int numInputChannels,
float** outputChannelData,
int numOutputChannels,
int numSamples)
to implement my audio processing routine. I want to use the dsp::AudioBlock<float> object to use it with dsp::FIR::Filter to filter my input signal.
But because inputChannelData is const float** I can’t just do
I thought that the FIR filter would act destructively on the buffer you give it? In which case your const_cast is a really bad idea, because it’ll mean you’re modifying that data - and it’s marked as const because you’re not allowed to modify it!
Thanks for the fast response!
Is void dsp::FIR::Filter< SampleType >::process(const ProcessContext & context) modifying the input even if it is called with ProcessContextNonReplacing (const AudioBlockType &input, AudioBlockType &output)?
Yeah, that one would be safe to call. And yes, as long as you know that AudioBlock will be itself be const, then doing a const_cast to get the raw data into it is an annoying thing to have to do, but difficult to avoid.