Sep 6, 2009 at 8:57 PM
Edited Sep 6, 2009 at 9:00 PM
VST.NET transfers calls from the native C++ VST interface to the managed IVstPluginCommandStub interface methods. This managed interface contains all the methods that can be called by a Host for a VST 2.4 plugin. This is what is called core level.
You just get a managed version of all the VST methods. Thats it. Checkout the core plugin sample and notice the implementation of the IVstPluginCommandStub interface.
On top of this core level, VST.NET offers a framework for plugin development. This framework provides an implementation of the IVstPluginCommandStub interface which routes its calls to a number of (framework defined) interfaces. These framework interfaces
provide the plugin developer with a clear structure and grouping for all these "core" methods. For each feature you wish to implement in your plugin, a dedicated interface is defined. The framework also provides you a number of base classes that
implement some common functionality used by almost all plugins, but these are optional to use. Check out the Delay (audio effect), Midi Note Mapper (Midi in/out) and Midi Note Sampler (Audio recording in/out, Midi in) samples.
If you're just starting out and have no VST knowledge the framework might be the place to start. Be sure to look at the samples and take one as a starting point that is most appropriate for the type of plugin you wish to create.
If you have existing audio and/or midi classes you wish to hook up to the VST standard, perhaps the IVstPluginCommandStub core interface is a better starting point.
In any case make sure you download the documentation (.chm) and read the VST.NET blog posts at
Hope it helps.