How to manage VST effects
Steinberg's Virtual Studio Technology (VST) is an interface for integrating software audio synthesizer and effect plugins with audio editors and hard-disk recording systems. VST and similar technologies use Digital Signal Processing (DSP) to simulate traditional recording studio hardware with software. Thousands of plugins exist and VST is supported by a large number of audio applications. The technology can be licensed from its creator, Steinberg.
Audio Sound Editor for .NET gives access to VST effects through a set of methods of the EffectsMan class; VST instruments and VST MIDI effects are not currently supported.
VST effects are available inside external dynamic-link library (DLL) files so the first step is to load the VST effect into the control through the Effects.VstLoad method which will receive the filename or the absolute pathname of the external DLL file containing the VST effect and will return a 32 bits unique identifier that will identify the loaded VST effect from now on: calling this method is quite similar to calling the LoadLibrary Windows API.
Once we have successfully loaded the VST effect and obtained its unique identifier, we can gain access to other VST related available features.
Once you have modified VST effect's parameters through the embedded editor or through calls to the Effects.VstProgramParamSetValue method, you can apply the VST effect to the sound under editing using the Effects.VstApply method.
When a parameter has been modified through the editor, the container application is notified through the VstParamChanged event.
When the editor's user interface is resized, the container application is notified through the VstEditorResized event.
Once the VST effect is no more needed, it can be discarded from memory using the Effects.VstFree method.