summaryrefslogtreecommitdiffstats
path: root/arts/modules/effects/freeverb/comb.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'arts/modules/effects/freeverb/comb.cpp')
-rw-r--r--arts/modules/effects/freeverb/comb.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/arts/modules/effects/freeverb/comb.cpp b/arts/modules/effects/freeverb/comb.cpp
new file mode 100644
index 00000000..c05f5069
--- /dev/null
+++ b/arts/modules/effects/freeverb/comb.cpp
@@ -0,0 +1,48 @@
+// Comb filter implementation
+//
+// Written by Jezar at Dreampoint, June 2000
+// http://www.dreampoint.co.uk
+// This code is public domain
+
+#include "comb.hpp"
+
+comb::comb()
+{
+ filterstore = 0;
+ bufidx = 0;
+}
+
+void comb::setbuffer(float *buf, int size)
+{
+ buffer = buf;
+ bufsize = size;
+}
+
+void comb::mute()
+{
+ for (int i=0; i<bufsize; i++)
+ buffer[i]=0;
+}
+
+void comb::setdamp(float val)
+{
+ damp1 = val;
+ damp2 = 1-val;
+}
+
+float comb::getdamp()
+{
+ return damp1;
+}
+
+void comb::setfeedback(float val)
+{
+ feedback = val;
+}
+
+float comb::getfeedback()
+{
+ return feedback;
+}
+
+// ends