VST 3 SDK VST 3.7
SDK for developing VST plug-in
AudioEffect Class Reference

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

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 ( )
inlinevirtual

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 ( )
inlinevirtual

Implements IAudioProcessor.

◆ getProcessContextRequirements()

uint32 getProcessContextRequirements ( )
virtual

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.