Adding the possibility to mute at app level mopidy

This commit is contained in:
Javier Domingo Cansino 2013-09-17 12:33:27 +02:00
parent e77227c812
commit 390194afc3
2 changed files with 23 additions and 0 deletions

View File

@ -537,6 +537,12 @@ class Audio(pykka.ThreadingActor):
return self._mixer.get_volume(self._mixer_track) == volumes
def get_mute(self):
return self._playbin.get_property('mute')
def set_mute(self, status):
self._playbin.set_property('mute', bool(status))
def _rescale(self, value, old=None, new=None):
"""Convert value between scales."""
new_min, new_max = new

View File

@ -24,6 +24,7 @@ class PlaybackController(object):
self._shuffled = []
self._first_shuffle = True
self._volume = None
self._mute = None
def _get_backend(self):
if self.current_tl_track is None:
@ -288,6 +289,22 @@ class PlaybackController(object):
volume = property(get_volume, set_volume)
"""Volume as int in range [0..100] or :class:`None`"""
def get_mute(self):
if self.audio:
return self.audio.get_mute().get()
else:
return self._mute
def set_mute(self, value):
value = bool(value)
if self.audio:
self.audio.set_mute(value)
else:
self._mute = value
mute = property(get_mute, set_mute)
"""Let the audio get muted, maintaining previous volume"""
### Methods
def change_track(self, tl_track, on_error_step=1):