VST 3 SDK VST 3.8
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
 
BusList * getBusList (MediaType type, BusDirection dir)
 
tresult removeAllBusses ()
 
- Public Member Functions inherited from ComponentBase
 ComponentBase ()
 
 ~ComponentBase () override
 
FUnknown * getHostContext () const
 Returns the hostContext (set by the host during initialize call).
 
IConnectionPoint * getPeer () const
 Returns the peer for the messaging communication (you can only use IConnectionPoint::notify for communicate between peers, do not try to cast peerConnection.
 
IMessage * allocateMessage () 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< IConnectionPoint > peerConnection
 

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.