libspotify: Improve playback controls by stopping before playing new track. Fix a couple of bugs.

This commit is contained in:
Stein Magnus Jodal 2010-02-13 01:28:39 +01:00
parent 051b79e7cb
commit ba7a3a51e3

View File

@ -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