home *** CD-ROM | disk | FTP | other *** search
/ PC Musician 2000 / PC_Musician_2000.iso / PCMUSIC / NOTATION / SILENCE / REVERB.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-18  |  1017 b   |  42 lines

  1. /******************************************/  
  2. /*  Reverb Effect Applied to Soundfile    */
  3. /*  by Perry Cook, 1996                   */
  4. /*                      */
  5. /*  This is based on some of the famous   */
  6. /*  Stanford CCRMA reverbs (NRev, KipRev) */
  7. /*  all based on the the Chowning/Moorer/ */
  8. /*  Schroeder reverberators, which use    */
  9. /*  networks of simple allpass and comb   */
  10. /*  delay filters.                        */
  11. /******************************************/
  12.  
  13. #if !defined(__Reverb_h)
  14. #define __Reverb_h
  15.  
  16. #include "Object.h" 
  17. #include "DLineN.h" 
  18.  
  19. class Reverb : public Object
  20. {
  21.   protected:  
  22.     DLineN *delayLine[4];
  23.     MY_FLOAT allPassCoeff;
  24.     MY_FLOAT combCoeff1;
  25.     MY_FLOAT combCoeff2;
  26.     MY_FLOAT lastOutL;
  27.     MY_FLOAT lastOutR;
  28.     MY_FLOAT effectMix;
  29.   public:
  30.     Reverb(MY_FLOAT longestDelay);
  31.     ~Reverb();
  32.     void clear();
  33.     void setEffectMix(MY_FLOAT mix);
  34.     MY_FLOAT lastOutput();
  35.     MY_FLOAT lastOutputL();
  36.     MY_FLOAT lastOutputR();
  37.     MY_FLOAT tick(MY_FLOAT input);
  38. };
  39.  
  40. #endif
  41.  
  42.