VST 3 SDK  VST 3.7
SDK for developing VST plug-in
Component Class Reference

Default implementation for a VST 3 Component. More...

#include <vstcomponent.h>

+ Inheritance diagram for Component:

Public Member Functions

 Component ()
 Constructor. More...
 
void setControllerClass (const FUID &cid)
 Sets the controller Class ID associated to its component. More...
 
void setControllerClass (const TUID &cid)
 
tresult removeAudioBusses ()
 Removes all Audio Busses. More...
 
tresult removeEventBusses ()
 Removes all Event Busses. More...
 
tresult renameBus (MediaType type, BusDirection dir, int32 index, const String128 newName)
 Renames a specific bus. More...
 
tresult getControllerClassId (TUID classID) SMTG_OVERRIDE
 
tresult setIoMode (IoMode mode) SMTG_OVERRIDE
 
int32 getBusCount (MediaType type, BusDirection dir) SMTG_OVERRIDE
 
tresult getBusInfo (MediaType type, BusDirection dir, int32 index, BusInfo &info) SMTG_OVERRIDE
 
tresult getRoutingInfo (RoutingInfo &inInfo, RoutingInfo &outInfo) SMTG_OVERRIDE
 
tresult activateBus (MediaType type, BusDirection dir, int32 index, TBool state) SMTG_OVERRIDE
 
tresult setActive (TBool state) SMTG_OVERRIDE
 
tresult setState (IBStream *state) SMTG_OVERRIDE
 
tresult getState (IBStream *state) SMTG_OVERRIDE
 
tresult initialize (FUnknown *context) SMTG_OVERRIDE
 
tresult terminate () SMTG_OVERRIDE
 
BusListgetBusList (MediaType type, BusDirection dir)
 
tresult removeAllBusses ()
 
- Public Member Functions inherited from ComponentBase
 ComponentBase ()
 
 ~ComponentBase () override
 
FUnknowngetHostContext () const
 Returns the hostContext (set by the host during initialize call). More...
 
IConnectionPointgetPeer () const
 Returns the peer for the messaging communication (you can only use IConnectionPoint::notify for communicate between peers, do not try to cast peerConnection. More...
 
IMessageallocateMessage () const
 Allocates a message instance (do not forget to release it). More...
 
tresult sendMessage (IMessage *message) const
 Sends the given message to the peer. More...
 
tresult sendTextMessage (const char8 *text) const
 Sends a simple text message to the peer (max 255 characters). More...
 
tresult sendMessageID (const char8 *messageID) const
 Sends a message with a given ID without any other payload. More...
 
virtual tresult receiveText (const char8 *text)
 Receives a simple text message from the peer (max 255 characters). More...
 
tresult initialize (FUnknown *context) SMTG_OVERRIDE
 
tresult terminate () SMTG_OVERRIDE
 
tresult connect (IConnectionPoint *other) SMTG_OVERRIDE
 
tresult disconnect (IConnectionPoint *other) SMTG_OVERRIDE
 
tresult notify (IMessage *message) SMTG_OVERRIDE
 
- Public Member Functions inherited from FUnknown
virtual tresult queryInterface (const TUID _iid, void **obj)=0
 
virtual uint32 addRef ()=0
 
virtual uint32 release ()=0
 

Public Attributes

OBJ_METHODS(Component, ComponentBase) DEFINE_INTERFACES DEF_INTERFACE(IComponent) END_DEFINE_INTERFACES(ComponentBase) REFCOUNT_METHODS(ComponentBase) protected BusList audioInputs
 
BusList audioOutputs
 
BusList eventInputs
 
BusList eventOutputs
 
- Public Attributes inherited from ComponentBase
OBJ_METHODS(ComponentBase, FObject) DEFINE_INTERFACES DEF_INTERFACE(IPluginBase) DEF_INTERFACE(IConnectionPoint) END_DEFINE_INTERFACES(FObject) REFCOUNT_METHODS(FObject) protected IPtr< IConnectionPointpeerConnection
 

Additional Inherited Members

- Static Public Attributes inherited from IPluginBase
static const FUID iid
 
- Static Public Attributes inherited from FUnknown
static const FUID iid
 
- Static Public Attributes inherited from IConnectionPoint
static const FUID iid
 
- Static Public Attributes inherited from IComponent
static const FUID iid
 

Detailed Description

Default implementation for a VST 3 Component.

Can be used as base class for a VST 3 component implementation.

Constructor & Destructor Documentation

◆ Component()

Component ( )

Constructor.

Member Function Documentation

◆ setControllerClass() [1/2]

void setControllerClass ( const FUID cid)
inline

Sets the controller Class ID associated to its component.

◆ setControllerClass() [2/2]

void setControllerClass ( const TUID cid)
inline

◆ removeAudioBusses()

tresult removeAudioBusses ( )

Removes all Audio Busses.

◆ removeEventBusses()

tresult removeEventBusses ( )

Removes all Event Busses.

◆ renameBus()

tresult renameBus ( MediaType  type,
BusDirection  dir,
int32  index,
const String128  newName 
)

Renames a specific bus.

Do not forget to inform the host about this (see IComponentHandler::restartComponent (kIoTitlesChanged)).

◆ getControllerClassId()

tresult getControllerClassId ( TUID  classID)
virtual

Implements IComponent.

◆ setIoMode()

tresult setIoMode ( IoMode  mode)
virtual

Implements IComponent.

◆ getBusCount()

int32 getBusCount ( MediaType  type,
BusDirection  dir 
)
virtual

Implements IComponent.

◆ getBusInfo()

tresult getBusInfo ( MediaType  type,
BusDirection  dir,
int32  index,
BusInfo info 
)
virtual

Implements IComponent.

◆ getRoutingInfo()

tresult getRoutingInfo ( RoutingInfo inInfo,
RoutingInfo outInfo 
)
virtual

Implements IComponent.

◆ activateBus()

tresult activateBus ( MediaType  type,
BusDirection  dir,
int32  index,
TBool  state 
)
virtual

Implements IComponent.

◆ setActive()

tresult setActive ( TBool  state)
virtual

Implements IComponent.

◆ setState()

tresult setState ( IBStream state)
virtual

Implements IComponent.

◆ getState()

tresult getState ( IBStream state)
virtual

Implements IComponent.

◆ initialize()

tresult initialize ( FUnknown context)
virtual

Implements IPluginBase.

◆ terminate()

tresult terminate ( )
virtual

Implements IPluginBase.

◆ getBusList()

BusList * getBusList ( MediaType  type,
BusDirection  dir 
)

◆ removeAllBusses()

tresult removeAllBusses ( )

Member Data Documentation

◆ audioInputs

OBJ_METHODS (Component, ComponentBase) DEFINE_INTERFACES DEF_INTERFACE (IComponent) END_DEFINE_INTERFACES (ComponentBase) REFCOUNT_METHODS (ComponentBase) protected BusList audioInputs

◆ audioOutputs

BusList audioOutputs

◆ eventInputs

BusList eventInputs

◆ eventOutputs

BusList eventOutputs
Empty

Copyright ©2021 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.