VST 3 SDK: AudioEffect Class Reference
Author: Steinberg

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

- Main Page
- Related Pages
- 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 | Public Attributes | List of all members
AudioEffect Class Reference
VST Implementation Helper Classes

Default implementation for a VST 3 audio effect. More...

`#include <vstaudioeffect.h>`

Inheritance diagram for AudioEffect:

## Public Member Functions
| AudioEffect ()
| Constructor.
AudioBus * | addAudioInput (const TChar *name, SpeakerArrangement arr, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
| Creates and adds a new Audio input bus with a given speaker arrangement, busType (kMain or kAux).
AudioBus * | addAudioOutput (const TChar *name, SpeakerArrangement arr, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
| Creates and adds a new Audio output bus with a given speaker arrangement, busType (kMain or kAux).
AudioBus * | getAudioInput (int32 index)
| Retrieves an Audio Input Bus by index.
AudioBus * | getAudioOutput (int32 index)
| Retrieves an Audio Output Bus by index.
EventBus * | addEventInput (const TChar *name, int32 channels=16, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
| Creates and adds a new Event input bus with a given speaker arrangement, busType (kMain or kAux).
EventBus * | addEventOutput (const TChar *name, int32 channels=16, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
| Creates and adds a new Event output bus with a given speaker arrangement, busType (kMain or kAux).
EventBus * | getEventInput (int32 index)
| Retrieves an Event Input Bus by index.
EventBus * | getEventOutput (int32 index)
| Retrieves an Event Output Bus by index.
tresult | setBusArrangements (SpeakerArrangement *inputs, int32 numIns, SpeakerArrangement *outputs, int32 numOuts) SMTG_OVERRIDE
tresult | getBusArrangement (BusDirection dir, int32 busIndex, SpeakerArrangement &arr) SMTG_OVERRIDE
tresult | canProcessSampleSize (int32 symbolicSampleSize) SMTG_OVERRIDE
uint32 | getLatencySamples () SMTG_OVERRIDE
tresult | setupProcessing (ProcessSetup &setup) SMTG_OVERRIDE
tresult | setProcessing (TBool state) SMTG_OVERRIDE
tresult | process (ProcessData &data) SMTG_OVERRIDE
uint32 | getTailSamples () SMTG_OVERRIDE
uint32 | getProcessContextRequirements () SMTG_OVERRIDE
Public Member Functions inherited from Component
| 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 | getControllerClassId (TUID classID) SMTG_OVERRIDE
tresult | setIoMode (IoMode mode) SMTG_OVERRIDE
int32 | getBusCount (MediaType type, BusDirection dir) SMTG_OVERRIDE
tresult | getBusInfo (MediaType type, BusDirection dir, int32 index, BusInfo &info) SMTG_OVERRIDE
tresult | getRoutingInfo (RoutingInfo &inInfo, RoutingInfo &outInfo) SMTG_OVERRIDE
tresult | activateBus (MediaType type, BusDirection dir, int32 index, TBool state) SMTG_OVERRIDE
tresult | setActive (TBool state) SMTG_OVERRIDE
tresult | setState (IBStream *state) SMTG_OVERRIDE
tresult | getState (IBStream *state) SMTG_OVERRIDE
tresult | initialize (FUnknown *context) SMTG_OVERRIDE
tresult | terminate () SMTG_OVERRIDE
BusList * | getBusList (MediaType type, BusDirection dir)
tresult | removeAllBusses ()
Public Member Functions inherited from ComponentBase
| ComponentBase ()
| ~ComponentBase () override
FUnknown * | getHostContext () const
| Returns the hostContext (set by the host during initialize call).
IConnectionPoint * | getPeer () const
| Returns the peer for the messaging communication (you can only use IConnectionPoint::notify for communicate between peers, do not try to cast peerConnection.
IMessage * | allocateMessage () 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 | initialize (FUnknown *context) SMTG_OVERRIDE
tresult | terminate () SMTG_OVERRIDE
tresult | connect (IConnectionPoint *other) SMTG_OVERRIDE
tresult | disconnect (IConnectionPoint *other) SMTG_OVERRIDE
tresult | notify (IMessage *message) SMTG_OVERRIDE

## Public Attributes
OBJ_METHODS(AudioEffect, Component) DEFINE_INTERFACES DEF_INTERFACE(IAudioProcessor) DEF_INTERFACE(IProcessContextRequirements) END_DEFINE_INTERFACES(Component) REFCOUNT_METHODS(Component) protected ProcessContextRequirements | processContextRequirements
Public Attributes inherited from Component
OBJ_METHODS(Component, ComponentBase) DEFINE_INTERFACES DEF_INTERFACE(IComponent) END_DEFINE_INTERFACES(ComponentBase) REFCOUNT_METHODS(ComponentBase) protected BusList | audioInputs
BusList | audioOutputs
BusList | eventInputs
BusList | eventOutputs
Public Attributes inherited from ComponentBase
OBJ_METHODS(ComponentBase, FObject) DEFINE_INTERFACES DEF_INTERFACE(IPluginBase) DEF_INTERFACE(IConnectionPoint) END_DEFINE_INTERFACES(FObject) REFCOUNT_METHODS(FObject) protected IPtr < IConnectionPoint > | peerConnection
Public Attributes inherited from IProcessContextRequirements
| kNeedSystemTime
| kNeedContinousTimeSamples
| kNeedProjectTimeMusic
| kNeedBarPositionMusic
| kNeedCycleMusic
| kNeedSamplesToNextClock
| kNeedTempo
| kNeedTimeSignature
| kNeedChord
| kNeedFrameRate
| kNeedTransportState

## Additional Inherited Members
Public Types inherited from IProcessContextRequirements
enum | Flags
Static Public Attributes inherited from IPluginBase
static const FUID | iid
Static Public Attributes inherited from IConnectionPoint
static const FUID | iid
Static Public Attributes inherited from IComponent
static const FUID | iid
Static Public Attributes inherited from IAudioProcessor
static const FUID | iid
Static Public Attributes inherited from IProcessContextRequirements
static const FUID | iid

## Detailed Description

Default implementation for a VST 3 audio effect.

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

## Constructor & Destructor Documentation

AudioEffect | ( |  | ) |

Constructor.

## Member Function Documentation

AudioBus * addAudioInput | ( | const TChar * | name,
|  | SpeakerArrangement | arr,
|  | BusType | busType = `kMain`,
|  | int32 | flags = `BusInfo::kDefaultActive`
| ) |  |

Creates and adds a new Audio input bus with a given speaker arrangement, busType (kMain or kAux).

AudioBus * addAudioOutput | ( | const TChar * | name,
|  | SpeakerArrangement | arr,
|  | BusType | busType = `kMain`,
|  | int32 | flags = `BusInfo::kDefaultActive`
| ) |  |

Creates and adds a new Audio output bus with a given speaker arrangement, busType (kMain or kAux).

AudioBus * getAudioInput | ( | int32 | index | ) |

Retrieves an Audio Input Bus by index.

AudioBus * getAudioOutput | ( | int32 | index | ) |

Retrieves an Audio Output Bus by index.

EventBus * addEventInput | ( | const TChar * | name,
|  | int32 | channels = `16`,
|  | BusType | busType = `kMain`,
|  | int32 | flags = `BusInfo::kDefaultActive`
| ) |  |

Creates and adds a new Event input bus with a given speaker arrangement, busType (kMain or kAux).

EventBus * addEventOutput | ( | const TChar * | name,
|  | int32 | channels = `16`,
|  | BusType | busType = `kMain`,
|  | int32 | flags = `BusInfo::kDefaultActive`
| ) |  |

Creates and adds a new Event output bus with a given speaker arrangement, busType (kMain or kAux).

EventBus * getEventInput | ( | int32 | index | ) |

Retrieves an Event Input Bus by index.

EventBus * getEventOutput | ( | int32 | index | ) |

Retrieves an Event Output Bus by index.

tresult setBusArrangements | ( | SpeakerArrangement * | inputs,
|  | int32 | numIns,
|  | SpeakerArrangement * | outputs,
|  | int32 | numOuts
| ) |  |
| virtual

Implements IAudioProcessor.

tresult getBusArrangement | ( | BusDirection | dir,
|  | int32 | busIndex,
|  | SpeakerArrangement & | arr
| ) |  |
| virtual

Implements IAudioProcessor.

tresult canProcessSampleSize | ( | int32 | symbolicSampleSize | ) |
| virtual

Implements IAudioProcessor.

uint32 getLatencySamples | ( |  | ) |
| inlinevirtual

Implements IAudioProcessor.

tresult setupProcessing | ( | ProcessSetup & | setup | ) |
| virtual

Implements IAudioProcessor.

tresult setProcessing | ( | TBool | state | ) |
| virtual

Implements IAudioProcessor.

tresult process | ( | ProcessData & | data | ) |
| virtual

Implements IAudioProcessor.

uint32 getTailSamples | ( |  | ) |
| inlinevirtual

Implements IAudioProcessor.

uint32 getProcessContextRequirements | ( |  | ) |
| virtual

Implements IProcessContextRequirements.

## Member Data Documentation

OBJ_METHODS (AudioEffect, Component) DEFINE_INTERFACES DEF_INTERFACE (IAudioProcessor) DEF_INTERFACE (IProcessContextRequirements) END_DEFINE_INTERFACES (Component) REFCOUNT_METHODS (Component) protected ProcessContextRequirements processContextRequirements

Empty

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