VST 3 Interfaces
VST 3.6.14
SDK for developing VST Plug-in
|
Extended Plug-in interface IEditController for a component.
Since VST 3.5 a new interface is provided: Steinberg::Vst::IXmlRepresentationController
A Representation based on XML is a way to export and structure, group Plug-ins parameters for a specific remote (could be hardware or software rack (like quickcontrols)).
It allows to describe more precisely each parameter (what is the best matching to a knob, different titles lengths matching limited remote display,...).
See an Example.
This Representation is implemented as XML text following the Document Type Definition (DTD): http://dtd.steinberg.net/VST-Remote-1.1.dtd
Here an example of what should be passed in the stream of getXmlRepresentationStream:
See Steinberg::Vst::XmlRepresentationHelper.
When a host needs to use a VST XMLs Representation (for internal use like Quick-Controls assignment to get the most important parameters sorted per Page of a Plug-in), the host will check the presence in a specific location for a given remote and for this given Plug-in a Representation XML file with the remote name as filename (check below about how the path is defined). If this is not found the host will ask the Plug-in by using Steinberg::Vst::IXmlRepresentationController (if implemented).
Explanation:
-------------------------------------------------------------------------------------------------------------------------- Prio Type Scope Writable Path Comment -------------------------------------------------------------------------------------------------------------------------- 1 User User X Users/$USERNAME/Library/Audio/VST XMLs/$COMPANY/$PLUGIN-NAME/$UID/ 2 User User X Users/$USERNAME/Library/Audio/VST XMLs/$COMPANY/$PLUGIN-NAME/ 3 Shared_Factory Public - Library/Audio/VST XMLs/$COMPANY/$PLUGIN-NAME/$UID/ Computer shared FactoryROM 4 Shared_Factory Public - Library/Audio/VST XMLs/$COMPANY/$PLUGIN-NAME/ Computer shared FactoryROM 5 App_Factory Apps - [$APPFOLDER]/VST XMLs/$COMPANY/$PLUGIN-NAME/$UID/ Host Application (Cubase, ...) 6 App_Factory Apps - [$APPFOLDER]/VST XMLs/$COMPANY/$PLUGIN-NAME/ Host Application (Cubase, ...) 7 App_Factory Apps - $PLUGIN-PATH/Contents/Resources/VST XMLs/$COMPANY/$PLUGIN-NAME/$UID/ Plugin Bundle 8 App_Factory Apps - $PLUGIN-PATH/Contents/Resources/VST XMLs/$COMPANY/$PLUGIN-NAME/ Plugin Bundle --------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------ Prio Type Scope Writable Path Comment ------------------------------------------------------------------------------------------------------------------------------ 1 User User X [Users/$USERNAME/Documents]/VST XMLs/$COMPANY/$PLUGIN-NAME/$UID/ FOLDERID_Documents 2 User User X [Users/$USERNAME/Documents]/VST XMLs/$COMPANY/$PLUGIN-NAME/ FOLDERID_Documents 3 User_Factory User X [Users/$USERNAME/AppData/Roaming]/VST XMLs/$COMPANY/$PLUGIN-NAME/$UID/ FOLDERID_RoamingAppData 4 User_Factory User X [Users/$USERNAME/AppData/Roaming]/VST XMLs/$COMPANY/$PLUGIN-NAME/ FOLDERID_RoamingAppData 5 Shared_Factory Public - [ProgramData]/VST XMLs/$COMPANY/$PLUGIN-NAME/$UID/ FOLDERID_ProgramData 6 Shared_Factory Public - [ProgramData]/VST XMLs/$COMPANY/$PLUGIN-NAME/ FOLDERID_ProgramData 7 App_Factory Apps - [$APPFOLDER]/VST XMLs/$COMPANY/$PLUGIN-NAME/$UID/ Host Application (Cubase, ...) 8 App_Factory Apps - [$APPFOLDER]/VST XMLs/$COMPANY/$PLUGIN-NAME/ Host Application (Cubase, ...) ------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------- Prio Type Scope Writable Path Comment ----------------------------------------------------------------------------------------------------------------------------------------- 1 User User X [My Documents]/VST XMLs/$COMPANY/$PLUGIN-NAME/$UID/ CSIDL_PERSONAL 2 User User X [My Documents]/VST XMLs/$COMPANY/$PLUGIN-NAME/ CSIDL_PERSONAL 3 User_Factory User X [Documents and Settings/$USERNAME/Application Data]/VST XMLs/$COMPANY/$PLUGIN-NAME/$UID/ CSIDL_APPDATA 4 User_Factory User X [Documents and Settings/$USERNAME/Application Data]/VST XMLs/$COMPANY/$PLUGIN-NAME/ CSIDL_APPDATA 5 Shared_Factory Public - [Documents and Settings/$ALLUSERS/Application Data]/VST XMLs/$COMPANY/$PLUGIN-NAME/$UID/ CSIDL_COMMON_APPDATA 6 Shared_Factory Public - [Documents and Settings/$ALLUSERS/Application Data]/VST XMLs/$COMPANY/$PLUGIN-NAME/ CSIDL_COMMON_APPDATA 7 App_Factory Apps - [$APPFOLDER]/VST XMLs/$COMPANY/$PLUGIN-NAME/$UID/ Host Application (Cubase, ...) 8 App_Factory Apps - [$APPFOLDER]/VST XMLs/$COMPANY/$PLUGIN-NAME/ Host Application (Cubase, ...) -----------------------------------------------------------------------------------------------------------------------------------------
Back to Contents