VST 3 SDK: ComponentBase Class Reference
Author: Steinberg

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
ComponentBase Class Reference
VST Implementation Helper Classes

Base class for VST 3 Component and Edit Controller. More...

`#include <vstcomponentbase.h>`

Inheritance diagram for ComponentBase:

## Public Member Functions
| 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(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

## Detailed Description

Base class for VST 3 Component and Edit Controller.

## Constructor & Destructor Documentation

ComponentBase | ( |  | ) |

~ComponentBase | ( |  | ) |
| override

## Member Function Documentation

FUnknown* getHostContext | ( |  | ) | const
| inline

Returns the hostContext (set by the host during initialize call).

IConnectionPoint* getPeer | ( |  | ) | const
| inline

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

Text is interpreted as UTF-8.

tresult sendMessageID | ( | const char8 * | messageID | ) | const

Sends a message with a given ID without any other payload.

tresult receiveText | ( | const char8 * | text | ) |
| virtual

Receives a simple text message from the peer (max 255 characters).

Text is UTF-8 encoded.

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

Implements IPluginBase.

Reimplemented in EditController, and SingleComponentEffect.

tresult terminate | ( |  | ) |
| virtual

Implements IPluginBase.

Reimplemented in EditControllerEx1, EditController, and SingleComponentEffect.

tresult connect | ( | IConnectionPoint * | other | ) |
| virtual

Implements IConnectionPoint.

tresult disconnect | ( | IConnectionPoint * | other | ) |
| virtual

Implements IConnectionPoint.

tresult notify | ( | IMessage * | message | ) |
| virtual

Implements IConnectionPoint.

## Member Data Documentation

OBJ_METHODS (ComponentBase, FObject) DEFINE_INTERFACES DEF_INTERFACE (IPluginBase) DEF_INTERFACE (IConnectionPoint) END_DEFINE_INTERFACES (FObject) REFCOUNT_METHODS (FObject) protected IPtr<IConnectionPoint> peerConnection

Empty

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