13 #include "audioeffectx.h"
21 class VSTIO :
public IO,
public AudioEffectX {
24 VSTIO (audioMasterCallback audioMaster,
25 unsigned s_rate = 44100,
unsigned b_size = 512,
26 unsigned in_chans = 2,
unsigned out_chans = 2);
35 virtual void processReplacing (
float** inputs,
float** outputs, VstInt32 sampleFrames);
65 class VSTInst :
public IO,
public AudioEffectX {
68 VSTInst (audioMasterCallback audioMaster,
Instrument * theInstrument,
69 unsigned s_rate = 44100,
unsigned b_size = 512,
70 unsigned in_chans = 0,
unsigned out_chans = 2);
79 virtual void processReplacing (
float** inputs,
float** outputs, VstInt32 sampleFrames);
80 virtual void processDoubleReplacing (
double** inputs,
double** outputs, VstInt32 sampleFrames) { };
83 virtual void setProgramName (
char* name);
84 virtual void getProgramName (
char* name);
87 virtual void setParameter (VstInt32 index,
float value);
88 virtual float getParameter (VstInt32 index);
89 virtual void getParameterLabel (VstInt32 index,
char* label);
90 virtual void getParameterDisplay (VstInt32 index,
char* text);
91 virtual void getParameterName (VstInt32 index,
char* text);
93 virtual bool getEffectName (
char* name);
94 virtual bool getVendorString (
char* text);
95 virtual bool getProductString (
char* text);
96 virtual VstInt32 getVendorVersion ();
99 Instrument * mInstrument;
InOut class copies the IO port's input buffer to the output buffer, possibly with channel remap and s...
virtual void getParameterName(VstInt32 index, char *text)
float mFreq
Example: filter center freq.
virtual void processDoubleReplacing(double **inputs, double **outputs, VstInt32 sampleFrames)
AdditiveInstrument.h – Sum-of-sines synthesis instrument class.
void open()
open/close start/stop methods
virtual bool getVendorString(char *text)
virtual void processReplacing(float **inputs, float **outputs, VstInt32 sampleFrames)
virtual void setProgramName(char *name)
virtual VstInt32 getVendorVersion()
Filter: the canonical-form n-pole/m-zero filter class.
void close()
open/close start/stop methods
VSTIO is an IO that answers the VST processReplacing() call by calling its CSL graph.
IO – the abstract I/O scheduling class; subclasses interface to specific I/O APIs.
void stop()
stop the timer thread
Instrument class (abstract)
void start()
start my timer thread
virtual void getParameterLabel(VstInt32 index, char *label)
virtual float getParameter(VstInt32 index)
virtual void getProgramName(char *name)
InOut * mInOut
the in-out object
virtual bool getProductString(char *text)
virtual void getParameterDisplay(VstInt32 index, char *text)
virtual void setParameter(VstInt32 index, float value)
virtual bool getEffectName(char *name)
Filter * mFilter
BPF filter.
Base class of CSL exceptions (written upper-case). Has a string message.