diff --git a/mopidy/backends/__init__.py b/mopidy/backends/__init__.py index d4f0270e..9f6873a5 100644 --- a/mopidy/backends/__init__.py +++ b/mopidy/backends/__init__.py @@ -31,7 +31,7 @@ class BasePlaybackController(object): def __init__(self, backend): self.backend = backend self.current_track = None - self.playlist_position = None + self.playlist_position = 0 def play(self, id=None, position=None): raise NotImplementedError diff --git a/mopidy/backends/gstreamer.py b/mopidy/backends/gstreamer.py index 9989582f..ae23dcda 100644 --- a/mopidy/backends/gstreamer.py +++ b/mopidy/backends/gstreamer.py @@ -60,8 +60,7 @@ class GStreamerPlaybackController(BasePlaybackController): if not self.current_track and not playlist.tracks: return False elif playlist.tracks: - self.current_track = playlist.tracks[0] - self.playlist_position = 0 + self.current_track = playlist.tracks[self.playlist_position] self.bin.set_property("uri", self.current_track.uri) self.bin.set_state(gst.STATE_PLAYING) @@ -69,4 +68,9 @@ class GStreamerPlaybackController(BasePlaybackController): return True def next(self): - pass + playlist = self.backend.current_playlist.playlist + + self.playlist_position += 1 + self.current_track = playlist.tracks[self.playlist_position] + + self.play()