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

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

#include <vstcomponentbase.h>

+ Inheritance diagram for ComponentBase:

Public Member Functions

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

Detailed Description

Base class for VST 3 Component and Edit Controller.

Constructor & Destructor Documentation

◆ ComponentBase()

◆ ~ComponentBase()

~ComponentBase ( )
override

Member Function Documentation

◆ getHostContext()

FUnknown* getHostContext ( ) const
inline

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

◆ getPeer()

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.

◆ allocateMessage()

IMessage * allocateMessage ( ) const

Allocates a message instance (do not forget to release it).

◆ sendMessage()

tresult sendMessage ( IMessage message) const

Sends the given message to the peer.

◆ sendTextMessage()

tresult sendTextMessage ( const char8 text) const

Sends a simple text message to the peer (max 255 characters).

Text is interpreted as UTF-8.

◆ sendMessageID()

tresult sendMessageID ( const char8 messageID) const

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

◆ receiveText()

tresult receiveText ( const char8 text)
virtual

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

Text is UTF-8 encoded.

◆ initialize()

tresult initialize ( FUnknown context)
virtual

Implements IPluginBase.

Reimplemented in EditController, and SingleComponentEffect.

◆ terminate()

tresult terminate ( )
virtual

◆ connect()

tresult connect ( IConnectionPoint other)
virtual

Implements IConnectionPoint.

◆ disconnect()

tresult disconnect ( IConnectionPoint other)
virtual

Implements IConnectionPoint.

◆ notify()

tresult notify ( IMessage message)
virtual

Implements IConnectionPoint.

Member Data Documentation

◆ peerConnection

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 ©2021 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.