Add changed event for volume and updated MpdSession to regcognise it.

This commit is contained in:
Thomas Adamcik 2011-07-19 11:07:36 +02:00
parent 8ae0381cd8
commit da3b4c4b93
3 changed files with 21 additions and 1 deletions

View File

@ -58,6 +58,9 @@ class MpdFrontend(actor.ThreadingActor, listeners.BackendListener):
def options_changed(self):
self.send_idle('options')
def volume_changed(self):
self.send_idle('mixer')
class MpdSession(network.LineProtocol):
"""

View File

@ -70,3 +70,11 @@ class BackendListener(object):
*MAY* be implemented by actor.
"""
pass
def volume_changed(self):
"""
Called whenever the volume is changed.
*MAY* be implemented by actor.
"""
pass

View File

@ -1,4 +1,8 @@
from mopidy import settings
import logging
from mopidy import listeners, settings
logger = logging.getLogger('mopdy.mixers')
class BaseMixer(object):
"""
@ -30,6 +34,7 @@ class BaseMixer(object):
elif volume > 100:
volume = 100
self.set_volume(volume)
self._trigger_volume_changed()
def get_volume(self):
"""
@ -46,3 +51,7 @@ class BaseMixer(object):
*MUST be implemented by subclass.*
"""
raise NotImplementedError
def _trigger_volume_changed(self):
logger.debug(u'Triggering volume changed event')
listeners.BackendListener.send('volume_changed')