VST 3 Examples: DX10Processor Class Reference
Author: Steinberg

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
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 Member Functions
| DX10Processor ()
| ~DX10Processor ()
int32 | getVst2UniqueId () const SMTG_OVERRIDE
tresult | initialize (FUnknown *context) SMTG_OVERRIDE
tresult | terminate () SMTG_OVERRIDE
tresult | setActive (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

## 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]

## Protected Types
using | SynthDataT = SynthData< VOICE, kEventBufferSize, kNumVoices >

## 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 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

## 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
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

## Member Typedef Documentation

using Base = BaseProcessor

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

## Member Enumeration Documentation

anonymous enum

Enumerator
NPARAMS |

## Constructor & Destructor Documentation

DX10Processor | ( |  | ) |

~DX10Processor | ( |  | ) |

## Member Function Documentation

int32 getVst2UniqueId | ( |  | ) | const
| inlinevirtual

Implements Processor.

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

Reimplemented from AudioEffect.

tresult terminate | ( |  | ) |
| virtual

Reimplemented from AudioEffect.

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

Reimplemented from Processor.

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

Implements Processor.

bool hasProgram | ( |  | ) | const
| inlinevirtual

Reimplemented from Processor.

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

Reimplemented from Processor.

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

Reimplemented from Processor.

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

Reimplemented from Processor.

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

Reimplemented from Processor.

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

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

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

Reimplemented from Processor.

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

Reimplemented from Processor.

void preProcess | ( |  | ) |
| protectedvirtual

Reimplemented from Processor.

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

Reimplemented from Processor.

void recalculate | ( |  | ) |
| protectedvirtual

Reimplemented from Processor.

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

## Member Data Documentation

const int32 kNumPrograms = 32
| static

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 }
}

float Fs
| protected

constexpr int32 kNumVoices = 8
| staticprotected

constexpr int32 kEventBufferSize = 64
| staticprotected

SynthDataT synthData
| protected

int32 K
| protected

global internal variables

float tune
| protected

float rati
| protected

float ratf
| protected

float ratio
| protected

float catt
| protected

float cdec
| protected

float crel
| protected

float depth
| protected

float dept2
| protected

float mdec
| protected

float mrel
| protected

float lfo0
| protected

float lfo1
| protected

float dlfo
| protected

float modwhl
| protected

float MW
| protected

float pbend
| protected

float velsens
| protected

float volume
| protected

float vibrato
| protected

float rich
| protected

float modmix
| protected

Steinberg::uint32 currentProgram
| protected

Empty

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