From 39f9f635cb221e869e3a0d4efe03dcc2fe3d5070 Mon Sep 17 00:00:00 2001 From: Damien Zammit Date: Thu, 15 Oct 2015 14:27:40 +1100 Subject: Lower CPU usage on graphic eq Signed-off-by: Damien Zammit --- plugins/ZamGEQ31/ZamGEQ31Plugin.cpp | 6 +++++- plugins/ZamGEQ31/ZamGEQ31Plugin.hpp | 2 +- 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 }; // ----------------------------------------------------------------------- -- cgit v1.2.3