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

Problems with VSTi

Jan 8, 2010 at 3:24 PM


I tried things with VST instrument. I used plugin "minimal" ( and latest source code project Jacobi.Vst.Samples.Host. Procederue GenerateNoiseBtn_Click fails at PluginContext.PluginCommandStub.ProcessReplacing(inputBuffers, outputBuffers) with the following exception: The number of samples in the 'inputs' and the 'outputs' audio buffer array was not the same. Actually that happens on all plugins with zero input channels. When I removed that check in VstPluginCommandStub::ProcessReplacing (c++) then method succeeded but I thing that in that case nothing gets processed... I do not have MIDI input so i cannot test instruments whether they play or not.


Jan 8, 2010 at 4:38 PM

Hmm, that check does not seem correct in that case (seemed like a good idea at the time ;-).

I've checked in a fix for you. But haven't tested it yet (it compiles).

Hope it helps.

Jan 9, 2010 at 1:05 PM


I checked the fix but I think there is still error behind ProcessReplacing method. If I use Jacobi.Vst.Samples.Host project and invoke GenerateNoiseBtn_Click at first everything seems to be fine. But in general, most of unmanaged vst plugins (i've tested) require to turn them ON before processing -> MainsChanged(true). If I insert this call before processing the noise data I get the following (well known...) exc: attempted to read or write protected memory.... . The same thing happens in my app also.


Jan 9, 2010 at 6:01 PM

That was a quick fix on my part. Too quick as it turned out. 

I found additional problems with the impl. of ProcessReplacing and checked in fixes for that.

Also added the MainsChanged calls to the Host sample.

Thanx for bringing these problems to my attention!

Jan 9, 2010 at 8:54 PM

It seems you fixed the problem. Vst instrument "minimal" works without problems. I still have question one for now, but I'm not shure if it is on VST.NET side. I test things with Chris Gil's SuperWave P8. I get no exceptions, problem is, that after several calls of ProcessReplacing method suddenly doesn't return and hangs my audio thread. That happened also before latest fixes. This is "strange" behaviour but as I said, I'm not shure on which side error is. Vsthost or Bidule accept this plugin (they don't hang) but I don't have MIDI input to test if they actualy play.

Thanx a lot!

Jan 10, 2010 at 11:05 AM


I CANCEL the last post. There is a problem in P8 and not in VST.NET or my app. Sorry for inconvenience.


Jan 10, 2010 at 12:15 PM

No problem. It is good to investigate these type of issues.

Nice to hear it all works for you.

Have fun with you VST.NET project.