You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

23 lines
804 B

  1. --- a/alsamixer/volume_mapping.c
  2. +++ b/alsamixer/volume_mapping.c
  3. @@ -114,9 +114,9 @@ static double get_normalized_volume(snd_
  4. if (use_linear_dB_scale(min, max))
  5. return (value - min) / (double)(max - min);
  6. - normalized = exp10((value - max) / 6000.0);
  7. + normalized = pow(10, (value - max) / 6000.0);
  8. if (min != SND_CTL_TLV_DB_GAIN_MUTE) {
  9. - min_norm = exp10((min - max) / 6000.0);
  10. + min_norm = pow(10, (min - max) / 6000.0);
  11. normalized = (normalized - min_norm) / (1 - min_norm);
  12. }
  13. @@ -149,7 +149,7 @@ static int set_normalized_volume(snd_mix
  14. }
  15. if (min != SND_CTL_TLV_DB_GAIN_MUTE) {
  16. - min_norm = exp10((min - max) / 6000.0);
  17. + min_norm = pow(10, (min - max) / 6000.0);
  18. volume = volume * (1 - min_norm) + min_norm;
  19. }
  20. value = lrint_dir(6000.0 * log10(volume), dir) + max;