VST 3 Examples: PianoProcessor Class Reference
Author: Steinberg

VST 3 Examples VST 3.7 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
PianoProcessor Class Reference

`#include <mdaPianoProcessor.h>`

Inheritance diagram for PianoProcessor:

## Classes
struct | KGRP
struct | VOICE

## Public Types
enum | { NPARAMS =12 , WAVELEN =586348 }
using | Base = BaseProcessor
Public Types inherited from IProcessContextRequirements
enum | Flags

## Public Member Functions
| PianoProcessor ()
| ~PianoProcessor () 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, 0xA77EA27C, 0x1F184322, 0xBBD2AD93, 0x73A2B7A0)

## Static Public Attributes
static const int32 | kNumPrograms = 8
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 | setParameter (ParamID index, ParamValue newValue, int32 sampleOffset) SMTG_OVERRIDE
void | preProcess () SMTG_OVERRIDE
void | processEvent (const Event &event) SMTG_OVERRIDE
void | noteEvent (const Event &event)
void | recalculate () SMTG_OVERRIDE
void | allNotesOff ()
Protected Member Functions inherited from Processor
| Processor ()
| ~Processor () override
virtual bool | bypassProcessing (ProcessData &data)
virtual void | checkSilence (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
float | iFs
SynthDataT | synthData
KGRP | kgrp [16]
| global internal variables
int32 | poly
int32 | cpos
short * | waves
int32 | cmax
float * | comb
float | cdep
float | width
float | trim
int32 | size
float | tune
float | fine
float | random
float | stretch
float | muff
float | muffvel
float | sizevel
float | velsens
float | volume
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 = 32
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 |
WAVELEN |

## Constructor & Destructor Documentation

## ◆ PianoProcessor()

PianoProcessor | ( |  | ) |

## ◆ ~PianoProcessor()

~PianoProcessor | ( |  | ) |
| 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 | ,
|  | 0xA77EA27C | ,
|  | 0x1F184322 | ,
|  | 0xBBD2AD93 | ,
|  | 0x73A2B7A0 | )
| inlinestatic

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

## ◆ noteEvent()

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

## ◆ recalculate()

void recalculate | ( |  | ) |
| protectedvirtual

Reimplemented from Processor.

## ◆ allNotesOff()

void allNotesOff | ( |  | ) |
| protected

## Member Data Documentation

## ◆ kNumPrograms

const int32 kNumPrograms = 8
| static

## ◆ programParams

float programParams
| static

Initial value:
= {
{0.500f, 0.500f, 0.500f, 0.5f, 0.803f, 0.251f, 0.376f, 0.500f, 0.330f, 0.500f, 0.246f, 0.500f},
{0.500f, 0.500f, 0.500f, 0.5f, 0.751f, 0.000f, 0.452f, 0.000f, 0.000f, 0.500f, 0.000f, 0.500f},
{0.902f, 0.399f, 0.623f, 0.5f, 1.000f, 0.331f, 0.299f, 0.499f, 0.330f, 0.500f, 0.000f, 0.500f},
{0.399f, 0.251f, 1.000f, 0.5f, 0.672f, 0.124f, 0.127f, 0.249f, 0.330f, 0.500f, 0.283f, 0.667f},
{0.648f, 0.500f, 0.500f, 0.5f, 0.298f, 0.602f, 0.550f, 0.850f, 0.356f, 0.500f, 0.339f, 0.660f},
{0.500f, 0.602f, 0.000f, 0.5f, 0.304f, 0.200f, 0.336f, 0.651f, 0.330f, 0.500f, 0.317f, 0.500f},
{0.450f, 0.598f, 0.626f, 0.5f, 0.603f, 0.500f, 0.174f, 0.331f, 0.330f, 0.500f, 0.421f, 0.801f},
{0.050f, 0.957f, 0.500f, 0.5f, 0.299f, 1.000f, 0.000f, 0.500f, 0.330f, 0.450f, 0.718f, 0.000f},
}

## ◆ Fs

float Fs
| protected

## ◆ iFs

float iFs
| protected

## ◆ kNumVoices

int32 kNumVoices = 32
| staticconstexprprotected

## ◆ kEventBufferSize

int32 kEventBufferSize = 64
| staticconstexprprotected

## ◆ synthData

SynthDataT synthData
| protected

## ◆ kgrp

KGRP kgrp[16]
| protected

global internal variables

## ◆ poly

int32 poly
| protected

## ◆ cpos

int32 cpos
| protected

## ◆ waves

short* waves
| protected

## ◆ cmax

int32 cmax
| protected

## ◆ comb

float* comb
| protected

## ◆ cdep

float cdep
| protected

## ◆ width

float width
| protected

## ◆ trim

float trim
| protected

## ◆ size

int32 size
| protected

## ◆ tune

float tune
| protected

## ◆ fine

float fine
| protected

## ◆ random

float random
| protected

## ◆ stretch

float stretch
| protected

## ◆ muff

float muff
| protected

## ◆ muffvel

float muffvel
| protected

## ◆ sizevel

float sizevel
| protected

## ◆ velsens

float velsens
| protected

## ◆ volume

float volume
| protected

## ◆ currentProgram

Steinberg::uint32 currentProgram
| protected

Empty

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