JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Steinberg::Vst::Component Class Reference

Default implementation for a VST 3 Component. More...

#include "vstcomponent.h"

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

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 PLUGIN_API getControllerClassId (TUID classID) SMTG_OVERRIDE
 Called before initializing the component to get information about the controller class.
 
tresult PLUGIN_API setIoMode (IoMode mode) SMTG_OVERRIDE
 Called before 'initialize' to set the component usage (optional).
 
int32 PLUGIN_API getBusCount (MediaType type, BusDirection dir) SMTG_OVERRIDE
 Called after the plug-in is initialized.
 
tresult PLUGIN_API getBusInfo (MediaType type, BusDirection dir, int32 index, BusInfo &info) SMTG_OVERRIDE
 Called after the plug-in is initialized.
 
tresult PLUGIN_API getRoutingInfo (RoutingInfo &inInfo, RoutingInfo &outInfo) SMTG_OVERRIDE
 Retrieves routing information (to be implemented when more than one regular input or output bus exists).
 
tresult PLUGIN_API activateBus (MediaType type, BusDirection dir, int32 index, TBool state) SMTG_OVERRIDE
 Called upon (de-)activating a bus in the host application.
 
tresult PLUGIN_API setActive (TBool state) SMTG_OVERRIDE
 Activates / deactivates the component.
 
tresult PLUGIN_API setState (IBStream *state) SMTG_OVERRIDE
 Sets complete state of component.
 
tresult PLUGIN_API getState (IBStream *state) SMTG_OVERRIDE
 Retrieves complete state of component.
 
tresult PLUGIN_API initialize (FUnknown *context) SMTG_OVERRIDE
 The host passes a number of interfaces as context to initialize the plug-in class.
 
tresult PLUGIN_API terminate () SMTG_OVERRIDE
 This function is called before the plug-in is unloaded and can be used for cleanups.
 
- Public Member Functions inherited from Steinberg::Vst::ComponentBase
FUnknowngetHostContext () const
 Returns the hostContext (set by the host during initialize call).
 
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.
 
IMessageallocateMessage () 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 PLUGIN_API initialize (FUnknown *context) SMTG_OVERRIDE
 The host passes a number of interfaces as context to initialize the plug-in class.
 
tresult PLUGIN_API terminate () SMTG_OVERRIDE
 This function is called before the plug-in is unloaded and can be used for cleanups.
 
tresult PLUGIN_API connect (IConnectionPoint *other) SMTG_OVERRIDE
 Connects this instance with another connection point.
 
tresult PLUGIN_API disconnect (IConnectionPoint *other) SMTG_OVERRIDE
 Disconnects a given connection point from this.
 
tresult PLUGIN_API notify (IMessage *message) SMTG_OVERRIDE
 Called when a message has been sent from the connection point to this.
 
- Public Member Functions inherited from Steinberg::FObject
 FObject ()=default
 default constructor...
 
 FObject (const FObject &)
 
FObjectoperator= (const FObject &)
 overloads operator "=" as the reference assignment
 
virtual ~FObject ()
 destructor...
 
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 Member Functions

BusListgetBusList (MediaType type, BusDirection dir)
 
tresult removeAllBusses ()
 

Protected Attributes

FUID controllerClass
 
BusList audioInputs
 
BusList audioOutputs
 
BusList eventInputs
 
BusList eventOutputs
 
- Protected Attributes inherited from Steinberg::Vst::ComponentBase
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
}
 
- 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
 Special UID that is used to cast an FUnknown pointer to a FObject.
 
- 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 Public Attributes inherited from Steinberg::Vst::IComponent
static const FUID iid
 
- Static Protected Attributes inherited from Steinberg::FObject
static IUpdateHandlergUpdateHandler
 

Detailed Description

Default implementation for a VST 3 Component.

Can be used as base class for a VST 3 component implementation.

Definition at line 52 of file vstcomponent.h.

Constructor & Destructor Documentation

◆ Component()

Steinberg::Vst::Component::Component ( )

Constructor.

Definition at line 45 of file vstcomponent.cpp.

Member Function Documentation

◆ activateBus()

tresult PLUGIN_API Steinberg::Vst::Component::activateBus ( MediaType  type,
BusDirection  dir,
int32  index,
TBool  state 
)
virtual

Called upon (de-)activating a bus in the host application.

The plug-in should only processed an activated bus, the host could provide less see AudioBusBuffers in the process call (see IAudioProcessor::process) if last busses are not activated. An already activated bus does not need to be reactivated after a IAudioProcessor::setBusArrangements call.

Implements Steinberg::Vst::IComponent.

Definition at line 156 of file vstcomponent.cpp.

◆ getBusCount()

int32 PLUGIN_API Steinberg::Vst::Component::getBusCount ( MediaType  type,
BusDirection  dir 
)
virtual

