ProcessBlock doesn't get invoked in some DAWs


I’ve been working on a prototype code that records DAW audio into a buffer, everything works as expected in AU formats in Logic Pro X, Ableton, Reaper and FL Studio. But the processBlock doesn’t get invoked in VST3 format in Reaper and Cubase(potentially more but these are the only DAWs I have access too). I have also tried compiling AAX and seems to work under PT Dev as well.

Was wondering if anyone encountered anything similar and any feedback is appreciated.


Just a wild guess: this might be related to 32 bit vs 64 bit audio processing.
If you return true for supportsDoublePrecisionProcessing() but only implement processAudio(juce::AudioBuffer<float> &buffer, juce::MidiBuffer &midiMessages), you’ll get the described behaviour because vst3 does support 64 bit processing and will call processAudio(juce::AudioBuffer<double> &buffer, juce::MidiBuffer &midiMessages) while AU does not and will only call the <float> variant.


that’s why i always decide beforehand which float type will be used throughout the project and if the other processBlock is called i just let it copy the stuff into a buffer of the other type and call the other processBlock myself. no idea if this is recommended, but seems to work