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...
 
AudioBusaddAudioInput (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...
 
AudioBusaddAudioOutput (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...
 
AudioBusgetAudioInput (int32 index)
 Retrieves an Audio Input Bus by index. More...
 
AudioBusgetAudioOutput (int32 index)
 Retrieves an Audio Output Bus by index. More...
 
EventBusaddEventInput (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...
 
EventBusaddEventOutput (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...
 
EventBusgetEventInput (int32 index)
 Retrieves an Event Input Bus by index. More...
 
EventBusgetEventOutput (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
 
BusListgetBusList (MediaType type, BusDirection dir)
 
tresult removeAllBusses ()
 
- Public Member Functions inherited from ComponentBase
 ComponentBase ()
 
 ~ComponentBase () override
 
FUnknowngetHostContext () const
 Returns the hostContext (set by the host during initialize call). More...
 
IConnectionPointgetPeer () 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...
 
IMessageallocateMessage () 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< IConnectionPointpeerConnection
 
- 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.