diff --git a/docs/changes.rst b/docs/changes.rst index 92f52356..defe0033 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -24,6 +24,8 @@ v0.13.0 (in development) - Publish album art URIs if available. +- Publish disc number of track if available. + v0.12.0 (2013-03-12) ==================== diff --git a/mopidy/frontends/mpris/objects.py b/mopidy/frontends/mpris/objects.py index 4c72a85b..a9a93b45 100644 --- a/mopidy/frontends/mpris/objects.py +++ b/mopidy/frontends/mpris/objects.py @@ -379,6 +379,8 @@ class MprisObject(dbus.service.Object): url = list(track.album.images)[0] if url: metadata['mpris:artUrl'] = url + if track.disc_no: + metadata['xesam:discNumber'] = track.disc_no if track.track_no: metadata['xesam:trackNumber'] = track.track_no return dbus.Dictionary(metadata, signature='sv') diff --git a/tests/frontends/mpris/player_interface_test.py b/tests/frontends/mpris/player_interface_test.py index 5832c710..0c477dc8 100644 --- a/tests/frontends/mpris/player_interface_test.py +++ b/tests/frontends/mpris/player_interface_test.py @@ -224,6 +224,13 @@ class PlayerInterfaceTest(unittest.TestCase): result = self.mpris.Get(objects.PLAYER_IFACE, 'Metadata') self.assertNotIn('mpris:artUrl', result.keys()) + def test_get_metadata_has_disc_number_in_album(self): + self.core.tracklist.add([Track(disc_no=2)]) + self.core.playback.play() + result = self.mpris.Get(objects.PLAYER_IFACE, 'Metadata') + self.assertIn('xesam:discNumber', result.keys()) + self.assertEqual(result['xesam:discNumber'], 2) + def test_get_metadata_has_track_number_in_album(self): self.core.tracklist.add([Track(track_no=7)]) self.core.playback.play()