Double processBlock not called

Hi guys,

I’m trying to get a project to be able to process a double precision buffer in Cubase. I have both processBlock and methods in my class, but the plugin keeps working with the one. I also tried to build the example “audio plugin demo” project and it does the same. I’m testing them on Cubase 11.0.20, with double precision processing enabled.

Is there something I’m missing?


Have you overridden supportsDoublePrecisionProcessing() to return true?

Nope. I was relying on the example provided and there’s no override for this method in there. Thanks!


ok now it process with the correct processBlock method, but Cubase fails to list it as one of the plugins able to process double precision audio.

In the meantime, I’m adapting my methods with templates but the one I use with dsp::ProcessContextReplacing (for oversampling) is not building, despite these methods are all based on templates.

I have:

void MyAudioProcessor::process (dsp::ProcessContextReplacing context) noexcept

then, in that method

I can’t seem to figure out why I get these errors. I don’t think I have to declare both float and double AudioBlocks, am I?


template helps to keep all the logic in one place.

but you still need to call both processBlock float and double, with each oversampler and AudioBlock corresponding to its each own type.

Have you provided the correct sample type to the template argument of ProcessContextReplacing?

You should have something like

template <typename SampleType>
void MyAudioProcessor::process (dsp::ProcessContextReplacing<SampleType> context)

Absolutely, but it looks like @bayu said. I have to create two separate process methods, despite everything is templetized.