VST 3 Examples VST 3.7
SDK for developing VST plug-in
EPianoProcessor Class Reference

#include <mdaEPianoProcessor.h>

+ Inheritance diagram for EPianoProcessor:

Classes

struct  KGRP
 
struct  VOICE
 

Public Types

using Base = BaseProcessor
 
- Public Types inherited from IProcessContextRequirements
enum  Flags
 

Public Member Functions

 EPianoProcessor ()
 
 ~EPianoProcessor ()
 
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
 
- Public Member Functions inherited from AudioEffect
 AudioEffect ()
 
AudioBusaddAudioInput (const TChar *name, SpeakerArrangement arr, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
 
AudioBusaddAudioOutput (const TChar *name, SpeakerArrangement arr, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
 
AudioBusgetAudioInput (int32 index)
 
AudioBusgetAudioOutput (int32 index)
 
EventBusaddEventInput (const TChar *name, int32 channels=16, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
 
EventBusaddEventOutput (const TChar *name, int32 channels=16, BusType busType=kMain, int32 flags=BusInfo::kDefaultActive)
 
EventBusgetEventInput (int32 index)
 
EventBusgetEventOutput (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
 
BusListgetBusList (MediaType type, BusDirection dir)
 
tresult removeAllBusses ()
 
- Public Member Functions inherited from ComponentBase
 ComponentBase ()
 
 ~ComponentBase () override
 
FUnknowngetHostContext () const
 
IConnectionPointgetPeer () const
 
IMessageallocateMessage () 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
 

Static Public Member Functions

static FUnknowncreateInstance (void *)
 
static DECLARE_UID (uid, 0xFED93DB8, 0x5E81448F, 0xA3B14028, 0x879FA824)
 

Static Public Attributes

static float programParams [][12]
 
static const int32 kNumPrograms = 4
 
- 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
 
- Protected Member Functions inherited from Processor
 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

float Fs
 
float iFs
 
SynthDataT synthData
 
KGRP kgrp [34]
 
int32 poly
 
short * waves
 
float width
 
int32 size
 
float lfo0
 
float lfo1
 
float dlfo
 
float lmod
 
float rmod
 
float treb
 
float tfrq
 
float tl
 
float tr
 
float tune
 
float fine
 
float random
 
float stretch
 
float overdrive
 
float muff
 
float muffvel
 
float sizevel
 
float velsens
 
float volume
 
float modwhl
 
Steinberg::uint32 currentProgram
 
- Protected Attributes inherited from Processor
ParamValueparams
 
uint32 numParams
 
int32 bypassRamp
 
float * bypassBuffer0
 
float * bypassBuffer1
 
bool bypassState
 
RTTransferT< StateTstateTransfer
 

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< IConnectionPointpeerConnection
 
- Public Attributes inherited from IProcessContextRequirements
 kNeedSystemTime
 
 kNeedContinousTimeSamples
 
 kNeedProjectTimeMusic
 
 kNeedBarPositionMusic
 
 kNeedCycleMusic
 
 kNeedSamplesToNextClock
 
 kNeedTempo
 
 kNeedTimeSignature
 
 kNeedChord
 
 kNeedFrameRate
 
 kNeedTransportState
 

Member Typedef Documentation

◆ Base

◆ SynthDataT

Constructor & Destructor Documentation

◆ EPianoProcessor()

◆ ~EPianoProcessor()

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 Processor.

◆ 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  ,
0xFED93DB8  ,
0x5E81448F  ,
0xA3B14028  ,
0x879FA824   
)
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.

Member Data Documentation

◆ programParams

float programParams
static
Initial value:
= {
{ 0.500f, 0.500f, 0.500f, 0.500f, 0.500f, 0.650f, 0.250f, 0.500f, 0.50f, 0.500f, 0.146f, 0.000f },
{ 0.500f, 0.500f, 1.000f, 0.800f, 0.500f, 0.650f, 0.250f, 0.500f, 0.50f, 0.500f, 0.146f, 0.500f },
{ 0.500f, 0.500f, 0.000f, 0.000f, 0.500f, 0.650f, 0.250f, 0.500f, 0.50f, 0.500f, 0.246f, 0.000f },
{ 0.500f, 0.500f, 0.500f, 0.500f, 0.250f, 0.650f, 0.250f, 0.500f, 0.50f, 0.500f, 0.246f, 0.000f },
{ 0.500f, 0.500f, 0.500f, 0.500f, 0.750f, 0.650f, 0.250f, 0.500f, 0.50f, 0.500f, 0.246f, 0.000f }
}

◆ kNumPrograms

const int32 kNumPrograms = 4
static

◆ Fs

float Fs
protected

◆ iFs

float iFs
protected

◆ kNumVoices

constexpr int32 kNumVoices = 32
staticconstexprprotected

◆ kEventBufferSize

constexpr int32 kEventBufferSize = 64
staticconstexprprotected

◆ synthData

SynthDataT synthData
protected

◆ kgrp

KGRP kgrp[34]
protected

◆ poly

int32 poly
protected

◆ waves

short* waves
protected

◆ width

float width
protected

◆ size

int32 size
protected

◆ lfo0

float lfo0
protected

◆ lfo1

float lfo1
protected

◆ dlfo

float dlfo
protected

◆ lmod

float lmod
protected

◆ rmod

float rmod
protected

◆ treb

float treb
protected

◆ tfrq

float tfrq
protected

◆ tl

float tl
protected

◆ tr

float tr
protected

◆ tune

float tune
protected

◆ fine

float fine
protected

◆ random

float random
protected

◆ stretch

float stretch
protected

◆ overdrive

float overdrive
protected

◆ muff

float muff
protected

◆ muffvel

float muffvel
protected

◆ sizevel

float sizevel
protected

◆ velsens

float velsens
protected

◆ volume

float volume
protected

◆ modwhl

float modwhl
protected

◆ currentProgram

Steinberg::uint32 currentProgram
protected
Empty

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