From e1b2705c5dc6c888924dda8f57c88edeb43494ba Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Thu, 21 May 2020 17:14:22 +0900 Subject: KMix: fixed rounding error on volume reading. This was preventing 1% volume increase steps from working properly. Signed-off-by: Michele Calgaro --- kmix/mixer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'kmix/mixer.cpp') diff --git a/kmix/mixer.cpp b/kmix/mixer.cpp index d8e93fc4..150b196d 100644 --- a/kmix/mixer.cpp +++ b/kmix/mixer.cpp @@ -570,7 +570,9 @@ int Mixer::volume( int deviceidx ) } else { - return ( vol.getVolume( Volume::LEFT )*100) / volumeRange ; + // Make sure to round correctly, otherwise the volume level will always be 1% too low + // and increments of 1% of top of the value read will result in no change to the actual level + return ((100.0 * vol.getVolume(Volume::LEFT) + volumeRange / 2) / volumeRange); } } -- cgit v1.2.3