diff --git a/mopidy/mpd/frontend.py b/mopidy/mpd/frontend.py index 8804f1b7..259271f3 100644 --- a/mopidy/mpd/frontend.py +++ b/mopidy/mpd/frontend.py @@ -518,10 +518,10 @@ class MpdFrontend(object): # XXX Naive implementation that returns all tracks as changed if int(version) != self.backend.current_playlist.version: result = [] - for position, track in enumerate( - self.backend.current_playlist.tracks): + for (position, (cpid, track)) in enumerate( + self.backend.current_playlist.cp_tracks): result.append((u'cpos', position)) - result.append((u'Id', track.id)) + result.append((u'Id', cpid)) return result @handle_pattern(r'^shuffle$') diff --git a/tests/mpd/current_playlist_test.py b/tests/mpd/current_playlist_test.py index 5a7b6ca4..4372ed19 100644 --- a/tests/mpd/current_playlist_test.py +++ b/tests/mpd/current_playlist_test.py @@ -317,15 +317,17 @@ class CurrentPlaylistHandlerTest(unittest.TestCase): self.assert_(u'OK' in result) def test_plchangesposid(self): - self.b.current_playlist.load( - [Track(id=11), Track(id=12), Track(id=13)]) + self.b.current_playlist.load([Track(), Track(), Track()]) result = self.h.handle_request(u'plchangesposid "0"') self.assert_(u'cpos: 0' in result) - self.assert_(u'Id: 11' in result) + self.assert_(u'Id: %d' % self.b.current_playlist.cp_tracks[0][0] + in result) self.assert_(u'cpos: 2' in result) - self.assert_(u'Id: 12' in result) + self.assert_(u'Id: %d' % self.b.current_playlist.cp_tracks[1][0] + in result) self.assert_(u'cpos: 2' in result) - self.assert_(u'Id: 13' in result) + self.assert_(u'Id: %d' % self.b.current_playlist.cp_tracks[2][0] + in result) self.assert_(u'OK' in result) def test_shuffle_without_range(self):