summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/ZamGEQ31/ZamGEQ31Plugin.cpp6
-rw-r--r--plugins/ZamGEQ31/ZamGEQ31Plugin.hpp2
2 files changed, 6 insertions, 2 deletions
diff --git a/plugins/ZamGEQ31/ZamGEQ31Plugin.cpp b/plugins/ZamGEQ31/ZamGEQ31Plugin.cpp
index 22bf77c..cac1584 100644
--- a/plugins/ZamGEQ31/ZamGEQ31Plugin.cpp
+++ b/plugins/ZamGEQ31/ZamGEQ31Plugin.cpp
@@ -662,6 +662,7 @@ void ZamGEQ31Plugin::loadProgram(uint32_t index)
float srate = getSampleRate();
for (i = 0; i < 29; ++i) {
geq(i, srate, 0.);
+ gainold[i] = 0.;
}
/* reset filter values */
@@ -691,7 +692,10 @@ void ZamGEQ31Plugin::run(const float** inputs, float** outputs, uint32_t frames)
uint32_t i, j;
for (i = 0; i < 29; i++) {
- geq(i, srate, gain[i]);
+ if (gain[i] != gainold[i]) {
+ geq(i, srate, gain[i]);
+ gainold[i] = gain[i];
+ }
}
for (i = 0; i < frames; i++) {
diff --git a/plugins/ZamGEQ31/ZamGEQ31Plugin.hpp b/plugins/ZamGEQ31/ZamGEQ31Plugin.hpp
index 239873d..67bc4e2 100644
--- a/plugins/ZamGEQ31/ZamGEQ31Plugin.hpp
+++ b/plugins/ZamGEQ31/ZamGEQ31Plugin.hpp
@@ -144,7 +144,7 @@ protected:
// -------------------------------------------------------------------
private:
- float gain[29], master; //parameters
+ float gain[29], gainold[29], master; //parameters
};
// -----------------------------------------------------------------------