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 DJ Studio for .NET gives access to VST effects through a set of methods of the
VSTs class; VST instruments and VST MIDI effects are not actually 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
VST.Load 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.
Most VST effects come with their own user interface, also known as "editor": you can know if a loaded VST effect has its own editor through the VST.EditorGetInfo method.
If an editor is available, you can integrate it and show/hide it on your application's user interface through the VST.EditorShow method and move it through the VST.EditorMove method.
Once you have modified VST effect's parameters through the embedded editor or through calls to the
VST.ProgramParamSetValue method, you can enable/disable the VST effect on the sound in playback using the
VST.Enable 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
VST.Free method.
A sample of use of the VST object in Visual C# and Visual Basic.NET can be found inside the following samples installed with the product's setup package:
- VstEffects