VSTIO.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #ifndef CSL_VSTIO_H
00007 #define CSL_VSTIO_H
00008
00009 #include "CSL_Core.h"
00010 #include "Instrument.h"
00011
00012 #include "vst/audioeffectx.h"
00013
00014 namespace csl {
00015
00021 class VSTIO : public IO, public AudioEffectX {
00022 public:
00023 VSTIO ();
00024 VSTIO (audioMasterCallback audioMaster, Instrument * theInstrument,
00025 unsigned s_rate = 44100, unsigned b_size = 512,
00026 unsigned in_chans = 0, unsigned out_chans = 2);
00027 virtual ~VSTIO();
00028
00029 void open() throw(CException);
00030 void close() throw(CException);
00031 void start() throw(CException);
00032 void stop() throw(CException);
00033
00034
00035 virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
00036 virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames) { };
00037
00038 virtual void setProgramName (char* name);
00039 virtual void getProgramName (char* name);
00040
00041 virtual void setParameter (VstInt32 index, float value);
00042 virtual float getParameter (VstInt32 index);
00043 virtual void getParameterLabel (VstInt32 index, char* label);
00044 virtual void getParameterDisplay (VstInt32 index, char* text);
00045 virtual void getParameterName (VstInt32 index, char* text);
00046
00047 virtual bool getEffectName (char* name);
00048 virtual bool getVendorString (char* text);
00049 virtual bool getProductString (char* text);
00050 virtual VstInt32 getVendorVersion ();
00051
00052 protected:
00053 Instrument * mInstrument;
00054 };
00055
00056
00057 }
00058
00059 #endif