diff --git a/src/nam_plugin.cpp b/src/nam_plugin.cpp index fb301b0..d27faad 100644 --- a/src/nam_plugin.cpp +++ b/src/nam_plugin.cpp @@ -186,8 +186,9 @@ namespace NAM { if (dblData.size() != n_samples) dblData.resize(n_samples); - float inputLevel = powf(10, *(ports.input_level) * 0.05f); - float outputLevel = powf(10, *(ports.output_level) * 0.05f); + // Convert input/output levels from db and do very basic smoothing + inputLevel = (.99f * inputLevel) + (.01f * powf(10, *(ports.input_level) * 0.05f)); + outputLevel = (.99f * outputLevel) + (.01f * powf(10, *(ports.output_level) * 0.05f)); for (unsigned int i = 0; i < n_samples; i++) { diff --git a/src/nam_plugin.h b/src/nam_plugin.h index fcf8523..6ee3a7c 100644 --- a/src/nam_plugin.h +++ b/src/nam_plugin.h @@ -107,5 +107,7 @@ namespace NAM { std::vector dblData; float m_rate; + float inputLevel = 0; + float outputLevel = 0; }; }