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 00018 class FDN : public Effect { 00019 public: 00020 FDN(UnitGenerator &op, unsigned int delayLineLengths[], unsigned int numDelayLines, 00021 sample inputGains[], sample outputGains[], sample feedbackMatrix[], sample feedbackGains[] ); 00022 ~FDN(); 00023 00024 Buffer *mDelayLine; 00025 00026 00027 void nextBuffer(Buffer &outputBuffer, unsigned outBufNum) throw (CException); 00028 00029 // void dump(); ///< print the receiver for debugging 00030 00031 protected: 00032 void initDelayLines(); 00033 unsigned mNumDelLines; 00034 unsigned *mIndex; 00035 unsigned *mDelLength; 00036 00037 sample *mInputGains; 00038 sample *mOutputGains; 00039 sample *mFeedbackMatrix; 00040 sample *mFeedbackGains; 00041 00042 sample *mFeedbackVector; 00043 sample *mOutputVector; 00044 00045 }; // end of class spec. 00046 00047 } // end of namespace 00048 00049 #endif
1.5.8