I’m diving in the API documentation searching for details about the cross-fading feature when switching impulse responses in the DSP convolution. It’s announced as one of the new features in the JUCE 5.1 DSP module. So far all I know is that it’s transparent.
I want to use several IRs according to the input level of a plugin. This means crossfading between the upper and lower impulse response. If input = -5dB combination of -3dB and -6dB measured IRs. So it’s always a combination, not pure switching without artifacts.
I think the smoothing in the Juce convolution engine is just for cases like when the user of a IR reverb plugin or such manually changes the used IR. (So not suitable for your use case.)
Even so, I could try switching memory loaded IR using just one IR at the same time. But I would need more details, like the crossfading process duration.
Well, I guess it’s time to code and see for myself.
Indeed, the crossfading in the convolution class is made for one use case, when the user loads a new IR from the memory or the hard disk, but it wasn’t meant to be changed at audio rate, or to be used with combinations of IRs at the same time.
However, you can take some inspiration from the source code to make your own variations of the Convolution class