-// Reverb model declaration\r
-//\r
-// Written by Jezar at Dreampoint, June 2000\r
-// http://www.dreampoint.co.uk\r
-// This code is public domain\r
-\r
-#ifndef _revmodel_\r
-#define _revmodel_\r
-\r
-#include "comb.hpp"\r
-#include "allpass.hpp"\r
-#include "tuning.h"\r
-\r
-class revmodel\r
-{\r
-public:\r
- revmodel();\r
- void mute();\r
- void processmix(float *inputL, float *inputR, float *outputL, float *outputR, long numsamples, int skip);\r
- void processreplace(float *inputL, float *inputR, float *outputL, float *outputR, long numsamples, int skip);\r
- void setroomsize(float value);\r
- float getroomsize();\r
- void setdamp(float value);\r
- float getdamp();\r
- void setwet(float value);\r
- float getwet();\r
- void setdry(float value);\r
- float getdry();\r
- void setwidth(float value);\r
- float getwidth();\r
- void setmode(float value);\r
- float getmode();\r
-private:\r
- void update();\r
-private:\r
- float gain;\r
- float roomsize,roomsize1;\r
- float damp,damp1;\r
- float wet,wet1,wet2;\r
- float dry;\r
- float width;\r
- float mode;\r
-\r
- // The following are all declared inline \r
- // to remove the need for dynamic allocation\r
- // with its subsequent error-checking messiness\r
-\r
- // Comb filters\r
- comb combL[numcombs];\r
- comb combR[numcombs];\r
-\r
- // Allpass filters\r
- allpass allpassL[numallpasses];\r
- allpass allpassR[numallpasses];\r
-\r
- // Buffers for the combs\r
- float bufcombL1[combtuningL1];\r
- float bufcombR1[combtuningR1];\r
- float bufcombL2[combtuningL2];\r
- float bufcombR2[combtuningR2];\r
- float bufcombL3[combtuningL3];\r
- float bufcombR3[combtuningR3];\r
- float bufcombL4[combtuningL4];\r
- float bufcombR4[combtuningR4];\r
- float bufcombL5[combtuningL5];\r
- float bufcombR5[combtuningR5];\r
- float bufcombL6[combtuningL6];\r
- float bufcombR6[combtuningR6];\r
- float bufcombL7[combtuningL7];\r
- float bufcombR7[combtuningR7];\r
- float bufcombL8[combtuningL8];\r
- float bufcombR8[combtuningR8];\r
-\r
- // Buffers for the allpasses\r
- float bufallpassL1[allpasstuningL1];\r
- float bufallpassR1[allpasstuningR1];\r
- float bufallpassL2[allpasstuningL2];\r
- float bufallpassR2[allpasstuningR2];\r
- float bufallpassL3[allpasstuningL3];\r
- float bufallpassR3[allpasstuningR3];\r
- float bufallpassL4[allpasstuningL4];\r
- float bufallpassR4[allpasstuningR4];\r
-};\r
-\r
-#endif//_revmodel_\r
-\r
-//ends\r
-\r
-\r
-\r