VST 3 Examples: DX10Processor Class Reference
Author: Steinberg

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

Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
DX10Processor Class Reference

`#include <mdaDX10Processor.h>`

Inheritance diagram for DX10Processor:

## Classes
struct | VOICE

## Public Types
enum | { NPARAMS = 16 }
using | Base = BaseProcessor
Public Types inherited from IProcessContextRequirements
enum | Flags

## Public Member Functions
| DX10Processor ()
| ~DX10Processor () override
int32 | getVst2UniqueId () const SMTG_OVERRIDE
tresult | initialize (FUnknown *context) SMTG_OVERRIDE
tresult | terminate () SMTG_OVERRIDE
tresult | setActive (TBool state) SMTG_OVERRIDE
tresult | setProcessing (TBool state) SMTG_OVERRIDE
void | doProcessing (ProcessData &data) SMTG_OVERRIDE
bool | hasProgram () const SMTG_OVERRIDE
Steinberg::uint32 | getCurrentProgram () const SMTG_OVERRIDE
Steinberg::uint32 | getNumPrograms () const SMTG_OVERRIDE
void | setCurrentProgram (Steinberg::uint32 val) SMTG_OVERRIDE
void | setCurrentProgramNormalized (ParamValue val) SMTG_OVERRIDE
Public Member Functions inherited from SampleAccurateBaseProcessor
| SampleAccurateBaseProcessor ()
void | allocParameters (int32 numParams) final
tresult | process (ProcessData &data) final
bool | processParameterChanges (IParameterChanges *changes) final
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
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
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 | connect (IConnectionPoint *other) SMTG_OVERRIDE
tresult | disconnect (IConnectionPoint *other) SMTG_OVERRIDE
tresult | notify (IMessage *message) SMTG_OVERRIDE
Public Member Functions inherited from FUnknown
virtual tresult | queryInterface (const TUID _iid, void **obj)=0
virtual uint32 | addRef ()=0
virtual uint32 | release ()=0

## Static Public Member Functions
static FUnknown * | createInstance (void *)
static | DECLARE_UID (uid, 0xF8713648, 0xE2444174, 0x8AAA3B62, 0xA77F9E2D)

## Static Public Attributes
static const int32 | kNumPrograms = 32
static float | programParams [][NPARAMS]
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

## Protected Types
using | SynthDataT = SynthData<VOICE, kEventBufferSize, kNumVoices>
Protected Types inherited from Processor
using | StateT = std::vector<ParamValue>

## Protected Member Functions
void | checkSilence (ProcessData &) SMTG_OVERRIDE
void | setParameter (ParamID index, ParamValue newValue, int32 sampleOffset) SMTG_OVERRIDE
void | preProcess () SMTG_OVERRIDE
void | processEvent (const Event &event) SMTG_OVERRIDE
void | recalculate () SMTG_OVERRIDE
void | noteEvent (const Event &event)
Protected Member Functions inherited from Processor
| Processor ()
| ~Processor () override
virtual bool | bypassProcessing (ProcessData &data)
virtual void | setBypass (bool state, int32 sampleOffset)
void | processEvents (IEventList *events)
bool | isBypassed () const
double | getSampleRate () const
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
float | Fs
SynthDataT | synthData
int32 | K
| global internal variables
float | tune
float | rati
float | ratf
float | ratio
float | catt
float | cdec
float | crel
float | depth
float | dept2
float | mdec
float | mrel
float | lfo0
float | lfo1
float | dlfo
float | modwhl
float | MW
float | pbend
float | velsens
float | volume
float | vibrato
float | rich
float | modmix
Steinberg::uint32 | currentProgram
Protected Attributes inherited from Processor
ParamValue * | params
uint32 | numParams
int32 | bypassRamp
float * | bypassBuffer0
float * | bypassBuffer1
bool | bypassState
RTTransferT< StateT > | stateTransfer

## Static Protected Attributes
static constexpr int32 | kNumVoices = 8
static constexpr int32 | kEventBufferSize = 64

## Additional Inherited Members
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

## Member Typedef Documentation

## ◆ Base

using Base = BaseProcessor

