00001 00002 00003 00004 00005 00006 #ifndef INCLUDE_FDN_H 00007 #define INCLUDE_FDN_H 00008 00009 #include "CSL_Core.h" // my superclass 00010 #include "Noise.h" 00011 00012 namespace csl { // my namespace 00013 00017 class FDN : public Effect { 00018 public: 00019 FDN(UnitGenerator &op, unsigned int delayLineLengths[], unsigned int numDelayLines, 00020 sample inputGains[], sample outputGains[], sample feedbackMatrix[], sample feedbackGains[] ); 00021 ~FDN(); 00022 00023 Buffer *mDelayLine; 00024 00025 00026 void nextBuffer(Buffer &outputBuffer, unsigned outBufNum) throw (CException); 00027 00028 // void dump(); ///< print the receiver for debugging 00029 00030 protected: 00031 void initDelayLines(); 00032 unsigned mNumDelLines; 00033 unsigned *mIndex; 00034 unsigned *mDelLength; 00035 00036 sample *mInputGains; 00037 sample *mOutputGains; 00038 sample *mFeedbackMatrix; 00039 sample *mFeedbackGains; 00040 00041 sample *mFeedbackVector; 00042 sample *mOutputVector; 00043 00044 }; // end of class spec. 00045 00046 } // end of namespace 00047 00048 #endif
1.4.5-20051010