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

Procedural Midi VST

Topics: Midi, Plugin Programs
Jun 11, 2011 at 5:51 PM
Edited Jun 11, 2011 at 5:53 PM

Hi,

just wanted to let people know that I made a VST of my Procedural Midi project using VST.NET

The code is available on codeplex: http://proceduralmidi.codeplex.com/ , so this might be helpful as an example for those who want to make a generate midi VST :)

I was entirely new at VSTs so I don't know if it's very stable (I had some trouble with deadlocks in the GUI before, after adding a lock in the plugin editor and using invoke if required those problems are gone (I hope, at least much less frequently now)).

Screenshot:

 

 

 

Jun 13, 2011 at 8:30 AM

After receiving some feedback it appears that the VST only works correctly in VSTHost, it loads fine in Ableton Live, Fruity Loops 9 and Cubase but doesn't output any sound. The activity meter in FL9 shows there is activity though. FL9 also appears to call Process() all the time, even when the engine is not running (which I assumed was not the case).

Could anyone give me some pointers what I have to do to let it work better? I based myself on the Midi Sampler example, where midi events are added to the Events queue, which are processed in the AudioProcessor.

If anyone sees blatant violations of how a VST should work, let me know too (I think timing with DateTime rather than getTimeInfo is one already) :)

 

Jun 13, 2011 at 10:52 PM

Calling Process() as soon as the plugin GUI is opened is commonplace in Vst Hosts because many plugins do not refresh their GUI on Idle function call, especially animations.