## ◆ SynthDataT

using SynthDataT = SynthData<VOICE, kEventBufferSize, kNumVoices>
| protected

## Member Enumeration Documentation

## ◆ anonymous enum

anonymous enum

Enumerator
NPARAMS |

## Constructor & Destructor Documentation

## ◆ DX10Processor()

DX10Processor | ( |  | ) |

## ◆ ~DX10Processor()

~DX10Processor | ( |  | ) |
| override

## Member Function Documentation

## ◆ getVst2UniqueId()

int32 getVst2UniqueId | ( |  | ) | const
| inlinevirtual

Implements Processor.

## ◆ initialize()

tresult initialize | ( | FUnknown * | context | ) |
| virtual

Reimplemented from Component.

## ◆ terminate()

tresult terminate | ( |  | ) |
| virtual

Reimplemented from Component.

## ◆ setActive()

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

Reimplemented from Component.

## ◆ setProcessing()

tresult setProcessing | ( | TBool | state | ) |
| virtual

Reimplemented from AudioEffect.

## ◆ doProcessing()

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

Implements Processor.

## ◆ hasProgram()

bool hasProgram | ( |  | ) | const
| inlinevirtual

Reimplemented from Processor.

## ◆ getCurrentProgram()

Steinberg::uint32 getCurrentProgram | ( |  | ) | const
| inlinevirtual

Reimplemented from Processor.

## ◆ getNumPrograms()

Steinberg::uint32 getNumPrograms | ( |  | ) | const
| inlinevirtual

Reimplemented from Processor.

## ◆ setCurrentProgram()

void setCurrentProgram | ( | Steinberg::uint32 | val | ) |
| virtual

Reimplemented from Processor.

## ◆ setCurrentProgramNormalized()

void setCurrentProgramNormalized | ( | ParamValue | val | ) |
| virtual

Reimplemented from Processor.

## ◆ createInstance()

static FUnknown * createInstance | ( | void * |  | ) |
| inlinestatic

## ◆ DECLARE_UID()

static DECLARE_UID | ( | uid | ,
|  | 0xF8713648 | ,
|  | 0xE2444174 | ,
|  | 0x8AAA3B62 | ,
|  | 0xA77F9E2D | )
| inlinestatic

## ◆ checkSilence()

void checkSilence | ( | ProcessData & |  | ) |
| inlineprotectedvirtual

Reimplemented from Processor.

## ◆ setParameter()

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

Reimplemented from Processor.

## ◆ preProcess()

void preProcess | ( |  | ) |
| protectedvirtual

Reimplemented from Processor.

## ◆ processEvent()

void processEvent | ( | const Event & | event | ) |
| protectedvirtual

Reimplemented from Processor.

## ◆ recalculate()

void recalculate | ( |  | ) |
| protectedvirtual

Reimplemented from Processor.

## ◆ noteEvent()

void noteEvent | ( | const Event & | event | ) |
| protected

## Member Data Documentation

## ◆ kNumPrograms

const int32 kNumPrograms = 32
| static

## ◆ programParams

float programParams
| static

