VST 3 Interfaces VST 3.7
SDK for developing VST plug-in
IComponent Class Referenceabstract

Component base interface: Vst::IComponent. More...

#include <ivstcomponent.h>

+ Inheritance diagram for IComponent:

Public Member Functions

virtual tresult getControllerClassId (TUID classId)=0
 Called before initializing the component to get information about the controller class. More...
 
virtual tresult setIoMode (IoMode mode)=0
 Called before 'initialize' to set the component usage (optional). More...
 
virtual int32 getBusCount (MediaType type, BusDirection dir)=0
 Called after the plug-in is initialized. More...
 
virtual tresult getBusInfo (MediaType type, BusDirection dir, int32 index, BusInfo &bus)=0
 Called after the plug-in is initialized. More...
 
virtual tresult getRoutingInfo (RoutingInfo &inInfo, RoutingInfo &outInfo)=0
 Retrieves routing information (to be implemented when more than one regular input or output bus exists). More...
 
virtual tresult activateBus (MediaType type, BusDirection dir, int32 index, TBool state)=0
 Called upon (de-)activating a bus in the host application. More...
 
virtual tresult setActive (TBool state)=0
 Activates / deactivates the component. More...
 
virtual tresult setState (IBStream *state)=0
 Sets complete state of component. More...
 
virtual tresult getState (IBStream *state)=0
 Retrieves complete state of component. More...
 
- Public Member Functions inherited from IPluginBase
virtual tresult initialize (FUnknown *context)=0
 
virtual tresult terminate ()=0
 
- Public Member Functions inherited from FUnknown
virtual tresult queryInterface (const TUID _iid, void **obj)=0
 
virtual uint32 addRef ()=0
 
virtual uint32 release ()=0
 

Static Public Attributes

static const FUID iid
 
- Static Public Attributes inherited from IPluginBase
static const FUID iid
 
- Static Public Attributes inherited from FUnknown
static const FUID iid
 

Detailed Description

Component base interface: Vst::IComponent.

  • [plug imp]
  • [released: 3.0.0]
  • [mandatory]

This is the basic interface for a VST component and must always be supported. It contains the common parts of any kind of processing class. The parts that are specific to a media type are defined in a separate interface. An implementation component must provide both the specific interface and IComponent.

See also
IPluginBase

Member Function Documentation

◆ getControllerClassId()

virtual tresult getControllerClassId ( TUID  classId)
pure virtual

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

Implemented in Component, and SingleComponentEffect.

◆ setIoMode()

virtual tresult setIoMode ( IoMode  mode)
pure virtual

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

See IoModes

Implemented in Component, and SingleComponentEffect.

◆ getBusCount()

virtual int32 getBusCount ( MediaType  type,
BusDirection  dir 
)
pure virtual

Called after the plug-in is initialized.

See MediaTypes, BusDirections

Implemented in Component, and SingleComponentEffect.

◆ getBusInfo()

virtual tresult getBusInfo ( MediaType  type,
BusDirection  dir,
int32  index,
BusInfo bus 
)
pure virtual

Called after the plug-in is initialized.

See MediaTypes, BusDirections

Implemented in SingleComponentEffect, and Component.

◆ getRoutingInfo()

virtual tresult getRoutingInfo ( RoutingInfo inInfo,
RoutingInfo outInfo 
)
pure 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!

Implemented in SingleComponentEffect, and Component.

◆ activateBus()

virtual tresult activateBus ( MediaType  type,
BusDirection  dir,
int32  index,
TBool  state 
)
pure 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.

Implemented in Component, and SingleComponentEffect.

◆ setActive()

virtual tresult setActive ( TBool  state)
pure virtual

Activates / deactivates the component.

Implemented in Component, and SingleComponentEffect.

◆ setState()

virtual tresult setState ( IBStream state)
pure virtual

Sets complete state of component.

Implemented in SingleComponentEffect, and Component.

◆ getState()

virtual tresult getState ( IBStream state)
pure virtual

Retrieves complete state of component.

Implemented in SingleComponentEffect, and Component.

Member Data Documentation

◆ iid

const FUID iid
static
Empty

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