Home Information Classes Download Usage Mail List Requirements Links FAQ Tutorial
00001 /***************************************************/ 00017 /***************************************************/ 00018 00019 #ifndef STK_BLOWBOTL_H 00020 #define STK_BLOWBOTL_H 00021 00022 #include "Instrmnt.h" 00023 #include "JetTable.h" 00024 #include "BiQuad.h" 00025 #include "PoleZero.h" 00026 #include "Noise.h" 00027 #include "ADSR.h" 00028 #include "SineWave.h" 00029 00030 class BlowBotl : public Instrmnt 00031 { 00032 public: 00034 00037 BlowBotl(); 00038 00040 ~BlowBotl(); 00041 00043 void clear(); 00044 00046 void setFrequency(StkFloat frequency); 00047 00049 void startBlowing(StkFloat amplitude, StkFloat rate); 00050 00052 void stopBlowing(StkFloat rate); 00053 00055 void noteOn(StkFloat frequency, StkFloat amplitude); 00056 00058 void noteOff(StkFloat amplitude); 00059 00061 void controlChange(int number, StkFloat value); 00062 00063 protected: 00064 00065 StkFloat computeSample( void ); 00066 00067 JetTable jetTable_; 00068 BiQuad resonator_; 00069 PoleZero dcBlock_; 00070 Noise noise_; 00071 ADSR adsr_; 00072 SineWave vibrato_; 00073 StkFloat maxPressure_; 00074 StkFloat noiseGain_; 00075 StkFloat vibratoGain_; 00076 StkFloat outputGain_; 00077 00078 }; 00079 00080 #endif
The Synthesis ToolKit in C++ (STK) |
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved. |