Initial value:
= {
{0.000f, 0.650f, 0.441f, 0.842f, 0.329f, 0.230f, 0.800f, 0.050f, 0.800f, 0.900f, 0.000f, 0.500f, 0.500f, 0.447f, 0.000f, 0.414f },
{0.000f, 0.500f, 0.100f, 0.671f, 0.000f, 0.441f, 0.336f, 0.243f, 0.800f, 0.500f, 0.000f, 0.500f, 0.500f, 0.178f, 0.000f, 0.500f },
{0.000f, 0.700f, 0.400f, 0.230f, 0.184f, 0.270f, 0.474f, 0.224f, 0.800f, 0.974f, 0.250f, 0.500f, 0.500f, 0.428f, 0.836f, 0.500f },
{0.000f, 0.700f, 0.400f, 0.320f, 0.217f, 0.599f, 0.670f, 0.309f, 0.800f, 0.500f, 0.263f, 0.507f, 0.500f, 0.276f, 0.638f, 0.526f },
{0.400f, 0.600f, 0.650f, 0.760f, 0.000f, 0.390f, 0.250f, 0.160f, 0.900f, 0.500f, 0.362f, 0.500f, 0.500f, 0.401f, 0.296f, 0.493f },
{0.000f, 0.342f, 0.000f, 0.280f, 0.000f, 0.880f, 0.100f, 0.408f, 0.740f, 0.000f, 0.000f, 0.600f, 0.500f, 0.842f, 0.651f, 0.500f },
{0.000f, 0.400f, 0.100f, 0.360f, 0.000f, 0.875f, 0.160f, 0.592f, 0.800f, 0.500f, 0.000f, 0.500f, 0.500f, 0.303f, 0.868f, 0.500f },
{0.000f, 0.500f, 0.704f, 0.230f, 0.000f, 0.151f, 0.750f, 0.493f, 0.770f, 0.500f, 0.000f, 0.400f, 0.500f, 0.421f, 0.632f, 0.500f },
{0.600f, 0.990f, 0.400f, 0.320f, 0.283f, 0.570f, 0.300f, 0.050f, 0.240f, 0.500f, 0.138f, 0.500f, 0.500f, 0.283f, 0.822f, 0.500f },
{0.000f, 0.500f, 0.650f, 0.368f, 0.651f, 0.395f, 0.550f, 0.257f, 0.900f, 0.500f, 0.300f, 0.800f, 0.500f, 0.000f, 0.414f, 0.500f },
{0.000f, 0.700f, 0.520f, 0.230f, 0.197f, 0.520f, 0.720f, 0.280f, 0.730f, 0.500f, 0.250f, 0.500f, 0.500f, 0.336f, 0.428f, 0.500f },
{0.000f, 0.240f, 0.000f, 0.390f, 0.000f, 0.880f, 0.100f, 0.600f, 0.740f, 0.500f, 0.000f, 0.500f, 0.500f, 0.526f, 0.480f, 0.500f },
{0.000f, 0.500f, 0.700f, 0.160f, 0.000f, 0.158f, 0.349f, 0.000f, 0.280f, 0.900f, 0.000f, 0.618f, 0.500f, 0.401f, 0.000f, 0.500f },
{0.000f, 0.500f, 0.100f, 0.390f, 0.000f, 0.490f, 0.250f, 0.250f, 0.800f, 0.500f, 0.000f, 0.500f, 0.500f, 0.263f, 0.145f, 0.500f },
{0.000f, 0.300f, 0.507f, 0.480f, 0.730f, 0.000f, 0.100f, 0.303f, 0.730f, 1.000f, 0.000f, 0.600f, 0.500f, 0.579f, 0.000f, 0.500f },
{0.000f, 0.300f, 0.500f, 0.320f, 0.000f, 0.467f, 0.079f, 0.158f, 0.500f, 0.500f, 0.000f, 0.400f, 0.500f, 0.151f, 0.020f, 0.500f },
{0.000f, 0.990f, 0.100f, 0.230f, 0.000f, 0.000f, 0.200f, 0.450f, 0.800f, 0.000f, 0.112f, 0.600f, 0.500f, 0.711f, 0.000f, 0.401f },
{0.280f, 0.990f, 0.280f, 0.230f, 0.000f, 0.180f, 0.400f, 0.300f, 0.800f, 0.500f, 0.000f, 0.400f, 0.500f, 0.217f, 0.480f, 0.500f },
{0.220f, 0.990f, 0.250f, 0.170f, 0.000f, 0.240f, 0.310f, 0.257f, 0.900f, 0.757f, 0.000f, 0.500f, 0.500f, 0.697f, 0.803f, 0.500f },
{0.220f, 0.990f, 0.250f, 0.450f, 0.070f, 0.240f, 0.310f, 0.360f, 0.900f, 0.500f, 0.211f, 0.500f, 0.500f, 0.184f, 0.000f, 0.414f },
{0.697f, 0.990f, 0.421f, 0.230f, 0.138f, 0.750f, 0.390f, 0.513f, 0.800f, 0.316f, 0.467f, 0.678f, 0.500f, 0.743f, 0.757f, 0.487f },
{0.000f, 0.400f, 0.000f, 0.280f, 0.125f, 0.474f, 0.250f, 0.100f, 0.500f, 0.500f, 0.000f, 0.400f, 0.500f, 0.579f, 0.592f, 0.500f },
{0.230f, 0.500f, 0.100f, 0.395f, 0.000f, 0.388f, 0.092f, 0.250f, 0.150f, 0.500f, 0.200f, 0.200f, 0.500f, 0.178f, 0.822f, 0.500f },
{0.000f, 0.600f, 0.400f, 0.230f, 0.000f, 0.450f, 0.320f, 0.050f, 0.900f, 0.500f, 0.000f, 0.200f, 0.500f, 0.520f, 0.105f, 0.500f },
{0.000f, 0.600f, 0.400f, 0.170f, 0.145f, 0.290f, 0.350f, 0.100f, 0.900f, 0.500f, 0.000f, 0.400f, 0.500f, 0.441f, 0.309f, 0.500f },
{0.000f, 0.600f, 0.490f, 0.170f, 0.151f, 0.099f, 0.400f, 0.000f, 0.900f, 0.500f, 0.000f, 0.400f, 0.500f, 0.118f, 0.013f, 0.500f },
{0.000f, 0.600f, 0.100f, 0.320f, 0.000f, 0.350f, 0.670f, 0.100f, 0.150f, 0.500f, 0.000f, 0.200f, 0.500f, 0.303f, 0.730f, 0.500f },
{0.300f, 0.500f, 0.400f, 0.280f, 0.000f, 0.180f, 0.540f, 0.000f, 0.700f, 0.500f, 0.000f, 0.400f, 0.500f, 0.296f, 0.033f, 0.500f },
{0.300f, 0.500f, 0.400f, 0.360f, 0.000f, 0.461f, 0.070f, 0.070f, 0.700f, 0.500f, 0.000f, 0.400f, 0.500f, 0.546f, 0.467f, 0.500f },
{0.000f, 0.500f, 0.500f, 0.280f, 0.000f, 0.330f, 0.200f, 0.000f, 0.700f, 0.500f, 0.000f, 0.500f, 0.500f, 0.151f, 0.079f, 0.500f },
{0.000f, 0.500f, 0.000f, 0.000f, 0.240f, 0.580f, 0.630f, 0.000f, 0.000f, 0.500f, 0.000f, 0.600f, 0.500f, 0.816f, 0.243f, 0.500f },
{0.000f, 0.355f, 0.350f, 0.000f, 0.105f, 0.000f, 0.000f, 0.200f, 0.500f, 0.500f, 0.000f, 0.645f, 0.500f, 1.000f, 0.296f, 0.500f }
}

