VST 3 SDK VST 3.7 SDK for developing VST plug-in

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
Component Class Reference
VST Implementation Helper Classes

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 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 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 | ( |  | ) |

Constructor.

## Member Function Documentation

void setControllerClass | ( | const FUID & | cid | ) |
| inline

Sets the controller Class ID associated to its component.

void setControllerClass | ( | const TUID & | cid | ) |
| inline

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.

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

tresult getControllerClassId | ( | TUID | classID | ) |
| virtual

Implements IComponent.

tresult setIoMode | ( | IoMode | mode | ) |
| virtual

Implements IComponent.

int32 getBusCount | ( | MediaType | type,
|  | BusDirection | dir
| ) |  |
| virtual

Implements IComponent.

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

Implements IComponent.

tresult getRoutingInfo | ( | RoutingInfo & | inInfo,
|  | RoutingInfo & | outInfo
| ) |  |
| virtual

Implements IComponent.

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

Implements IComponent.

tresult setActive | ( | TBool | state | ) |
| virtual

Implements IComponent.

tresult setState | ( | IBStream * | state | ) |
| virtual

Implements IComponent.

tresult getState | ( | IBStream * | state | ) |
| virtual

Implements IComponent.

tresult initialize | ( | FUnknown * | context | ) |
| virtual

Implements IPluginBase.

tresult terminate | ( |  | ) |
| virtual

Implements IPluginBase.

BusList * getBusList | ( | MediaType | type,
|  | BusDirection | dir
| ) |  |

tresult removeAllBusses | ( |  | ) |

## Member Data Documentation

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

Empty

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