From 197f1541b35e7543b7b84bce5bdab4eeeced5b5b Mon Sep 17 00:00:00 2001 From: enkore Date: Mon, 25 Feb 2013 19:36:41 +0100 Subject: [PATCH] Fixed alsa not displaying volume changes correctly --- i3pystatus/alsa.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/i3pystatus/alsa.py b/i3pystatus/alsa.py index cfae163..6d63f76 100644 --- a/i3pystatus/alsa.py +++ b/i3pystatus/alsa.py @@ -29,14 +29,21 @@ class ALSA(IntervalModule): card = 0 channel = 0 + alsamixer = None + def init(self): - self.alsamixer = Mixer(control=self.mixer, id=self.mixer_id, cardindex=self.card) + self.create_mixer() self.fdict = { "card": self.alsamixer.cardname(), "mixer": self.mixer, } + def create_mixer(self): + self.alsamixer = Mixer(control=self.mixer, id=self.mixer_id, cardindex=self.card) + def run(self): + self.create_mixer() + muted = self.alsamixer.getmute()[self.channel] == 1 self.fdict["volume"] = self.alsamixer.getvolume()[self.channel] self.fdict["muted"] = self.muted if muted else self.muted