summaryrefslogtreecommitdiff
path: root/muse2/plugins/freeverb/revmodel.h
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/plugins/freeverb/revmodel.h')
-rw-r--r--muse2/plugins/freeverb/revmodel.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/muse2/plugins/freeverb/revmodel.h b/muse2/plugins/freeverb/revmodel.h
new file mode 100644
index 00000000..bfa1f0b3
--- /dev/null
+++ b/muse2/plugins/freeverb/revmodel.h
@@ -0,0 +1,79 @@
+// Reverb model declaration
+//
+// Written by Jezar at Dreampoint, June 2000
+// http://www.dreampoint.co.uk
+// This code is public domain
+
+#ifndef _revmodel_
+#define _revmodel_
+
+#include "comb.h"
+#include "allpass.h"
+#include "tuning.h"
+#include "../../muse/ladspa.h"
+
+//---------------------------------------------------------
+// Revmodel
+//---------------------------------------------------------
+
+class Revmodel {
+ float gain;
+ float roomsize,roomsize1;
+ float damp,damp1;
+ float width;
+ float mode;
+
+ // 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];
+ void update();
+
+ public:
+ LADSPA_Data* port[7];
+ float param[3];
+
+ Revmodel();
+ void processmix(long numsamples);
+ void processreplace(long numsamples);
+ void setroomsize(float value);
+ float getroomsize();
+ void setdamp(float value);
+ void setwidth(float value);
+ void setmode(float value);
+ float getmode();
+ void activate();
+ };
+
+#endif