Cubase VST - stereo plugin crashs on mono channel


#1

Hi,

i checked it with my own plugin and the plugin example.

getNumInputChannels() returns 2, even when its used as a mono plugin.

With an older version of the vstwrapper, cubase provided two valid pointers, so this was not a problem, now it delivers only one.

I’m not sure, maybe it has to do something how isOutputConnected/getSpeakerArrangement is handled inside the plugin.

Best regards
chkn


#2

Does this tweak improve things (just an idea, I’ve not tested it myself…):

[code] bool setSpeakerArrangement (VstSpeakerArrangement* pluginInput,
VstSpeakerArrangement* pluginOutput)
{
// if this method isn’t implemented, nuendo4 + cubase4 crash when you’ve got multiple channels…
filter->setPlayConfigDetails (pluginInput->numChannels,
pluginOutput->numChannels,
filter->getSampleRate(),
filter->getBlockSize());

    return true;
}

[/code]


#3

sorry - ignore that last post. But I’ve just checked-in a new version of the vst wrapper that might help… Would be keen to hear if it makes a difference, as I’ve only got nuendo4 here, which seems to work ok.


#4

Thanks! Looks good so far!


#5

Same thing happens in Logic loading an AudioUnit plugin, I’m using JUCE version 1.45 with **outInfo bug patched.
Plugin using 1.43 and 1.44 seem to deal correctly with mono to stereo configuration instead.


#6

i’m running the latest version from svn, have no problems so far. Do you really have the same issue ( this was a VST Problem )

(getNumInputChannels() returns 2, even when its used as a mono-Plugin)


#7

There are probably other differences between 1.45 and the svn trunk - it’s worth trying the latest files.


#8

The AU wrapper from the trunk seems to deal with the problem by duplicating the input channel in order to get a stereo stream on the input too, even when the plugin is inserted as mono to stereo.

And the getNumInputChannels() call keeps returning 2, while 1.43 and 1.44 versions were correctly reporting 1.


#9

the getNumInputChannels value is now set by checking the actual stream format that the AU is receiving (see line 512)… So if it’s 2, then that must be because the host is supplying two channels…


#10