VST 3 SDK VST 3.8
SDK for developing VST plug-in
Loading...
Searching...
No Matches
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
 
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(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
 

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