Fixed alsa not displaying volume changes correctly

This commit is contained in:
enkore 2013-02-25 19:36:41 +01:00
parent 446eda7218
commit 197f1541b3

View File

@ -29,14 +29,21 @@ class ALSA(IntervalModule):
card = 0 card = 0
channel = 0 channel = 0
alsamixer = None
def init(self): def init(self):
self.alsamixer = Mixer(control=self.mixer, id=self.mixer_id, cardindex=self.card) self.create_mixer()
self.fdict = { self.fdict = {
"card": self.alsamixer.cardname(), "card": self.alsamixer.cardname(),
"mixer": self.mixer, "mixer": self.mixer,
} }
def create_mixer(self):
self.alsamixer = Mixer(control=self.mixer, id=self.mixer_id, cardindex=self.card)
def run(self): def run(self):
self.create_mixer()
muted = self.alsamixer.getmute()[self.channel] == 1 muted = self.alsamixer.getmute()[self.channel] == 1
self.fdict["volume"] = self.alsamixer.getvolume()[self.channel] self.fdict["volume"] = self.alsamixer.getvolume()[self.channel]
self.fdict["muted"] = self.muted if muted else self.muted self.fdict["muted"] = self.muted if muted else self.muted