VST 3 Examples  VST 3.7
SDK for developing VST plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
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 getBusArrangement (BusDirection dir, int32 busIndex, SpeakerArrangement &arr) SMTG_OVERRIDE
 
tresult canProcessSampleSize (int32 symbolicSampleSize) SMTG_OVERRIDE
 
uint32 getLatencySamples () SMTG_OVERRIDE
 
tresult setProcessing (TBool state) SMTG_OVERRIDE
 
uint32 getTailSamples () SMTG_OVERRIDE
 
uint32 getProcessContextRequirements () SMTG_OVERRIDE
 
 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 initialize (FUnknown *context) SMTG_OVERRIDE
 
tresult terminate () SMTG_OVERRIDE
 
BusListgetBusList (MediaType type, BusDirection dir)
 
tresult removeAllBusses ()
 
 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
 
- 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
 
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
 
OBJ_METHODS(ComponentBase,
FObject) DEFINE_INTERFACES
DEF_INTERFACE(IPluginBase)
DEF_INTERFACE(IConnectionPoint)
END_DEFINE_INTERFACES(FObject)
REFCOUNT_METHODS(FObject)
protected IPtr
< IConnectionPoint
peerConnection
 
- 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
 

Member Typedef Documentation

using StateT = std::vector<ParamValue>
protected

Constructor & Destructor Documentation

Processor ( )
protected
~Processor ( )
protected

Member Function Documentation

virtual void preProcess ( )
inlineprotectedvirtual
bool bypassProcessing ( ProcessData data)
protectedvirtual

Reimplemented in SpecMeterProcessor.

virtual void processEvent ( const Event )
inlineprotectedvirtual
void checkSilence ( ProcessData data)
protectedvirtual
void setBypass ( bool  state,
int32  sampleOffset 
)
protectedvirtual
bool processParameterChanges ( IParameterChanges changes)
protectedvirtual

Reimplemented in SampleAccurateBaseProcessor.

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

Reimplemented in SampleAccurateBaseProcessor.

virtual bool hasProgram ( ) const
inlineprotectedvirtual
virtual uint32 getCurrentProgram ( ) const
inlineprotectedvirtual
virtual uint32 getNumPrograms ( ) const
inlineprotectedvirtual
virtual void setCurrentProgram ( uint32  )
inlineprotectedvirtual
virtual void setCurrentProgramNormalized ( ParamValue  )
inlineprotectedvirtual
void processEvents ( IEventList events)
protected
bool isBypassed ( ) const
inlineprotected
double getSampleRate ( ) const
inlineprotected
tresult process ( ProcessData data)
protectedvirtual

Reimplemented from AudioEffect.

Reimplemented in SampleAccurateBaseProcessor.

tresult setupProcessing ( ProcessSetup setup)
protectedvirtual

Reimplemented from AudioEffect.

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

Reimplemented from AudioEffect.

tresult setState ( IBStream state)
finalprotectedvirtual

Reimplemented from AudioEffect.

tresult getState ( IBStream state)
finalprotectedvirtual

Reimplemented from AudioEffect.

bool checkStateTransfer ( )
protected

Member Data Documentation

ParamValue* params
protected
uint32 numParams
protected
int32 bypassRamp
protected
float* bypassBuffer0
protected
float* bypassBuffer1
protected
bool bypassState
protected
RTTransferT<StateT> stateTransfer
protected
Empty

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