From: Jakub Klinkovský Date: Mon, 12 Oct 2015 07:44:13 +0000 (+0200) Subject: Volume percentage should be obtained by float division and rounded to int. X-Git-Tag: 2.10~7^2 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=refs%2Fpull%2F76%2Fhead;p=i3%2Fi3status Volume percentage should be obtained by float division and rounded to int. Fixes #75 --- diff --git a/Makefile b/Makefile index 5667c0d..dca4f71 100644 --- a/Makefile +++ b/Makefile @@ -22,6 +22,7 @@ CFLAGS+=-Iinclude LIBS+=-lconfuse LIBS+=-lyajl LIBS+=-lpulse +LIBS+=-lm VERSION:=$(shell git describe --tags --abbrev=0) GIT_VERSION:="$(shell git describe --tags --always) ($(shell git log --pretty=format:%cd --date=short -n1))" diff --git a/src/pulse.c b/src/pulse.c index 5a381a0..34e302b 100644 --- a/src/pulse.c +++ b/src/pulse.c @@ -1,6 +1,7 @@ // vim:ts=4:sw=4:expandtab #include #include +#include #include #include "i3status.h" #include "queue.h" @@ -78,7 +79,7 @@ static void store_volume_from_sink_cb(pa_context *c, return; int avg_vol = pa_cvolume_avg(&info->volume); - int vol_perc = (int)((long long)avg_vol * 100 / PA_VOLUME_NORM); + int vol_perc = roundf((float)avg_vol * 100 / PA_VOLUME_NORM); int composed_volume = COMPOSE_VOLUME_MUTE(vol_perc, info->mute); /* if this is the default sink we must try to save it twice: once with