summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stapelberg <stapelberg@users.noreply.github.com>2015-10-12 11:29:52 -0700
committerMichael Stapelberg <stapelberg@users.noreply.github.com>2015-10-12 11:29:52 -0700
commitdc94d6cba8112fa908eaf6de5354a17670f62545 (patch)
treed2461fb6d513fb281347297a39599bef6fc72c10
parent1935110ef3c93072f49e5bfc8ee225206453415f (diff)
parent611e863ace93c18a71697bb9a3f8ffa18f03da6d (diff)
Merge pull request #76 from lahwaacz/volume_fix
Volume percentage should be obtained by float division and rounded to int
-rw-r--r--Makefile1
-rw-r--r--src/pulse.c3
2 files changed, 3 insertions, 1 deletions
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 <string.h>
#include <stdio.h>
+#include <math.h>
#include <pulse/pulseaudio.h>
#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