|
--- a/alsamixer/volume_mapping.c
|
|
+++ b/alsamixer/volume_mapping.c
|
|
@@ -108,9 +108,9 @@ static double get_normalized_volume(snd_
|
|
if (use_linear_dB_scale(min, max))
|
|
return (value - min) / (double)(max - min);
|
|
|
|
- normalized = exp10((value - max) / 6000.0);
|
|
+ normalized = pow(10, (value - max) / 6000.0);
|
|
if (min != SND_CTL_TLV_DB_GAIN_MUTE) {
|
|
- min_norm = exp10((min - max) / 6000.0);
|
|
+ min_norm = pow(10, (min - max) / 6000.0);
|
|
normalized = (normalized - min_norm) / (1 - min_norm);
|
|
}
|
|
|
|
@@ -143,7 +143,7 @@ static int set_normalized_volume(snd_mix
|
|
}
|
|
|
|
if (min != SND_CTL_TLV_DB_GAIN_MUTE) {
|
|
- min_norm = exp10((min - max) / 6000.0);
|
|
+ min_norm = pow(10, (min - max) / 6000.0);
|
|
volume = volume * (1 - min_norm) + min_norm;
|
|
}
|
|
value = lrint_dir(6000.0 * log10(volume), dir) + max;
|