revmodel.hpp
资源名称:vlc-1.0.5.zip [点击查看]
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:2k
源码类别:
midi
开发平台:
Unix_Linux
- // Reverb model declaration
- //
- // Google Summer of Code 2007
- //
- // Authors: Biodun Osunkunle <biodun@videolan.org>
- //
- // Mentor : Jean-Baptiste Kempf <jb@videolan.org>
- //
- // Original written by Jezar at Dreampoint, June 2000
- #ifndef _revmodel_
- #define _revmodel_
- #include "comb.hpp"
- #include "allpass.hpp"
- #include "tuning.h"
- class revmodel
- {
- public:
- revmodel();
- void mute();
- void processreplace(float *inputL, float *outputL, long numsamples, int skip);
- void processmix(float *inputL, float *outputL, long numsamples, int skip);
- void setroomsize(float value);
- float getroomsize();
- void setdamp(float value);
- float getdamp();
- void setwet(float value);
- float getwet();
- void setdry(float value);
- float getdry();
- void setwidth(float value);
- float getwidth();
- void setmode(float value);
- float getmode();
- private:
- void update();
- private:
- float gain;
- float roomsize,roomsize1;
- float damp,damp1;
- float wet,wet1,wet2;
- float dry;
- float width;
- float mode;
- // The following are all declared inline
- // to remove the need for dynamic allocation
- // with its subsequent error-checking messiness
- // Comb filters
- comb combL[numcombs];
- comb combR[numcombs];
- // Allpass filters
- allpass allpassL[numallpasses];
- allpass allpassR[numallpasses];
- // Buffers for the combs
- float bufcombL1[combtuningL1];
- float bufcombR1[combtuningR1];
- float bufcombL2[combtuningL2];
- float bufcombR2[combtuningR2];
- float bufcombL3[combtuningL3];
- float bufcombR3[combtuningR3];
- float bufcombL4[combtuningL4];
- float bufcombR4[combtuningR4];
- float bufcombL5[combtuningL5];
- float bufcombR5[combtuningR5];
- float bufcombL6[combtuningL6];
- float bufcombR6[combtuningR6];
- float bufcombL7[combtuningL7];
- float bufcombR7[combtuningR7];
- float bufcombL8[combtuningL8];
- float bufcombR8[combtuningR8];
- // Buffers for the allpasses
- float bufallpassL1[allpasstuningL1];
- float bufallpassR1[allpasstuningR1];
- float bufallpassL2[allpasstuningL2];
- float bufallpassR2[allpasstuningR2];
- float bufallpassL3[allpasstuningL3];
- float bufallpassR3[allpasstuningR3];
- float bufallpassL4[allpasstuningL4];
- float bufallpassR4[allpasstuningR4];
- };
- #endif//_revmodel_
- //ends