VST 3 SDK VST 3.7
SDK for developing VST plug-in
Loading...
Searching...
No Matches
Component Class Reference

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

#include <vstcomponent.h>

+ Inheritance diagram for Component:

Public Member Functions

 Component ()
 Constructor.
 
void setControllerClass (const FUID &cid)
 Sets the controller Class ID associated to its component.
 
void setControllerClass (const TUID &cid)
 
tresult removeAudioBusses ()
 Removes all Audio Busses.
 
tresult removeEventBusses ()
 Removes all Event Busses.
 
tresult renameBus (MediaType type, BusDirection dir, int32 index, const String128 newName)
 Renames a specific bus.
 
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).
 
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.
 
IMessageallocateMessage () const
 Allocates a message instance (do not forget to release it).
 
tresult sendMessage (IMessage *message) const
 Sends the given message to the peer.
 
tresult sendTextMessage (const char8 *text) const
 Sends a simple text message to the peer (max 255 characters).
 
tresult sendMessageID (const char8 *messageID) const
 Sends a message with a given ID without any other payload.
 
virtual tresult receiveText (const char8 *text)
 Receives a simple text message from the peer (max 255 characters).
 
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 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 © Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.