mixer: Remove trigger_events_for_any_change() helper from API

This commit is contained in:
Stein Magnus Jodal 2014-07-15 10:34:32 +02:00
parent 9ca5b4af39
commit c234281c7b
3 changed files with 16 additions and 24 deletions

View File

@ -191,7 +191,7 @@ class Audio(pykka.ThreadingActor):
self._connect(self._playbin, 'notify::mute', self._on_mixer_change)
def _on_mixer_change(self, element, gparamspec):
self._mixer.trigger_events_for_any_changes()
self._mixer.trigger_events_for_changed_values()
def _teardown_mixer(self):
if self._config['audio']['mixer'] != 'software':

View File

@ -106,29 +106,6 @@ class Mixer(object):
logger.debug('Mixer event: mute_changed(mute=%s)', mute)
MixerListener.send('mute_changed', mute=mute)
def trigger_events_for_any_changes(self):
"""
Checks current volume and mute, compares with old values, and emits
events if anything has changed.
This method should be called by subclasses when they know something has
changed, and events needs to be sent.
"""
if not hasattr(self, '__last_volume'):
self.__last_volume = None
if not hasattr(self, '__last_mute'):
self.__last_mute = None
old_volume, self.__last_volume = self.__last_volume, self.get_volume()
old_mute, self.__last_mute = self.__last_mute, self.get_mute()
if old_volume != self.__last_volume:
self.trigger_volume_changed(self.__last_volume)
if old_mute != self.__last_mute:
self.trigger_mute_changed(self.__last_mute)
class MixerListener(listener.Listener):
"""

View File

@ -42,3 +42,18 @@ class SoftwareMixer(pykka.ThreadingActor, mixer.Mixer):
return False
self.audio.set_mute(mute)
return True
def trigger_events_for_changed_values(self):
if not hasattr(self, '_last_volume'):
self._last_volume = None
if not hasattr(self, '_last_mute'):
self._last_mute = None
old_volume, self._last_volume = self._last_volume, self.get_volume()
old_mute, self._last_mute = self._last_mute, self.get_mute()
if old_volume != self._last_volume:
self.trigger_volume_changed(self._last_volume)
if old_mute != self._last_mute:
self.trigger_mute_changed(self._last_mute)