VST 3 Interfaces: IComponent Class Reference
Author: Steinberg

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

Loading...
Searching...
No Matches
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.
virtual tresult | setIoMode (IoMode mode)=0
| Called before 'initialize' to set the component usage (optional).
virtual int32 | getBusCount (MediaType type, BusDirection dir)=0
| Called after the plug-in is initialized.
virtual tresult | getBusInfo (MediaType type, BusDirection dir, int32 index, BusInfo &bus)=0
| Called after the plug-in is initialized.
virtual tresult | getRoutingInfo (RoutingInfo &inInfo, RoutingInfo &outInfo)=0
| Retrieves routing information (to be implemented when more than one regular input or output bus exists).
virtual tresult | activateBus (MediaType type, BusDirection dir, int32 index, TBool state)=0
| Called upon (de-)activating a bus in the host application.
virtual tresult | setActive (TBool state)=0
| Activates / deactivates the component.
virtual tresult | setState (IBStream *state)=0
| Sets complete state of component.
virtual tresult | getState (IBStream *state)=0
| Retrieves complete state of component.
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.

Note
  [UI-thread & Created]

Implemented in Component, and SingleComponentEffect.

## ◆ setIoMode()

virtual tresult setIoMode | ( | IoMode | mode | ) |
| pure virtual

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

See IoModes.

Note
  [UI-thread & Created]

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.

Note
  [UI-thread & Initialized]

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.

Note
  [UI-thread & Initialized]

Implemented in Component, and SingleComponentEffect.

## ◆ 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!

Note
  [UI-thread & Initialized]

Implemented in Component, and SingleComponentEffect.

## ◆ 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 process) if last busses are not activated. An already activated bus does not need to be reactivated after a IAudioProcessor::setBusArrangements call.

Note
  [UI-thread & Setup Done]

Implemented in Component, and SingleComponentEffect.

## ◆ setActive()

virtual tresult setActive | ( | TBool | state | ) |
| pure virtual

Activates / deactivates the component.

Note
  [UI-thread & Setup Done]

Implemented in Component, and SingleComponentEffect.

## ◆ setState()

virtual tresult setState | ( | IBStream * | state | ) |
| pure virtual

Sets complete state of component.

Note
  [UI-thread & (Initialized | Connected | Setup Done | Activated | Processing)]

Implemented in Component, and SingleComponentEffect.

## ◆ getState()

virtual tresult getState | ( | IBStream * | state | ) |
| pure virtual

Retrieves complete state of component.

Note
  [UI-thread & (Initialized | Connected | Setup Done | Activated | Processing)]

Implemented in Component, and SingleComponentEffect.

## Member Data Documentation

## ◆ iid

const FUID iid
| static

Empty

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