## ◆ Fs

float Fs
| protected

## ◆ kNumVoices

int32 kNumVoices = 8
| staticconstexprprotected

## ◆ kEventBufferSize

int32 kEventBufferSize = 64
| staticconstexprprotected

## ◆ synthData

SynthDataT synthData
| protected

## ◆ K

int32 K
| protected

global internal variables

## ◆ tune

float tune
| protected

## ◆ rati

float rati
| protected

## ◆ ratf

float ratf
| protected

## ◆ ratio

float ratio
| protected

## ◆ catt

float catt
| protected

## ◆ cdec

float cdec
| protected

## ◆ crel

float crel
| protected

## ◆ depth

float depth
| protected

## ◆ dept2

float dept2
| protected

## ◆ mdec

float mdec
| protected

## ◆ mrel

float mrel
| protected

## ◆ lfo0

float lfo0
| protected

## ◆ lfo1

float lfo1
| protected

## ◆ dlfo

float dlfo
| protected

## ◆ modwhl

float modwhl
| protected

## ◆ MW

float MW
| protected

## ◆ pbend

float pbend
| protected

## ◆ velsens

float velsens
| protected

## ◆ volume

float volume
| protected

## ◆ vibrato

float vibrato
| protected

## ◆ rich

float rich
| protected

## ◆ modmix

float modmix
| protected

## ◆ currentProgram

Steinberg::uint32 currentProgram
| protected

Empty

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