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

Protected Types | Protected Member Functions | Protected Attributes | List of all members
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
ParamValue * | params
uint32 | numParams
int32 | bypassRamp
float * | bypassBuffer0
float * | bypassBuffer1
bool | bypassState
RTTransferT< StateT > | stateTransfer

## Additional Inherited Members
Public Types inherited from IProcessContextRequirements
enum | Flags
Public Member Functions inherited from AudioEffect
| AudioEffect ()
AudioBus * | addAudioInput (const TChar *name, SpeakerArrangement arr, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
AudioBus * | addAudioOutput (const TChar *name, SpeakerArrangement arr, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
AudioBus * | getAudioInput (int32 index)
AudioBus * | getAudioOutput (int32 index)
EventBus * | addEventInput (const TChar *name, int32 channels=16, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
EventBus * | addEventOutput (const TChar *name, int32 channels=16, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
EventBus * | getEventInput (int32 index)
EventBus * | getEventOutput (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
BusList * | getBusList (MediaType type, BusDirection dir)
tresult | removeAllBusses ()
Public Member Functions inherited from ComponentBase
| ComponentBase ()
| ~ComponentBase () override
FUnknown * | getHostContext () const
IConnectionPoint * | getPeer () const
IMessage * | allocateMessage () 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< IConnectionPoint > | peerConnection
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()

virtual void doProcessing | ( | ProcessData & | data | ) |
| protected pure virtual

Implemented in AmbienceProcessor, BandistoProcessor, BeatBoxProcessor, ComboProcessor, DeEsserProcessor, DegradeProcessor, DelayProcessor, DetuneProcessor, DitherProcessor, DubDelayProcessor, DX10Processor, DynamicsProcessor, EPianoProcessor, ImageProcessor, JX10Processor, LeslieProcessor, LimiterProcessor, LoudnessProcessor, MultiBandProcessor, OverdriveProcessor, PianoProcessor, RePsychoProcessor, RezFilterProcessor, RingModProcessor, RoundPanProcessor, ShepardProcessor, SpecMeterProcessor, SplitterProcessor, StereoProcessor, SubSynthProcessor, TalkBoxProcessor, TestToneProcessor, ThruZeroProcessor, and TrackerProcessor.

## ◆ preProcess()

virtual void preProcess | ( |  | ) |
| inline protected virtual

Reimplemented in DX10Processor, EPianoProcessor, JX10Processor, and PianoProcessor.

## ◆ bypassProcessing()

bool bypassProcessing | ( | ProcessData & | data | ) |
| protected virtual

Reimplemented in SpecMeterProcessor.

## ◆ processEvent()

virtual void processEvent | ( | const Event & |  | ) |
| inline protected virtual

Reimplemented in DX10Processor, EPianoProcessor, JX10Processor, and PianoProcessor.

## ◆ checkSilence()

void checkSilence | ( | ProcessData & | data | ) |
| protected virtual

Reimplemented in DX10Processor, LoudnessProcessor, DynamicsProcessor, and LimiterProcessor.

## ◆ setBypass()

void setBypass | ( | bool | state,
|  | int32 | sampleOffset
| ) |  |
| protected virtual

## ◆ processParameterChanges()

bool processParameterChanges | ( | IParameterChanges * | changes | ) |
| protected virtual

Reimplemented in SampleAccurateBaseProcessor.

## ◆ setParameter()

void setParameter | ( | ParamID | index,
|  | ParamValue | newValue,
|  | int32 | sampleOffset
| ) |  |
| protected virtual

Reimplemented in DX10Processor, EPianoProcessor, JX10Processor, and PianoProcessor.

## ◆ allocParameters()

void allocParameters | ( | int32 | numParams | ) |
| protected virtual

Reimplemented in SampleAccurateBaseProcessor.

## ◆ recalculate()

virtual void recalculate | ( |  | ) |
| inline protected virtual

Reimplemented in AmbienceProcessor, BandistoProcessor, BeatBoxProcessor, ComboProcessor, DeEsserProcessor, DegradeProcessor, DelayProcessor, DetuneProcessor, DitherProcessor, DubDelayProcessor, DX10Processor, DynamicsProcessor, EPianoProcessor, ImageProcessor, JX10Processor, LeslieProcessor, LimiterProcessor, LoudnessProcessor, MultiBandProcessor, OverdriveProcessor, PianoProcessor, RePsychoProcessor, RezFilterProcessor, RingModProcessor, RoundPanProcessor, ShepardProcessor, SpecMeterProcessor, SplitterProcessor, StereoProcessor, SubSynthProcessor, TalkBoxProcessor, TestToneProcessor, ThruZeroProcessor, and TrackerProcessor.

## ◆ hasProgram()

virtual bool hasProgram | ( |  | ) | const
| inline protected virtual

Reimplemented in DX10Processor, EPianoProcessor, JX10Processor, and PianoProcessor.

## ◆ getCurrentProgram()

virtual uint32 getCurrentProgram | ( |  | ) | const
| inline protected virtual

Reimplemented in DX10Processor, EPianoProcessor, JX10Processor, and PianoProcessor.

## ◆ getNumPrograms()

virtual uint32 getNumPrograms | ( |  | ) | const
| inline protected virtual

Reimplemented in DX10Processor, EPianoProcessor, JX10Processor, and PianoProcessor.

## ◆ setCurrentProgram()

virtual void setCurrentProgram | ( | uint32 |  | ) |
| inline protected virtual

Reimplemented in DX10Processor, EPianoProcessor, JX10Processor, and PianoProcessor.

## ◆ setCurrentProgramNormalized()

virtual void setCurrentProgramNormalized | ( | ParamValue |  | ) |
| inline protected virtual

Reimplemented in DX10Processor, EPianoProcessor, JX10Processor, and PianoProcessor.

## ◆ getVst2UniqueId()

virtual int32 getVst2UniqueId | ( |  | ) | const
| protected pure virtual

Implemented in AmbienceProcessor, BandistoProcessor, BeatBoxProcessor, ComboProcessor, DeEsserProcessor, DegradeProcessor, DelayProcessor, DetuneProcessor, DitherProcessor, DubDelayProcessor, DX10Processor, DynamicsProcessor, EPianoProcessor, ImageProcessor, JX10Processor, LeslieProcessor, LimiterProcessor, LoudnessProcessor, MultiBandProcessor, OverdriveProcessor, PianoProcessor, RePsychoProcessor, RezFilterProcessor, RingModProcessor, RoundPanProcessor, ShepardProcessor, SpecMeterProcessor, SplitterProcessor, StereoProcessor, SubSynthProcessor, TalkBoxProcessor, TestToneProcessor, ThruZeroProcessor, and TrackerProcessor.

## ◆ processEvents()

void processEvents | ( | IEventList * | events | ) |
| protected

## ◆ isBypassed()

bool isBypassed | ( |  | ) | const
| inline protected

## ◆ getSampleRate()

double getSampleRate | ( |  | ) | const
| inline protected

## ◆ process()

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

Reimplemented from AudioEffect.

Reimplemented in SampleAccurateBaseProcessor.

## ◆ setupProcessing()

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

Reimplemented from AudioEffect.

## ◆ setActive()

tresult setActive | ( | TBool | state | ) |
| protected virtual

Reimplemented from Component.

Reimplemented in BeatBoxProcessor, ComboProcessor, DeEsserProcessor, DegradeProcessor, DelayProcessor, DetuneProcessor, DitherProcessor, DubDelayProcessor, DX10Processor, DynamicsProcessor, EPianoProcessor, ImageProcessor, JX10Processor, LeslieProcessor, LimiterProcessor, LoudnessProcessor, MultiBandProcessor, OverdriveProcessor, PianoProcessor, RePsychoProcessor, RezFilterProcessor, RingModProcessor, RoundPanProcessor, ShepardProcessor, SpecMeterProcessor, SplitterProcessor, StereoProcessor, SubSynthProcessor, TalkBoxProcessor, TestToneProcessor, ThruZeroProcessor, and TrackerProcessor.

## ◆ setBusArrangements()

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

Reimplemented from AudioEffect.

## ◆ setState()

tresult setState | ( | IBStream * | state | ) |
| final protected virtual

Reimplemented from Component.

## ◆ getState()

tresult getState | ( | IBStream * | state | ) |
| final protected virtual

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.