diff --git a/mopidy/backends/libspotify.py b/mopidy/backends/libspotify.py index e6c74863..14615ee6 100644 --- a/mopidy/backends/libspotify.py +++ b/mopidy/backends/libspotify.py @@ -47,22 +47,38 @@ class LibspotifyLibraryController(BaseLibraryController): class LibspotifyPlaybackController(BasePlaybackController): + def _next(self, track): + if self.state == self.PLAYING: + self._stop() + self._play(track) + return True + def _pause(self): # TODO return False def _play(self, track): + if self.state == self.PLAYING: + self._stop() + if track.uri is None: + return False self.backend.spotify.session.load( - Link.from_string(self._current_track.uri).as_track()) + Link.from_string(track.uri).as_track()) self.backend.spotify.session.play(1) return True + def _previous(self, track): + if self.state == self.PLAYING: + self._stop() + self._play(track) + return True + def _resume(self): # TODO return False def _stop(self): - self.spotify.session.play(0) + self.backend.spotify.session.play(0) return True