core: Include new volume level in volume_changed event

This commit is contained in:
Stein Magnus Jodal 2012-12-19 16:31:58 +01:00
parent 0d7b22b745
commit c5ac7aeb77
6 changed files with 10 additions and 6 deletions

View File

@ -47,6 +47,9 @@ v0.11.0 (in development)
- Actually trigger the :meth:`mopidy.core.CoreListener.volume_changed` event.
- Include the new volume level in the
:meth:`mopidy.core.CoreListener.volume_changed` event.
v0.10.0 (2012-12-12)
====================

View File

@ -289,7 +289,7 @@ class PlaybackController(object):
# For testing
self._volume = volume
self._trigger_volume_changed()
self._trigger_volume_changed(volume)
volume = property(get_volume, set_volume)
"""Volume as int in range [0..100] or :class:`None`"""
@ -517,9 +517,9 @@ class PlaybackController(object):
logger.debug('Triggering options changed event')
listener.CoreListener.send('options_changed')
def _trigger_volume_changed(self):
def _trigger_volume_changed(self, volume):
logger.debug('Triggering volume changed event')
listener.CoreListener.send('volume_changed')
listener.CoreListener.send('volume_changed', volume=volume)
def _trigger_seeked(self, time_position):
logger.debug('Triggering seeked event')

View File

@ -49,5 +49,5 @@ class MpdFrontend(pykka.ThreadingActor, CoreListener):
def options_changed(self):
self.send_idle('options')
def volume_changed(self):
def volume_changed(self, volume):
self.send_idle('mixer')

View File

@ -84,7 +84,7 @@ class MprisFrontend(pykka.ThreadingActor, CoreListener):
self._emit_properties_changed(
objects.PLAYER_IFACE, ['PlaybackStatus', 'Metadata'])
def volume_changed(self):
def volume_changed(self, volume):
logger.debug('Received volume_changed event')
self._emit_properties_changed(objects.PLAYER_IFACE, ['Volume'])

View File

@ -122,3 +122,4 @@ class BackendEventsTest(unittest.TestCase):
send.reset_mock()
self.core.playback.set_volume(20).get()
self.assertEqual(send.call_args[0][0], 'volume_changed')
self.assertEqual(send.call_args[1]['volume'], 20)

View File

@ -65,7 +65,7 @@ class BackendEventsTest(unittest.TestCase):
def test_volume_changed_event_changes_volume(self):
self.mpris_object.Get.return_value = 1.0
self.mpris_frontend.volume_changed()
self.mpris_frontend.volume_changed(volume=100)
self.assertListEqual(self.mpris_object.Get.call_args_list, [
((objects.PLAYER_IFACE, 'Volume'), {}),
])