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

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. More...
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). More...
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). More...
AudioBus * | getAudioInput (int32 index)
| Retrieves an Audio Input Bus by index. More...
AudioBus * | getAudioOutput (int32 index)
| Retrieves an Audio Output Bus by index. More...
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). More...
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). More...
EventBus * | getEventInput (int32 index)
| Retrieves an Event Input Bus by index. More...
EventBus * | getEventOutput (int32 index)
| Retrieves an Event Output Bus by index. More...
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. More...
void | setControllerClass (const FUID &cid)
| Sets the controller Class ID associated to its component. More...
void | setControllerClass (const TUID &cid)
tresult | removeAudioBusses ()
| Removes all Audio Busses. More...
tresult | removeEventBusses ()
| Removes all Event Busses. More...
tresult | renameBus (MediaType type, BusDirection dir, int32 index, const String128 newName)
| Renames a specific bus. More...
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). More...
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. More...
IMessage * | allocateMessage () const
| Allocates a message instance (do not forget to release it). More...
tresult | sendMessage (IMessage *message) const
| Sends the given message to the peer. More...
tresult | sendTextMessage (const char8 *text) const
| Sends a simple text message to the peer (max 255 characters). More...
tresult | sendMessageID (const char8 *messageID) const
| Sends a message with a given ID without any other payload. More...
virtual tresult | receiveText (const char8 *text)
| Receives a simple text message from the peer (max 255 characters). More...
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
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
virtual tresult | connect (IConnectionPoint *other)=0
virtual tresult | disconnect (IConnectionPoint *other)=0
virtual tresult | notify (IMessage *message)=0
virtual tresult | getControllerClassId (TUID classId)=0
virtual tresult | setIoMode (IoMode mode)=0
virtual int32 | getBusCount (MediaType type, BusDirection dir)=0
virtual tresult | getBusInfo (MediaType type, BusDirection dir, int32 index, BusInfo &bus)=0
virtual tresult | getRoutingInfo (RoutingInfo &inInfo, RoutingInfo &outInfo)=0
virtual tresult | activateBus (MediaType type, BusDirection dir, int32 index, TBool state)=0
virtual tresult | setActive (TBool state)=0
virtual tresult | setState (IBStream *state)=0
virtual tresult | getState (IBStream *state)=0
virtual tresult | setBusArrangements (SpeakerArrangement *inputs, int32 numIns, SpeakerArrangement *outputs, int32 numOuts)=0
virtual tresult | getBusArrangement (BusDirection dir, int32 index, SpeakerArrangement &arr)=0
virtual tresult | canProcessSampleSize (int32 symbolicSampleSize)=0
virtual uint32 | getLatencySamples ()=0
virtual tresult | setupProcessing (ProcessSetup &setup)=0
virtual tresult | setProcessing (TBool state)=0
virtual tresult | process (ProcessData &data)=0
virtual uint32 | getTailSamples ()=0
virtual uint32 | getProcessContextRequirements ()=0

## 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 FUnknown
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()

AudioEffect | ( |  | ) |

Constructor.

## Member Function Documentation

## ◆ addAudioInput()

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).

## ◆ addAudioOutput()

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).

## ◆ getAudioInput()

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

Retrieves an Audio Input Bus by index.

## ◆ getAudioOutput()

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

Retrieves an Audio Output Bus by index.

## ◆ addEventInput()

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).

## ◆ addEventOutput()

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).

## ◆ getEventInput()

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

Retrieves an Event Input Bus by index.

## ◆ getEventOutput()

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

Retrieves an Event Output Bus by index.

## ◆ setBusArrangements()

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

Implements IAudioProcessor.

## ◆ getBusArrangement()

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

Implements IAudioProcessor.

## ◆ canProcessSampleSize()

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

Implements IAudioProcessor.

## ◆ getLatencySamples()

uint32 getLatencySamples | ( |  | ) |
| inline virtual

Implements IAudioProcessor.

## ◆ setupProcessing()

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

Implements IAudioProcessor.

## ◆ setProcessing()

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

Implements IAudioProcessor.

## ◆ process()

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

Implements IAudioProcessor.

## ◆ getTailSamples()

uint32 getTailSamples | ( |  | ) |
| inline virtual

Implements IAudioProcessor.

## ◆ getProcessContextRequirements()

uint32 getProcessContextRequirements | ( |  | ) |
| virtual

Implements IProcessContextRequirements.

## Member Data Documentation

## ◆ processContextRequirements

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

Empty

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