Stereo plugin on mono channel in Cubase


#1

I’ve got a plugin built against a version of JUCE from last year sometime.

I’ve had a bug report about Cubase and I noticed two things. The channel definitions are set to {1, 2} and {2, 2} in projucer.

The issues are:

  • Cubase sends a zero-sized block to the plugin. Never seen this one before!
  • Cubase allows the user to load a fully MONO version of the plugin onto a mono channel despite my channel preferences.

Either of those look familiar?


#2

Yes, that sounds familiar. JUCE from last year had a few bugs around this. Have you tried compiling your plug-in with the newest version of JUCE.


#3

Was keen not to change the JUCE version if I didn’t have to - other than this its been super-stable. Might experiment to see what happens…right now i’ve changed it so it just returns safely from processblock if there’s some kind of channel count problem.

Those zero byte buffers are another mystery…


#4

I’ve seen this also happening in SONAR, for VST3 plug-ins.

In my case, that happened whenever processing was being started for the first time, or resumed after a pause.
I suspect SONAR uses those 0-samples call as a way to initialize the automated parameters to their intended values when starting/resuming processing, which kinda makes sense in relation to how automation is driven in the VST3 format.

To handle that, I simply skip processing when I receive a buffer of 0 length, because, well… the result of processing an empty buffer would also yield an empty buffer, regardless of what the algorithm is.