This project has moved and is read-only. For the latest updates, please go here.

MIDI / VstEvents in Cubase SX 3

Apr 11, 2009 at 3:21 AM
Edited Apr 11, 2009 at 9:12 AM
Hi, first sorry about the comming bad english. No, first i want to say a big big THANKS to obiwanjacobi for this great work :--)
I have a problem using in Cubase SX 3.

Whatever i try i didnt get the MIDI functionality run. Cubase does not display any midi-output to my Plugin.
I then found that the Cubase-host does not call GetNumberOfMidiInputChannels (), GetNumberOfMidiOutputChannels(), or CanDo receiveVstEvent / receiveVstMidiEvent <-- could that the problem,?

I have tried with implementing IVstPluginCommandStub by my own and with the framework classes ... but without success :--(
Also, the midi-examples do not work (No MIDI-Channels visible)

VstPluginFlags.IsSynth is set.

Here are the calls from Cubase to my Plugin and my "answers"

*** Starting Cubase

> SetSampleRate: <- 44100
> SetBlockSize: <- 352
> Open
> CanDo: bypass -> Yes
> SetPanLaw: <- LinearPanLaw, 0.7071068
> CanDo: midiProgramNames -> No
> GetVstVersion -> 2400
> GetVendorString -> bleh
> GetVendorVersion -> 1000
> Close

*** Instance Plugin

> SetSampleRate: <- 44100
> SetBlockSize: <- 352
> Open
> CanDo: bypass -> Yes
> SetPanLaw: <- LinearPanLaw, 0.7071068
> CanDo: midiProgramNames -> No
> MainsChanged: <- True
> CanDo: sendVstMidiEvent -> No
> MainsChanged: <- False
> MainsChanged: <- True
> CanDo: sendVstMidiEvent -> No
> CanDo: LiveWithoutToolbar -> No
> EditorGetRect: -> {X=0,Y=0,Width=263,Height=137}
> EditorOpen: <- 1246722
> EditorGetRect: -> {X=0,Y=0,Width=263,Height=137}
> SetEditorKnobMode: <- CircularMode
> StartProcess

*** Exit Cubase

> StopProcess
> EditorClose
> MainsChanged: <- False
> Close

EDIT: Hours later (help me!!! :--), still no solution, but maybe it's helpful

best wishes
Apr 11, 2009 at 1:46 PM

Cubase is notoriusly picky about its midi plugins.

Take a look at this thread at the kvr forum.

I think you only have to pretend to do audio processing as well (mono in - mono out seems simlpest and just pass on the audio samples from input to output, unchanged).

Strange that the midi sample plugins don't work, though.
The MidiNoteMapper has a dummy AudioProcessor just for this and the MidiNoteSampler uses the audio in- and output to record and playback samples...??

Let me know if you get any results implementing a dummy AudioProcessor.
Apr 11, 2009 at 2:20 PM
Edited Apr 11, 2009 at 3:15 PM
Thanks for the fast reply.

I wrote a plugin like you said and test ist, sadly with the same result.
Here is the code: (Sorry for VB but i think you can read it)
Like i said even your Sample doesnt works.

But i think you misunderstood me. I dont want to build a midi-fx but a synth with certainly at least 1 midi-in.

And - correct me if i'm wrong - but the thing that cubase didnt call GetNumberOfMidiInputChannels(), GetNumberOfMidiOutputChannels(), CanDo receiveVstEvent or CanDo receiveVstMidiEvent, seems to be a "problem"!?

EDIT: I've just seen that your MidiNoteMapper Sample shows in Cubase one output, and none input. I mean Midi from Plugin to Host, not like i want Midi from Host to Plugin? The MidiNoteSampler shows none, no inp and no outp ... exhausted or mad dont know :--)
Apr 11, 2009 at 4:01 PM
Your code looks fine.

I have Cubase SX 2 but have never been able to get it to work. I just tried it again and I see the same thing you do.
Its not a VST(.NET) thing, its just that Cubase only accepts Module Architecture midi plugins (as far as I know).

Sorry I can't help you any further.
Apr 13, 2009 at 1:42 AM
Damn, that's frustrating me more and more.

Do you see any possibility how i can use your solution anyway (small or big workaround)?
Apr 14, 2009 at 8:30 AM
No sorry, I dont see how.