VST 3 Interfaces: IComponent Class Reference
Author: Steinberg

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

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
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

virtual tresult getControllerClassId | ( | TUID | classId | ) |
| pure virtual

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

Implemented in AudioEffect, and SingleComponentEffect.

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

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

See IoModes

Implemented in AudioEffect, and SingleComponentEffect.

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

Called after the plug-in is initialized.

See MediaTypes, BusDirections

Implemented in AudioEffect, and SingleComponentEffect.

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 AudioEffect, and SingleComponentEffect.

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 AudioEffect, and SingleComponentEffect.

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 AudioEffect, and SingleComponentEffect.

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

Activates / deactivates the component.

Implemented in AudioEffect, and SingleComponentEffect.

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

Sets complete state of component.

Implemented in AudioEffect.

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

Retrieves complete state of component.

Implemented in AudioEffect.

## Member Data Documentation

const FUID iid
| static

Empty

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