Home Information Classes Download Usage Mail List Requirements Links Tutorial
00001 /***************************************************/ 00018 /***************************************************/ 00019 00020 #if !defined(__SIMPLE_H) 00021 #define __SIMPLE_H 00022 00023 #include "Instrmnt.h" 00024 #include "ADSR.h" 00025 #include "WaveLoop.h" 00026 #include "OnePole.h" 00027 #include "BiQuad.h" 00028 #include "Noise.h" 00029 00030 class Simple : public Instrmnt 00031 { 00032 public: 00034 Simple(); 00035 00037 virtual ~Simple(); 00038 00040 void clear(); 00041 00043 virtual void setFrequency(MY_FLOAT frequency); 00044 00046 void keyOn(); 00047 00049 void keyOff(); 00050 00052 virtual void noteOn(MY_FLOAT frequency, MY_FLOAT amplitude); 00053 00055 virtual void noteOff(MY_FLOAT amplitude); 00056 00058 virtual MY_FLOAT tick(); 00059 00061 virtual void controlChange(int number, MY_FLOAT value); 00062 00063 protected: 00064 ADSR *adsr; 00065 WaveLoop *loop; 00066 OnePole *filter; 00067 BiQuad *biquad; 00068 Noise *noise; 00069 MY_FLOAT baseFrequency; 00070 MY_FLOAT loopGain; 00071 00072 }; 00073 00074 #endif
The Synthesis ToolKit in C++ (STK) |
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved. |