juce::dsp::Convolution::process() method wants ProcessContext as a parameter. However no documentation for it can be found from anywhere. On top of that my IDE cannot find its definition anywhere. So what is it and where it defined, so I can get the compiler do its job and so I can also fill that data structure with the required data.
I can’t blame you for not finding it. To help you walk towards the solution to using the (vague) API, here’s an example from JUCE’s repository under the examples folder:
The caller is likely here (I’m just scanning quickly): JUCE/examples/Assets/DSPDemos_Common.h at develop · juce-framework/JUCE · GitHub
TLDR: What you’re looking for is juce::dsp::ProcessContextReplacing and/or juce::dsp::ProcessContextNonReplacing.
Awesome! Thank you!
I have another question about the process(dsp::ProcessSpec) method:
One of the variables inside the dsp::ProcessSpec structure is “numChannels” which the comments describe as: “The number of channels that the process() method will be expected to handle.”
But that doesn’t mention anything about if that number of channels is the impulse response channel count or the output buffer channel count. Or if they both need to be identical. Any idea which way that parameter is expected to be used?
From what I recall off the top of my head, the output buffer must be >= the IR channel count.
That being said, you might want to consider actively debugging and stepping through the ConvolutionDemoDSP to get a practical idea.
