20 #ifndef __ardour_gtk_log_meter_h__
21 #define __ardour_gtk_log_meter_h__
25 _log_meter (
float power,
double lower_db,
double upper_db,
double non_linearity)
27 return (power < lower_db ? 0.0 : pow((power-lower_db)/(upper_db-lower_db), non_linearity));
54 }
else if (db < -60.0
f) {
55 def = (db + 70.0f) * 0.25
f;
56 }
else if (db < -50.0
f) {
57 def = (db + 60.0f) * 0.5
f + 2.5
f;
58 }
else if (db < -40.0
f) {
59 def = (db + 50.0f) * 0.75
f + 7.5
f;
60 }
else if (db < -30.0
f) {
61 def = (db + 40.0f) * 1.5
f + 15.0
f;
62 }
else if (db < -20.0
f) {
63 def = (db + 30.0f) * 2.0
f + 30.0
f;
64 }
else if (db < 6.0
f) {
65 def = (db + 20.0f) * 2.5
f + 50.0
f;
85 }
else if (db < -60.0
f) {
86 def = (db + 70.0f) * 0.25
f;
87 }
else if (db < -50.0
f) {
88 def = (db + 60.0f) * 0.5
f + 2.5
f;
89 }
else if (db < -40.0
f) {
90 def = (db + 50.0f) * 0.75
f + 7.5
f;
91 }
else if (db < -30.0
f) {
92 def = (db + 40.0f) * 1.5
f + 15.0
f;
93 }
else if (db < -20.0
f) {
94 def = (db + 30.0f) * 2.0
f + 30.0
f;
95 }
else if (db < 0.0
f) {
96 def = (db + 20.0f) * 2.5
f + 50.0
f;
110 const float rv = (db + 32.0f) / 28.0
f;
123 rv = sqrtf (sqrtf (2.3676
f * rv)) - 0.1803f;
127 return (rv > 0 ? rv : 0.0);
137 const float rv = (db + 60.0f) / 54.0
f;
150 if (rv > 1.0)
return 1.0;
161 const float rv = (db + 45.0f) / (krange + 45.0
f);
static float meter_deflect_ppm(float)
static float meter_deflect_din(float)
static float log_meter0dB(float db)
static float meter_deflect_nordic(float)
static float _log_meter(float power, double lower_db, double upper_db, double non_linearity)
static float alt_log_meter(float power)
static float log_meter(float db)
static float dB_to_coefficient(float dB)
static float meter_deflect_vu(float)
static float meter_deflect_k(float, float)