Home Information Classes Download Usage Mail List Requirements Links FAQ Tutorial
00001 /***************************************************/ 00036 /***************************************************/ 00037 00038 #ifndef STK_SAXOFONY_H 00039 #define STK_SAXOFONY_H 00040 00041 #include "Instrmnt.h" 00042 #include "DelayL.h" 00043 #include "ReedTable.h" 00044 #include "OneZero.h" 00045 #include "Envelope.h" 00046 #include "Noise.h" 00047 #include "SineWave.h" 00048 00049 class Saxofony : public Instrmnt 00050 { 00051 public: 00053 00056 Saxofony(StkFloat lowestFrequency); 00057 00059 ~Saxofony(); 00060 00062 void clear(); 00063 00065 void setFrequency(StkFloat frequency); 00066 00068 void setBlowPosition(StkFloat aPosition); 00069 00071 void startBlowing(StkFloat amplitude, StkFloat rate); 00072 00074 void stopBlowing(StkFloat rate); 00075 00077 void noteOn(StkFloat frequency, StkFloat amplitude); 00078 00080 void noteOff(StkFloat amplitude); 00081 00083 void controlChange(int number, StkFloat value); 00084 00085 protected: 00086 00087 StkFloat computeSample( void ); 00088 00089 DelayL delays_[2]; 00090 ReedTable reedTable_; 00091 OneZero filter_; 00092 Envelope envelope_; 00093 Noise noise_; 00094 SineWave vibrato_; 00095 unsigned long length_; 00096 StkFloat outputGain_; 00097 StkFloat noiseGain_; 00098 StkFloat vibratoGain_; 00099 StkFloat position_; 00100 00101 }; 00102 00103 #endif
The Synthesis ToolKit in C++ (STK) |
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved. |