Called after the plug-in is initialized.

See MediaTypes, BusDirections

Implements Steinberg::Vst::IComponent.

Definition at line 123 of file vstcomponent.cpp.

◆ getBusInfo()

tresult PLUGIN_API Steinberg::Vst::Component::getBusInfo ( MediaType  type,
BusDirection  dir,
int32  index,
BusInfo bus 
)
virtual

Called after the plug-in is initialized.

See MediaTypes, BusDirections

Implements Steinberg::Vst::IComponent.

Definition at line 130 of file vstcomponent.cpp.

◆ getBusList()

BusList * Steinberg::Vst::Component::getBusList ( MediaType  type,
BusDirection  dir 
)
protected

Definition at line 69 of file vstcomponent.cpp.

◆ getControllerClassId()

tresult PLUGIN_API Steinberg::Vst::Component::getControllerClassId ( TUID  classId)
virtual

Called before initializing the component to get information about the controller class.

Implements Steinberg::Vst::IComponent.

Definition at line 106 of file vstcomponent.cpp.

◆ getRoutingInfo()

tresult PLUGIN_API Steinberg::Vst::Component::getRoutingInfo ( RoutingInfo inInfo,
RoutingInfo outInfo 
)
virtual

Retrieves routing information (to be implemented when more than one regular input or output bus exists).

The inInfo always refers to an input bus while the returned outInfo must refer to an output bus!

Implements Steinberg::Vst::IComponent.

Definition at line 150 of file vstcomponent.cpp.

◆ getState()

tresult PLUGIN_API Steinberg::Vst::Component::getState ( IBStream state)
virtual

Retrieves complete state of component.

Implements Steinberg::Vst::IComponent.

Definition at line 185 of file vstcomponent.cpp.

◆ initialize()

tresult PLUGIN_API Steinberg::Vst::Component::initialize ( FUnknown context)
virtual

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

Parameters
context,passedby the host, is mandatory and should implement IHostApplication
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.

Definition at line 54 of file vstcomponent.cpp.

◆ removeAllBusses()

tresult Steinberg::Vst::Component::removeAllBusses ( )
protected

Definition at line 97 of file vstcomponent.cpp.

◆ removeAudioBusses()

tresult Steinberg::Vst::Component::removeAudioBusses ( )

Removes all Audio Busses.

Definition at line 79 of file vstcomponent.cpp.

◆ removeEventBusses()

tresult Steinberg::Vst::Component::removeEventBusses ( )

Removes all Event Busses.

Definition at line 88 of file vstcomponent.cpp.

◆ renameBus()

tresult Steinberg::Vst::Component::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)).

Definition at line 191 of file vstcomponent.cpp.

◆ setActive()

tresult PLUGIN_API Steinberg::Vst::Component::setActive ( TBool  state)
virtual

Activates / deactivates the component.

Implements Steinberg::Vst::IComponent.

Definition at line 173 of file vstcomponent.cpp.

◆ setControllerClass() [1/2]

void Steinberg::Vst::Component::setControllerClass ( const FUID cid)

Sets the controller Class ID associated to its component.

Definition at line 61 of file vstcomponent.h.

◆ setControllerClass() [2/2]

void Steinberg::Vst::Component::setControllerClass ( const TUID cid)

Definition at line 62 of file vstcomponent.h.

◆ setIoMode()

tresult PLUGIN_API Steinberg::Vst::Component::setIoMode ( IoMode  mode)
virtual

Called before 'initialize' to set the component usage (optional).

See IoModes

Implements Steinberg::Vst::IComponent.

Definition at line 117 of file vstcomponent.cpp.

◆ setState()

tresult PLUGIN_API Steinberg::Vst::Component::setState ( IBStream state)
virtual

Sets complete state of component.

Implements Steinberg::Vst::IComponent.

Definition at line 179 of file vstcomponent.cpp.

◆ terminate()

tresult PLUGIN_API Steinberg::Vst::Component::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.

Definition at line 60 of file vstcomponent.cpp.

Member Data Documentation

◆ audioInputs

BusList Steinberg::Vst::Component::audioInputs
protected

Definition at line 99 of file vstcomponent.h.

◆ audioOutputs

BusList Steinberg::Vst::Component::audioOutputs
protected

Definition at line 100 of file vstcomponent.h.

◆ controllerClass

FUID Steinberg::Vst::Component::controllerClass
protected

Definition at line 98 of file vstcomponent.h.

◆ eventInputs

BusList Steinberg::Vst::Component::eventInputs
protected

Definition at line 101 of file vstcomponent.h.

◆ eventOutputs

BusList Steinberg::Vst::Component::eventOutputs
protected

Definition at line 102 of file vstcomponent.h.


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