Home Information Classes Download Usage Mail List Requirements Links Tutorial
00001 /***************************************************/ 00018 /***************************************************/ 00019 00020 #ifndef STK_RESONATE_H 00021 #define STK_RESONATE_H 00022 00023 #include "Instrmnt.h" 00024 #include "ADSR.h" 00025 #include "BiQuad.h" 00026 #include "Noise.h" 00027 00028 class Resonate : public Instrmnt 00029 { 00030 public: 00032 Resonate(); 00033 00035 ~Resonate(); 00036 00038 void clear(); 00039 00041 void setResonance(StkFloat frequency, StkFloat radius); 00042 00044 void setNotch(StkFloat frequency, StkFloat radius); 00045 00047 void setEqualGainZeroes(); 00048 00050 void keyOn(); 00051 00053 void keyOff(); 00054 00056 void noteOn(StkFloat frequency, StkFloat amplitude); 00057 00059 void noteOff(StkFloat amplitude); 00060 00062 StkFloat tick(); 00063 00065 StkFloat *tick(StkFloat *vector, unsigned int vectorSize); 00066 00068 00074 StkFrames& tick( StkFrames& frames, unsigned int channel = 1 ); 00075 00077 void controlChange(int number, StkFloat value); 00078 00079 protected: 00080 ADSR adsr_; 00081 BiQuad filter_; 00082 Noise noise_; 00083 StkFloat poleFrequency_; 00084 StkFloat poleRadius_; 00085 StkFloat zeroFrequency_; 00086 StkFloat zeroRadius_; 00087 00088 }; 00089 00090 #endif
The Synthesis ToolKit in C++ (STK) |
©1995-2004 Perry R. Cook and Gary P. Scavone. All Rights Reserved. |