VSTIO.h

Go to the documentation of this file.
00001 //
00002 //  VSTIO.h -- DAC IO using VSTIO 
00003 //  See the copyright notice and acknowledgment of authors in the file COPYRIGHT
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                     // Processing
00035     virtual void processReplacing (float** inputs, float** outputs, VstInt32 sampleFrames);
00036     virtual void processDoubleReplacing (double** inputs, double** outputs, VstInt32 sampleFrames) { };
00037                     // Program
00038     virtual void setProgramName (char* name);
00039     virtual void getProgramName (char* name);
00040                     // Parameters
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 }   // end of namespace
00058 
00059 #endif

Generated on Thu Sep 17 23:14:15 2009 for CSL by  doxygen 1.5.8