Anklang 0.3.0-460-gc4ef46ba
ASE — Anklang Sound Engine (C++)

« « « Anklang Documentation
Loading...
Searching...
No Matches
revmodel.hpp
Go to the documentation of this file.
1 // Reverb model declaration
2//
3// Written by Jezar at Dreampoint, June 2000
4// http://www.dreampoint.co.uk
5// This code is public domain
6
7#ifndef _revmodel_
8#define _revmodel_
9
10#include "comb.hpp"
11#include "allpass.hpp"
12#include "tuning.h"
13
15{
16public:
17 revmodel();
18 void mute();
19 void processmix(float *inputL, float *inputR, float *outputL, float *outputR, long numsamples, int skip);
20 void processreplace(float *inputL, float *inputR, float *outputL, float *outputR, long numsamples, int skip);
21 void setroomsize(float value);
22 float getroomsize();
23 void setdamp(float value, int mode);
24 float getdamp();
25 void setwet(float value);
26 float getwet();
27 void setdry(float value);
28 float getdry();
29 void setwidth(float value);
30 float getwidth();
31 void setmode(float value);
32 float getmode();
33private:
34 void update();
35private:
36 float gain;
37 float roomsize,roomsize1;
38 float damp,damp1;
39 int dampmode;
40 float wet,wet1,wet2;
41 float dry;
42 float width;
43 float mode;
44
45 // The following are all declared inline
46 // to remove the need for dynamic allocation
47 // with its subsequent error-checking messiness
48
49 // Comb filters
50 comb combL[numcombs];
51 comb combR[numcombs];
52
53 // Allpass filters
54 allpass allpassL[numallpasses];
55 allpass allpassR[numallpasses];
56
57 // Buffers for the combs
58 float bufcombL1[combtuningL1];
59 float bufcombR1[combtuningR1];
60 float bufcombL2[combtuningL2];
61 float bufcombR2[combtuningR2];
62 float bufcombL3[combtuningL3];
63 float bufcombR3[combtuningR3];
64 float bufcombL4[combtuningL4];
65 float bufcombR4[combtuningR4];
66 float bufcombL5[combtuningL5];
67 float bufcombR5[combtuningR5];
68 float bufcombL6[combtuningL6];
69 float bufcombR6[combtuningR6];
70 float bufcombL7[combtuningL7];
71 float bufcombR7[combtuningR7];
72 float bufcombL8[combtuningL8];
73 float bufcombR8[combtuningR8];
74
75 // Buffers for the allpasses
76 float bufallpassL1[allpasstuningL1];
77 float bufallpassR1[allpasstuningR1];
78 float bufallpassL2[allpasstuningL2];
79 float bufallpassR2[allpasstuningR2];
80 float bufallpassL3[allpasstuningL3];
81 float bufallpassR3[allpasstuningR3];
82 float bufallpassL4[allpasstuningL4];
83 float bufallpassR4[allpasstuningR4];
84};
85
86#endif//_revmodel_
87
88//ends
Definition comb.hpp:13