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

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
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 | 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
BusList * | getBusList (MediaType type, BusDirection dir)
tresult | removeAllBusses ()
| 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
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 doProcessing | ( | ProcessData & | data | ) |
| protected pure virtual

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

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

Reimplemented in JX10Processor, EPianoProcessor, DX10Processor, and PianoProcessor.

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

Reimplemented in SpecMeterProcessor.

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

Reimplemented in JX10Processor, EPianoProcessor, DX10Processor, and PianoProcessor.

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

Reimplemented in DX10Processor, DynamicsProcessor, LimiterProcessor, and LoudnessProcessor.

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

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

Reimplemented in SampleAccurateBaseProcessor.

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

Reimplemented in JX10Processor, EPianoProcessor, DX10Processor, and PianoProcessor.

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

Reimplemented in SampleAccurateBaseProcessor.

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

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

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

Reimplemented in DX10Processor, EPianoProcessor, JX10Processor, and PianoProcessor.

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

Reimplemented in DX10Processor, EPianoProcessor, JX10Processor, and PianoProcessor.

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

Reimplemented in DX10Processor, EPianoProcessor, JX10Processor, and PianoProcessor.

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

Reimplemented in DX10Processor, EPianoProcessor, JX10Processor, and PianoProcessor.

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

Reimplemented in DX10Processor, EPianoProcessor, JX10Processor, and PianoProcessor.

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

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

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

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

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

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

Reimplemented from AudioEffect.

Reimplemented in SampleAccurateBaseProcessor.

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

Reimplemented from AudioEffect.

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

Reimplemented from AudioEffect.

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

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

Reimplemented from AudioEffect.

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

Reimplemented from AudioEffect.

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

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 ©2022 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.