Home Information Classes Download Usage Mail List Requirements Links FAQ Tutorial
00001 /***************************************************/ 00022 /***************************************************/ 00023 00024 #ifndef STK_BOWED_H 00025 #define STK_BOWED_H 00026 00027 #include "Instrmnt.h" 00028 #include "DelayL.h" 00029 #include "BowTable.h" 00030 #include "OnePole.h" 00031 #include "BiQuad.h" 00032 #include "SineWave.h" 00033 #include "ADSR.h" 00034 00035 class Bowed : public Instrmnt 00036 { 00037 public: 00039 Bowed(StkFloat lowestFrequency); 00040 00042 ~Bowed(); 00043 00045 void clear(); 00046 00048 void setFrequency(StkFloat frequency); 00049 00051 void setVibrato(StkFloat gain); 00052 00054 void startBowing(StkFloat amplitude, StkFloat rate); 00055 00057 void stopBowing(StkFloat rate); 00058 00060 void noteOn(StkFloat frequency, StkFloat amplitude); 00061 00063 void noteOff(StkFloat amplitude); 00064 00066 void controlChange(int number, StkFloat value); 00067 00068 protected: 00069 00070 StkFloat computeSample( void ); 00071 00072 DelayL neckDelay_; 00073 DelayL bridgeDelay_; 00074 BowTable bowTable_; 00075 OnePole stringFilter_; 00076 BiQuad bodyFilter_; 00077 SineWave vibrato_; 00078 ADSR adsr_; 00079 StkFloat maxVelocity_; 00080 StkFloat baseDelay_; 00081 StkFloat vibratoGain_; 00082 StkFloat betaRatio_; 00083 00084 }; 00085 00086 #endif
The Synthesis ToolKit in C++ (STK) |
©1995-2007 Perry R. Cook and Gary P. Scavone. All Rights Reserved. |