summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/dB.h
diff options
context:
space:
mode:
authorBen Loftis <ben@harrisonconsoles.com>2015-03-25 16:47:25 -0500
committerRobin Gareus <robin@gareus.org>2015-04-22 00:22:43 +0200
commit46f97e8d92241c94d12d81ea182a9172df98e61e (patch)
treef757e7014aa6260b7d927b35bcf1fd221e2d40e4 /libs/ardour/ardour/dB.h
parent187ddb3bad70088f901ed1ea5e1402519fd393b4 (diff)
Initial Gain Coefficient tweaks
1) Disambiguate 1.0 to GAIN_COEFF_UNITY, and 0.0 to GAIN_COEFF_ZERO 2) Add GAIN_COEFF_SMALL which replaces SMALL_SIGNAL (-140dB) 3) GAIN_COEFF_SMALL can used to avoid interpolating towards -inf on a db scale 4) GAIN_COEFF_SMALL is used to detect very small (denormal?) gains and memset to zero
Diffstat (limited to 'libs/ardour/ardour/dB.h')
-rw-r--r--libs/ardour/ardour/dB.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/libs/ardour/ardour/dB.h b/libs/ardour/ardour/dB.h
index abacdfcd29..0fd75a869f 100644
--- a/libs/ardour/ardour/dB.h
+++ b/libs/ardour/ardour/dB.h
@@ -22,6 +22,10 @@
#include "pbd/fastlog.h"
+#define GAIN_COEFF_ZERO 0.0
+#define GAIN_COEFF_SMALL 0.0000001 //-140dB
+#define GAIN_COEFF_UNITY 1.0
+
static inline float dB_to_coefficient (float dB) {
return dB > -318.8f ? pow (10.0f, dB * 0.05f) : 0.0f;
}