Copyright © 2001-2008 MultiMedia Soft 
Return to Table of contents  
 
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
 
Active DJ Studio gives access to VST effects through a set of methods of the VST COM object; 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. 
 
  • Generic information about the VST effects can be obtained through the VST.GetInfo and VST.GetInfoString methods. 
  • Available programs implemented inside the VST effect can be enumerated through the VST.ProgramsGetCount method and respective programs names can be obtained/modified through the VST.ProgramNameGet and VST.ProgramNameSet methods. 
  • The current program can be obtained through the VST.ProgramGetCurrent method and selected through the VST.ProgramSetCurrent method. 
  • For each program there is the possibility to enumerate the number of available parameters through the VST.ProgramParamsGetCount method and to obtain generic information for each of them through the VST.ProgramParamGetInfo method. 
  • Each parameter has a default value that can be obtained calling the VST.ProgramParamGetDefaultValue method. The current value can be obtained through the VST.ProgramParamGetValue method and modified through the VST.ProgramParamSetValue method. 
  • 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 Basic 6 and Visual C++ 6 can be found inside the following samples installed with the product's setup package: 
    - VstEffects 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    Copyright © 2001-2008 MultiMedia Soft 
    Return to Table of contents