36#define BEGIN_FACTORY_DEF(vendor,url,email) using namespace Steinberg; \
37 SMTG_EXPORT_SYMBOL IPluginFactory* PLUGIN_API GetPluginFactory () { \
38 if (!gPluginFactory) \
40 static PFactoryInfo factoryInfo (vendor, url, email, Vst::kDefaultFactoryFlags); \
41 gPluginFactory = new CPluginFactory (factoryInfo);
194 static const FUID iid;
197DECLARE_CLASS_IID (
IComponent, 0xE831FF31, 0xF2D54301, 0x928EBBEE, 0x25697802)
Handling 16 Byte Globally Unique Identifiers.
Basic interface to a plug-in component: IPluginBase.
Component base interface: Vst::IComponent.
virtual int32 PLUGIN_API getBusCount(MediaType type, BusDirection dir)=0
Called after the plug-in is initialized.
virtual tresult PLUGIN_API getBusInfo(MediaType type, BusDirection dir, int32 index, BusInfo &bus)=0
Called after the plug-in is initialized.
virtual tresult PLUGIN_API setState(IBStream *state)=0
Sets complete state of component.
virtual tresult PLUGIN_API getControllerClassId(TUID classId)=0
Called before initializing the component to get information about the controller class.
virtual tresult PLUGIN_API setIoMode(IoMode mode)=0
Called before 'initialize' to set the component usage (optional).
virtual tresult PLUGIN_API getState(IBStream *state)=0
Retrieves complete state of component.
virtual tresult PLUGIN_API getRoutingInfo(RoutingInfo &inInfo, RoutingInfo &outInfo)=0
Retrieves routing information (to be implemented when more than one regular input or output bus exist...
virtual tresult PLUGIN_API setActive(TBool state)=0
Activates / deactivates the component.
virtual tresult PLUGIN_API activateBus(MediaType type, BusDirection dir, int32 index, TBool state)=0
Called upon (de-)activating a bus in the host application.
BusDirections
Bus directions.
int32 IoMode
I/O mode (see vst3IoMode)
@ kAux
auxiliary bus (sidechain)
const int32 kDefaultFactoryFlags
Standard value for PFactoryInfo::flags.
int32 BusType
bus type (main/aux)
TChar String128[128]
128 character UTF-16 string
MediaTypes
Bus media types.
@ kSimple
1:1 Input / Output. Only used for Instruments. See vst3IoMode
@ kOfflineProcessing
plug-in used in an offline processing context
@ kAdvanced
n:m Input / Output. Only used for Instruments.
int32 BusDirection
bus direction (in/out)
MediaType mediaType
media type see MediaTypes
int32 channel
channel (-1 for all channels)
int32 MediaType
media type (audio/event)
Routing Information: When the plug-in supports multiple I/O busses, a host may want to know how the b...
@ kUnicode
Components have entirely unicode encoded strings (True for VST 3 plug-ins so far).
BusInfo: This is the structure used with getBusInfo, informing the host about what is a specific give...
MediaType mediaType
Media type - has to be a value of MediaTypes.
BusDirection direction
input or output BusDirections
@ kDefaultActive
The bus should be activated by the host per default on instantiation (activateBus call is requested).
@ kIsControlVoltage
The bus does not contain ordinary audio data, but data used for control changes at sample rate.
int32 channelCount
number of channels (if used then need to be recheck after IAudioProcessor::setBusArrangements is call...
BusType busType
main or aux - has to be a value of BusTypes
uint32 flags
flags - a combination of BusFlags
String128 name
name of the bus