LMMS
Loading...
Searching...
No Matches
Steinberg::Vst::ComponentBase Class Reference

#include <vstcomponentbase.h>

Inheritance diagram for Steinberg::Vst::ComponentBase:
Steinberg::FObject Steinberg::IPluginBase Steinberg::Vst::IConnectionPoint Steinberg::IDependent Steinberg::FUnknown Steinberg::FUnknown Steinberg::FUnknown Steinberg::Vst::Component Steinberg::Vst::EditController Steinberg::Vst::EditControllerEx1

Public Member Functions

 ComponentBase ()
 ~ComponentBase () override
FUnknowngetHostContext () const
IConnectionPointgetPeer () const
IMessageallocateMessage () const
tresult sendMessage (IMessage *message) const
tresult sendTextMessage (const char8 *text) const
tresult sendMessageID (const char8 *messageID) const
virtual tresult receiveText (const char8 *text)
tresult PLUGIN_API initialize (FUnknown *context) SMTG_OVERRIDE
tresult PLUGIN_API terminate () SMTG_OVERRIDE
tresult PLUGIN_API connect (IConnectionPoint *other) SMTG_OVERRIDE
tresult PLUGIN_API disconnect (IConnectionPoint *other) SMTG_OVERRIDE
tresult PLUGIN_API notify (IMessage *message) SMTG_OVERRIDE
Public Member Functions inherited from Steinberg::FObject
 FObject ()
 default constructor...
 FObject (const FObject &)
 overloaded constructor...
virtual ~FObject ()
 destructor...
FObjectoperator= (const FObject &)
 overloads operator "=" as the reference assignment
virtual FClassID isA () const
 a local alternative to getFClassID ()
virtual bool isA (FClassID s) const
 evaluates if the passed ID is of the FObject type
virtual bool isTypeOf (FClassID s, bool=true) const
 evaluates if the passed ID is of the FObject type
int32 getRefCount ()
 returns the current interface reference count
FUnknownunknownCast ()
 get FUnknown interface from object
tresult PLUGIN_API queryInterface (const TUID _iid, void **obj) SMTG_OVERRIDE
 please refer to FUnknown::queryInterface ()
uint32 PLUGIN_API addRef () SMTG_OVERRIDE
 please refer to FUnknown::addref ()
uint32 PLUGIN_API release () SMTG_OVERRIDE
 please refer to FUnknown::release ()
void PLUGIN_API update (FUnknown *, int32) SMTG_OVERRIDE
 empty virtual method that should be overridden by derived classes for data updates upon changes
virtual void addDependent (IDependent *dep)
 adds dependency to the object
virtual void removeDependent (IDependent *dep)
 removes dependency from the object
virtual void changed (int32 msg=kChanged)
 Inform all dependents, that the object has changed.
virtual void deferUpdate (int32 msg=kChanged)
 Similar to triggerUpdates, except only delivered in idle (usefull in collecting updates).
virtual void updateDone (int32)
 empty virtual method that should be overridden by derived classes
virtual bool isEqualInstance (FUnknown *d)

Protected Attributes

IPtr< FUnknownhostContext
IPtr< IConnectionPointpeerConnection
Protected Attributes inherited from Steinberg::FObject
int32 refCount
 COM-model local reference count.

Additional Inherited Members

Public Types inherited from Steinberg::IDependent
enum  ChangeMessage {
  kWillChange , kChanged , kDestroyed , kWillDestroy ,
  kStdChangeMessageLast = kWillDestroy
}
Static Public Member Functions inherited from Steinberg::FObject
static FClassID getFClassID ()
 return Class ID as an ASCII string (statically)
static void setUpdateHandler (IUpdateHandler *handler)
 set method for the local attribute
static IUpdateHandlergetUpdateHandler ()
 get method for the local attribute
static bool classIDsEqual (FClassID ci1, FClassID ci2)
 compares (evaluates) 2 class IDs
static FObjectunknownToObject (FUnknown *unknown)
 pointer conversion from FUnknown to FObject
Static Public Attributes inherited from Steinberg::FObject
static const FUID iid
Static Public Attributes inherited from Steinberg::IDependent
static const FUID iid
Static Public Attributes inherited from Steinberg::FUnknown
static const FUID iid
Static Public Attributes inherited from Steinberg::IPluginBase
static const FUID iid
Static Public Attributes inherited from Steinberg::Vst::IConnectionPoint
static const FUID iid
Static Protected Attributes inherited from Steinberg::FObject
static IUpdateHandlergUpdateHandler = nullptr

Detailed Description

Base class for VST 3 Component and Edit Controller.

Constructor & Destructor Documentation

◆ ComponentBase()

Steinberg::Vst::ComponentBase::ComponentBase ( )

◆ ~ComponentBase()

Steinberg::Vst::ComponentBase::~ComponentBase ( )
override

Member Function Documentation

◆ allocateMessage()

IMessage * Steinberg::Vst::ComponentBase::allocateMessage ( ) const

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

◆ connect()

tresult PLUGIN_API Steinberg::Vst::ComponentBase::connect ( IConnectionPoint * other)
virtual

Connects this instance with another connection point.

Implements Steinberg::Vst::IConnectionPoint.

◆ disconnect()

tresult PLUGIN_API Steinberg::Vst::ComponentBase::disconnect ( IConnectionPoint * other)
virtual

Disconnects a given connection point from this.

Implements Steinberg::Vst::IConnectionPoint.

◆ getHostContext()

FUnknown * Steinberg::Vst::ComponentBase::getHostContext ( ) const
inline

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

◆ getPeer()

IConnectionPoint * Steinberg::Vst::ComponentBase::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.

◆ initialize()

tresult PLUGIN_API Steinberg::Vst::ComponentBase::initialize ( FUnknown * context)
virtual

The host passes a number of interfaces as context to initialize the plug-in class.

Note
Extensive memory allocations etc. should be performed in this method rather than in the class' constructor! If the method does NOT return kResultOk, the object is released immediately. In this case terminate is not called!

Implements Steinberg::IPluginBase.

Reimplemented in Steinberg::Vst::EditController.

◆ notify()

tresult PLUGIN_API Steinberg::Vst::ComponentBase::notify ( IMessage * message)
virtual

Called when a message has been sent from the connection point to this.

Implements Steinberg::Vst::IConnectionPoint.

◆ receiveText()

tresult Steinberg::Vst::ComponentBase::receiveText ( const char8 * text)
virtual

Receives a simple text message from the peer (max 255 characters). Text is UTF-8 encoded.

◆ sendMessage()

tresult Steinberg::Vst::ComponentBase::sendMessage ( IMessage * message) const

Sends the given message to the peer.

◆ sendMessageID()

tresult Steinberg::Vst::ComponentBase::sendMessageID ( const char8 * messageID) const

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

◆ sendTextMessage()

tresult Steinberg::Vst::ComponentBase::sendTextMessage ( const char8 * text) const

Sends a simple text message to the peer (max 255 characters). Text is interpreted as UTF-8.

◆ terminate()

tresult PLUGIN_API Steinberg::Vst::ComponentBase::terminate ( )
virtual

This function is called before the plug-in is unloaded and can be used for cleanups. You have to release all references to any host application interfaces.

Implements Steinberg::IPluginBase.

Reimplemented in Steinberg::Vst::EditController, and Steinberg::Vst::EditControllerEx1.

Member Data Documentation

◆ hostContext

IPtr<FUnknown> Steinberg::Vst::ComponentBase::hostContext
protected

◆ peerConnection

IPtr<IConnectionPoint> Steinberg::Vst::ComponentBase::peerConnection
protected

The documentation for this class was generated from the following files: