From 5638604a078d3cfdabf4869b80de7ec2d5b63e9a Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Mon, 3 May 2010 22:38:21 +0200 Subject: [PATCH] Remove backend.playback.volume in preference of backend.mixer.volume --- docs/changes.rst | 6 +++++- mopidy/backends/__init__.py | 22 ++++++---------------- mopidy/mpd/frontend.py | 6 +++--- tests/mpd/frontend_test.py | 14 +++++++------- 4 files changed, 21 insertions(+), 27 deletions(-) diff --git a/docs/changes.rst b/docs/changes.rst index f0953d7a..c0475f64 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -10,7 +10,11 @@ This change log is used to track all major changes to Mopidy. - Merged the ``gstreamer`` branch from Thomas Adamcik, bringing more than a hundred new tests, several bugfixes and a new backend for playing music from a local music archive. -- **[WIP]** Changed backend API for get/filter/find_exact/search. +- Backend API changes: + + - Removed ``backend.playback.volume`` wrapper. Use ``backend.mixer.volume`` + directly. + - **[WIP]** Changed API for get/filter/find_exact/search. 0.1.0a0 (2010-03-27) diff --git a/mopidy/backends/__init__.py b/mopidy/backends/__init__.py index a8741b56..6f0e6da0 100644 --- a/mopidy/backends/__init__.py +++ b/mopidy/backends/__init__.py @@ -464,23 +464,13 @@ class BasePlaybackController(object): def _current_wall_time(self): return int(time.time() * 1000) - @property - def volume(self): - # FIXME Shouldn't we just be using the backend mixer directly? ie can we - # remove this? - """ - The audio volume as an int in the range [0, 100]. - - :class:`None` if unknown. - """ - return self.backend.mixer.volume - - @volume.setter - def volume(self, volume): - self.backend.mixer.volume = volume - def end_of_track_callback(self): - """Tell the playback controller that end of track is reached.""" + """ + Tell the playback controller that end of track is reached. + + Typically called by :class:`mopidy.process.CoreProcess` after a message + from a library thread is received. + """ if self.next_track is not None: self.next() else: diff --git a/mopidy/mpd/frontend.py b/mopidy/mpd/frontend.py index 9ffdd169..50ec26af 100644 --- a/mopidy/mpd/frontend.py +++ b/mopidy/mpd/frontend.py @@ -954,7 +954,7 @@ class MpdFrontend(object): volume = 0 if volume > 100: volume = 100 - self.backend.playback.volume = volume + self.backend.mixer.volume = volume @handle_pattern(r'^single "(?P[01])"$') def _playback_single(self, state): @@ -1252,8 +1252,8 @@ class MpdFrontend(object): return self.backend.playback.current_track.length def __status_status_volume(self): - if self.backend.playback.volume is not None: - return self.backend.playback.volume + if self.backend.mixer.volume is not None: + return self.backend.mixer.volume else: return 0 diff --git a/tests/mpd/frontend_test.py b/tests/mpd/frontend_test.py index 686b7505..e4a9593c 100644 --- a/tests/mpd/frontend_test.py +++ b/tests/mpd/frontend_test.py @@ -155,7 +155,7 @@ class StatusHandlerTest(unittest.TestCase): self.assertEqual(int(result['volume']), 0) def test_status_method_contains_volume(self): - self.b.playback.volume = 17 + self.b.mixer.volume = 17 result = dict(self.h._status_status()) self.assert_('volume' in result) self.assertEqual(int(result['volume']), 17) @@ -334,32 +334,32 @@ class PlaybackOptionsHandlerTest(unittest.TestCase): def test_setvol_below_min(self): result = self.h.handle_request(u'setvol "-10"') self.assert_(u'OK' in result) - self.assertEqual(0, self.b.playback.volume) + self.assertEqual(0, self.b.mixer.volume) def test_setvol_min(self): result = self.h.handle_request(u'setvol "0"') self.assert_(u'OK' in result) - self.assertEqual(0, self.b.playback.volume) + self.assertEqual(0, self.b.mixer.volume) def test_setvol_middle(self): result = self.h.handle_request(u'setvol "50"') self.assert_(u'OK' in result) - self.assertEqual(50, self.b.playback.volume) + self.assertEqual(50, self.b.mixer.volume) def test_setvol_max(self): result = self.h.handle_request(u'setvol "100"') self.assert_(u'OK' in result) - self.assertEqual(100, self.b.playback.volume) + self.assertEqual(100, self.b.mixer.volume) def test_setvol_above_max(self): result = self.h.handle_request(u'setvol "110"') self.assert_(u'OK' in result) - self.assertEqual(100, self.b.playback.volume) + self.assertEqual(100, self.b.mixer.volume) def test_setvol_plus_is_ignored(self): result = self.h.handle_request(u'setvol "+10"') self.assert_(u'OK' in result) - self.assertEqual(10, self.b.playback.volume) + self.assertEqual(10, self.b.mixer.volume) def test_single_off(self): result = self.h.handle_request(u'single "0"')