VST 3 Interfaces
VST 3.6.7
SDK for developing VST Plug-in
|
On Mac platform, VST 3 Plug-in is a standard OS X bundle, its file extension is ".vst3", it follows this folder structure:
/Contents/Resources => this folder contains all additional resource files useful for the Plug-in /Contents/MacOS => this folder contains the Plug-in’s OS X universal binary (Mach-O) /Contents/Info.plist => the Plug-in’s property list /Contents/PkgInfo => specifies the type and creator codes of the bundle (optionnal)
On Windows platform, a VST 3 Plug-in is a dynamic library (a dll), the file extension is ".vst3"
On Linux VST 3 Plug-in is a bundle like packaging format, its file extension is ".vst3", it follows this folder structure:
/Contents/Resources => this folder contains all additional resource files useful for the Plug-in /Contents/i386-linux => this folder contains the Plug-in binary (32 bit shared library .so for Kernel Architecture i386) /Contents/x86_64-linux => this folder contains the Plug-in binary (64 bit shared library .so for Kernel Architecture x86_64) /Contents/XXXX-linux => with XXXX the architecture name (based on the RPM Terminology + "-linux"), for example armv3l-linux, armv4b-linux, armv4l-linux, armv5tel-linux, armv5tejl-linux, armv6l-linux, armv7l-linux
Note that the Linux bundle could be merged with the MacOS one.
For example:
MyPlugin.vst3/ |_ Contents/ |__ Resources/ | |__ Documentation/Manual.pdf | |__ Documentation/WhatsNew.pdf | |__ Help/helpdoc.xml | |__ MyPlugin.srf | |__ helper.dll | |__ armv7l-linux/ | |__ MyPlugin.so | |__ i686-linux/ | |__ MyPlugin.so | |__ i386-linux/ | |__ MyPlugin.so | |__ x86_64-linux/ | |__ MyPlugin.so | |__ MacOS/ | |__ MyPlugin | |__ Info.plist |__ PkgInfo
On Mac platform, the host application expects VST 3 Plug-ins to be located in:
------------------------------------------------------------------------------------------------------------------- Priority Location Path ------------------------------------------------------------------------------------------------------------------- 1 User /Users/$USERNAME/Library/Audio/Plug-ins/VST3/ 2 Global /Library/Audio/Plug-ins/VST3/ 3 Global /Network/Library/Audio/Plug-ins/VST3/ 4 Application $APPFOLDER/Contents/VST3/ -------------------------------------------------------------------------------------------------------------------
Note: The host recursively scans these folders at startup in this order (User/Global/Application).
On Windows platform, the host application expects VST 3 Plug-ins to be located in:
------------------------------------------------------------------------------------------------------------------- Priority Location Path Comment ------------------------------------------------------------------------------------------------------------------- 1 Global /Program Files/Common Files/VST3/ native bitdepth: 32bit Plug-in on 32bit OS, 64bit on 64bit OS 1 Global /Program Files (x86)/Common Files/VST3/ 32bit Plug-ins on 64bit Windows 2 Application $APPFOLDER/VST3/ -------------------------------------------------------------------------------------------------------------------
Note: The host recursively scans these folders at startup in this order (Global/Application).
On Linux platform, the host application expects VST 3 Plug-ins to be located in:
------------------------------------------------------------------------------------------------------------------- Priority Location Path Comment ------------------------------------------------------------------------------------------------------------------- 1 User $HOME/.vst3/ 2 Global /usr/lib/vst3/ native bitdepth: 32bit Plug-in on 32bit OS, 64bit on 64bit OS 2 Global /usr/lib32/vst3/ 32bit Plug-ins on 64bit OS 3 Global /usr/local/lib/vst3/ native bitdepth: 32bit Plug-in on 32bit OS, 64bit on 64bit OS 3 Global /usr/local/lib32/vst3/ 32bit Plug-ins on 64bit OS 4 Application $APPFOLDER/vst3/ -------------------------------------------------------------------------------------------------------------------
Note: Each path defined below should be scanned in the given priority, presets extracted and added to the preset list.
-------------------------------------------------------------------------------------------------------------------------- Prio Type Scope Writable Path Comment -------------------------------------------------------------------------------------------------------------------------- 1 User User X Users/$USERNAME/Library/Audio/Presets/$COMPANY/$PLUGIN-NAME/ 2 Shared_Factory Public - Library/Audio/Presets/$COMPANY/$PLUGIN-NAME/ Computer shared FactoryROM 3 Shared_Factory Public - Network/Library/Audio/Presets/$COMPANY/$PLUGIN-NAME/ Network shared FactoryROM 4 App_Factory Apps - [$APPFOLDER]/VST3 Presets/$COMPANY/$PLUGIN-NAME/ Host Application (Cubase, ...) --------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------- Prio Type Scope Writable Path Comment ----------------------------------------------------------------------------------------------------------------------------------------- 1 User User X [My Documents]/VST3 Presets/$COMPANY/$PLUGIN-NAME/ CSIDL_PERSONAL 2 User_Factory User X [Documents and Settings/$USERNAME/Application Data]/VST3 Presets/$COMPANY/$PLUGIN-NAME/ CSIDL_APPDATA 3 Shared_Factory Public - [Documents and Settings/$ALLUSERS/Application Data]/VST3 Presets/$COMPANY/$PLUGIN-NAME/ CSIDL_COMMON_APPDATA 4 App_Factory Apps - [$APPFOLDER]/VST3 Presets/$COMPANY/$PLUGIN-NAME/ Host Application (Cubase, ...) -----------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------ Prio Type Scope Writable Path Comment ------------------------------------------------------------------------------------------------------------------------------ 1 User User X [Users/$USERNAME/Documents]/VST3 Presets/$COMPANY/$PLUGIN-NAME/ FOLDERID_Documents 2 User_Factory User X [Users/$USERNAME/AppData/Roaming]/VST3 Presets/$COMPANY/$PLUGIN-NAME/ FOLDERID_RoamingAppData 3 Shared_Factory Public - [ProgramData]/VST3 Presets/$COMPANY/$PLUGIN-NAME/ FOLDERID_ProgramData 4 App_Factory Apps - [$APPFOLDER]/VST3 Presets/$COMPANY/$PLUGIN-NAME/ Host Application (Cubase, ...) ------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------- Prio Type Scope Writable Path Comment -------------------------------------------------------------------------------------------------------------------------- 1 User User X $HOME/.vst3/presets/$COMPANY/$PLUGIN-NAME/ 2 Global Public - /usr/share/vst3/presets/$COMPANY/$PLUGIN-NAME/ 3 Shared_Factory Public - /usr/local/share/vst3/presets/$COMPANY/$PLUGIN-NAME/ 4 App_Factory Apps - [$APPFOLDER]/vst3/presets/$COMPANY/$PLUGIN-NAME/ Host Application --------------------------------------------------------------------------------------------------------------------------
Back to Contents