Add NJClient::GetSampleRate()

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add VeSTige aeffectx.h GPL header file

The Steinberg VST SDK is not license-compatible with the GPL.  Open
source applications including Ardour and LMMS therefore use the
"VeSTige" reverse-engineered header file.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add VSTPlugin class

The VSTPlugin class represents a plugin instance.  It can launch the
editor GUI and send audio through the plugin.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add VSTProcessor class to apply VST effects

The VSTProcessor handles audio processing for a chain of VST plugins.
The user can use multiple plugins in a virtual signal chain, like an
amplifier and reverb.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add AddVSTPluginDialog for selecting VST plugins

VST plugins are dynamic libraries that may be installed anywhere.
Therefore we need a way to search for them and allow the user to select
a plugin to load.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add VSTConfigDialog for setting up an effects chain

Multiple VST plugins can be active at once.  The audio flows through
them in a simple signal chain.  This makes it possible to use an
amplifier plugin together with a reverb plugin, for example.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Add "Configure VST..." menu item

The File | Configure VST... dialog allows the user to edit the VST
plugin signal chain.

Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>