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;