This SDK comes with 7 examples of Plug-Ins. Each time both Windows (VisualC++ 6 and Visual .Net) (except for Offline) and Mac OSX (CodeWarrior 8.3 and ProjectBuilder) projects are provided.
AGain is a very simple VST Plug-In, but which demonstrates everything
you have to know concerning the core API in order to start building your
own Plug-Ins.
Indeed this example should help you understand how to deal with the
audio process, and with parameters and programs : an audio Plug-In is
actually no more than that!
Nevertheless, this Plug-In uses the default editor provided by the
host to display its parameters : nothing concerning specific GUI stuff
is provided with this example. But keeping in mind that in a VST Plug-In
the user interface is totally independant from the core API, this example
is a good starting point, even to be able later to build Plug-Ins with
their own editor.
Those three examples consist in a natural way you will perhaps want
to follow to make a Plug-In evolve.
ADelay is the first step : a simple delay Plug-In which uses the default
editor provided by the host. By the way it's nothing really more than
what you can find in AGain above.
ADelayEdit uses ADelay, but it provides a specific editor for the
Plug-In. Thus evolving from ADelay to ADelayEdit mainly consists in creating
this editor : the core Plug-In reuses what has yet been done.
The editor is developped using the VSTGUI (see the specific section
for further information on this topic) library.
ADelaySurround is the surround version of ADelayEdit : it has the
same editor, the same parameters and even the same audio process. But
it implements new features provided by VST 2.3 to be able to work with
any Input/Output configuration, until 6 Ins, 6 Outs.
This is not really a plugin (it does nothing). It has only a User Interface using almost all provided Controls of VSTGUI Library. It helps you understand how you can use the VSTGUI Library.
This example (only for Windows) helps you to understand how the VST Offline Interface could be used. The Host Application Wavelab implements it.
This is a soft synth ("VST instrument") example. It helps you to understand how you can tell the host that you would like to receive MIDI events, and how to deal with them. That's nearly the only new thing you have to know to be able to create VSTi! Everything else has been seen in the previous examples!