blob: e021374a252d13e01d4d01e148ee21e1c0cc291f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
diff --git a/alsamixer/volume_mapping.c b/alsamixer/volume_mapping.c
index 9cacad8..f08f003 100644
--- a/alsamixer/volume_mapping.c
+++ b/alsamixer/volume_mapping.c
@@ -109,9 +109,9 @@ static double get_normalized_volume(snd_mixer_elem_t *elem,
if (use_linear_dB_scale(min, max))
return (value - min) / (double)(max - min);
- normalized = exp10((value - max) / 6000.0);
+ normalized = exp(M_LN10 * (value - max) / 6000.0);
if (min != SND_CTL_TLV_DB_GAIN_MUTE) {
- min_norm = exp10((min - max) / 6000.0);
+ min_norm = exp(M_LN10 * (min - max) / 6000.0);
normalized = (normalized - min_norm) / (1 - min_norm);
}
@@ -144,7 +144,7 @@ static int set_normalized_volume(snd_mixer_elem_t *elem,
}
if (min != SND_CTL_TLV_DB_GAIN_MUTE) {
- min_norm = exp10((min - max) / 6000.0);
+ min_norm = exp(M_LN10 * (min - max) / 6000.0);
volume = volume * (1 - min_norm) + min_norm;
}
value = lrint_dir(6000.0 * log10(volume), dir) + max;
|