00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef _revmodel_
00012 #define _revmodel_
00013
00014 #include "comb.hpp"
00015 #include "allpass.hpp"
00016 #include "tuning.h"
00017
00018 class revmodel
00019 {
00020 public:
00021 revmodel();
00022 void mute();
00023 void processreplace(float *inputL, float *outputL, long numsamples, int skip);
00024 void processmix(float *inputL, float *outputL, long numsamples, int skip);
00025 void setroomsize(float value);
00026 float getroomsize();
00027 void setdamp(float value);
00028 float getdamp();
00029 void setwet(float value);
00030 float getwet();
00031 void setdry(float value);
00032 float getdry();
00033 void setwidth(float value);
00034 float getwidth();
00035 void setmode(float value);
00036 float getmode();
00037 private:
00038 void update();
00039 private:
00040 float gain;
00041 float roomsize,roomsize1;
00042 float damp,damp1;
00043 float wet,wet1,wet2;
00044 float dry;
00045 float width;
00046 float mode;
00047
00048
00049
00050
00051
00052
00053 comb combL[numcombs];
00054 comb combR[numcombs];
00055
00056
00057 allpass allpassL[numallpasses];
00058 allpass allpassR[numallpasses];
00059
00060
00061 float bufcombL1[combtuningL1];
00062 float bufcombR1[combtuningR1];
00063 float bufcombL2[combtuningL2];
00064 float bufcombR2[combtuningR2];
00065 float bufcombL3[combtuningL3];
00066 float bufcombR3[combtuningR3];
00067 float bufcombL4[combtuningL4];
00068 float bufcombR4[combtuningR4];
00069 float bufcombL5[combtuningL5];
00070 float bufcombR5[combtuningR5];
00071 float bufcombL6[combtuningL6];
00072 float bufcombR6[combtuningR6];
00073 float bufcombL7[combtuningL7];
00074 float bufcombR7[combtuningR7];
00075 float bufcombL8[combtuningL8];
00076 float bufcombR8[combtuningR8];
00077
00078
00079 float bufallpassL1[allpasstuningL1];
00080 float bufallpassR1[allpasstuningR1];
00081 float bufallpassL2[allpasstuningL2];
00082 float bufallpassR2[allpasstuningR2];
00083 float bufallpassL3[allpasstuningL3];
00084 float bufallpassR3[allpasstuningR3];
00085 float bufallpassL4[allpasstuningL4];
00086 float bufallpassR4[allpasstuningR4];
00087 };
00088
00089 #endif//_revmodel_
00090
00091