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