VST 3 Interfaces VST 3.7 SDK for developing VST plug-in

Public Member Functions | Static Public Attributes | List of all members
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.