AdditiveInstrument.h

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 #ifndef INCLUDE_ADDITIVE_Instrument_H
00023 #define INCLUDE_ADDITIVE_Instrument_H
00024 
00025 #include "Instrument.h"
00026 #include "Mixer.h"
00027 
00028 namespace csl  {
00029 
00030 //  SumOfSines(float frequency);
00031 //  SumOfSines(PartialDescriptionMode format, unsigned partialCount, ...);
00032 //  
00033 //  void addPartial(Partial * pt);
00034 //  void addPartials(unsigned num_p, Partial ** pt);
00035 //  void addPartial(float nu, float amp);
00036 //  void addPartial(float nu, float amp, float phase);
00037 
00041 class AdditiveInstrument : public Instrument {
00042 public:
00043     AdditiveInstrument();           
00044     ~AdditiveInstrument();
00046     void setParameter(unsigned selector, int argc, void **argv, const char *types);
00048     void playOSC(int argc, void **argv, const char *types); 
00049     
00050     void playNote(float dur = 1, float ampl = 1, 
00051                 float c_fr = 110, float pos = 0,
00052                 float att = 0.1, float dec = 0.1, float sus = 0.5, float rel = 0.1);
00053 
00054     ADSR mAEnv;                 
00055     SumOfSines mSOS;            
00056     Panner mPanner;             
00057 };
00058 
00059 }
00060 
00061 #endif

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