VST 3 Examples VST 3.7
SDK for developing VST plug-in
Processor Class Referenceabstract

#include <mdaBaseProcessor.h>

+ Inheritance diagram for Processor:

Protected Types

using StateT = std::vector< ParamValue >
 

Protected Member Functions

 Processor ()
 
 ~Processor ()
 
virtual void doProcessing (ProcessData &data)=0
 
virtual void preProcess ()
 
virtual bool bypassProcessing (ProcessData &data)
 
virtual void processEvent (const Event &)
 
virtual void checkSilence (ProcessData &data)
 
virtual void setBypass (bool state, int32 sampleOffset)
 
virtual bool processParameterChanges (IParameterChanges *changes)
 
virtual void setParameter (ParamID index, ParamValue newValue, int32 sampleOffset)
 
virtual void allocParameters (int32 numParams)
 
virtual void recalculate ()
 
virtual bool hasProgram () const
 
virtual uint32 getCurrentProgram () const
 
virtual uint32 getNumPrograms () const
 
virtual void setCurrentProgram (uint32)
 
virtual void setCurrentProgramNormalized (ParamValue)
 
virtual int32 getVst2UniqueId () const =0
 
void processEvents (IEventList *events)
 
bool isBypassed () const
 
double getSampleRate () const
 
tresult process (ProcessData &data) SMTG_OVERRIDE
 
tresult setupProcessing (ProcessSetup &setup) SMTG_OVERRIDE
 
tresult setActive (TBool state) SMTG_OVERRIDE
 
tresult setBusArrangements (SpeakerArrangement *inputs, int32 numIns, SpeakerArrangement *outputs, int32 numOuts) SMTG_OVERRIDE
 
tresult setState (IBStream *state) final
 
tresult getState (IBStream *state) final
 
bool checkStateTransfer ()
 

Protected Attributes

ParamValueparams
 
uint32 numParams
 
int32 bypassRamp
 
float * bypassBuffer0
 
float * bypassBuffer1
 
bool bypassState
 
RTTransferT< StateTstateTransfer
 

Additional Inherited Members

- Public Types inherited from IProcessContextRequirements
enum  Flags
 
- Public Member Functions inherited from AudioEffect
 AudioEffect ()
 
AudioBusaddAudioInput (const TChar *name, SpeakerArrangement arr, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
 
AudioBusaddAudioOutput (const TChar *name, SpeakerArrangement arr, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
 
AudioBusgetAudioInput (int32 index)
 
AudioBusgetAudioOutput (int32 index)
 
EventBusaddEventInput (const TChar *name, int32 channels=16, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
 
EventBusaddEventOutput (const TChar *name, int32 channels=16, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
 
EventBusgetEventInput (int32 index)
 
EventBusgetEventOutput (int32 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 ()
 
void setControllerClass (const FUID &cid)
 
void setControllerClass (const TUID &cid)
 
tresult removeAudioBusses ()
 
tresult removeEventBusses ()
 
tresult renameBus (MediaType type, BusDirection dir, int32 index, const String128 newName)
 
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
 
IConnectionPointgetPeer () const
 
IMessageallocateMessage () const
 
tresult sendMessage (IMessage *message) const
 
tresult sendTextMessage (const char8 *text) const
 
tresult sendMessageID (const char8 *messageID) const
 
virtual tresult receiveText (const char8 *text)
 
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 inherited from AudioEffect
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
 
- 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
 

Member Typedef Documentation

◆ StateT

using StateT = std::vector<ParamValue>
protected

Constructor & Destructor Documentation

◆ Processor()

Processor ( )
protected

◆ ~Processor()

~Processor ( )
protected

Member Function Documentation

◆ doProcessing()

◆ preProcess()

virtual void preProcess ( )
inlineprotectedvirtual

◆ bypassProcessing()

bool bypassProcessing ( ProcessData data)
protectedvirtual

Reimplemented in SpecMeterProcessor.

◆ processEvent()

virtual void processEvent ( const Event )
inlineprotectedvirtual

◆ checkSilence()

void checkSilence ( ProcessData data)
protectedvirtual

◆ setBypass()

void setBypass ( bool  state,
int32  sampleOffset 
)
protectedvirtual

◆ processParameterChanges()

bool processParameterChanges ( IParameterChanges changes)
protectedvirtual

Reimplemented in SampleAccurateBaseProcessor.

◆ setParameter()

void setParameter ( ParamID  index,
ParamValue  newValue,
int32  sampleOffset 
)
protectedvirtual

◆ allocParameters()

void allocParameters ( int32  numParams)
protectedvirtual

Reimplemented in SampleAccurateBaseProcessor.

◆ recalculate()

◆ hasProgram()

virtual bool hasProgram ( ) const
inlineprotectedvirtual

◆ getCurrentProgram()

virtual uint32 getCurrentProgram ( ) const
inlineprotectedvirtual

◆ getNumPrograms()

virtual uint32 getNumPrograms ( ) const
inlineprotectedvirtual

◆ setCurrentProgram()

virtual void setCurrentProgram ( uint32  )
inlineprotectedvirtual

◆ setCurrentProgramNormalized()

virtual void setCurrentProgramNormalized ( ParamValue  )
inlineprotectedvirtual

◆ getVst2UniqueId()

◆ processEvents()

void processEvents ( IEventList events)
protected

◆ isBypassed()

bool isBypassed ( ) const
inlineprotected

◆ getSampleRate()

double getSampleRate ( ) const
inlineprotected

◆ process()

tresult process ( ProcessData data)
protectedvirtual

Reimplemented from AudioEffect.

Reimplemented in SampleAccurateBaseProcessor.

◆ setupProcessing()

tresult setupProcessing ( ProcessSetup setup)
protectedvirtual

Reimplemented from AudioEffect.

◆ setActive()

◆ setBusArrangements()

tresult setBusArrangements ( SpeakerArrangement inputs,
int32  numIns,
SpeakerArrangement outputs,
int32  numOuts 
)
protectedvirtual

Reimplemented from AudioEffect.

◆ setState()

tresult setState ( IBStream state)
finalprotectedvirtual

Reimplemented from Component.

◆ getState()

tresult getState ( IBStream state)
finalprotectedvirtual

Reimplemented from Component.

◆ checkStateTransfer()

bool checkStateTransfer ( )
protected

Member Data Documentation

◆ params

ParamValue* params
protected

◆ numParams

uint32 numParams
protected

◆ bypassRamp

int32 bypassRamp
protected

◆ bypassBuffer0

float* bypassBuffer0
protected

◆ bypassBuffer1

float* bypassBuffer1
protected

◆ bypassState

bool bypassState
protected

◆ stateTransfer

RTTransferT<StateT> stateTransfer
protected
Empty

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