diff --git a/mopidy/backends/base/playback.py b/mopidy/backends/base/playback.py index 2dafda14..2cf15629 100644 --- a/mopidy/backends/base/playback.py +++ b/mopidy/backends/base/playback.py @@ -370,12 +370,13 @@ class BasePlaybackController(object): self.next() return + self._play_time_started = self._current_wall_time + self._play_time_accumulated = time_position + self._seek(time_position) def _seek(self, time_position): - time_position_ms = int(time_position) * 1000 - self._play_time_started = (self._current_wall_time - time_position_ms) - self._play_time_accumulated = time_position_ms + raise NotImplementedError def stop(self): """Stop playing.""" diff --git a/mopidy/backends/libspotify/__init__.py b/mopidy/backends/libspotify/__init__.py index 2092b25b..04b5af66 100644 --- a/mopidy/backends/libspotify/__init__.py +++ b/mopidy/backends/libspotify/__init__.py @@ -123,10 +123,8 @@ class LibspotifyPlaybackController(BasePlaybackController): def _seek(self, time_position): self._set_output_state('READY') - seek_to_ms = int(time_position) * 1000 - result = self.backend.spotify.session.seek(seek_to_ms) + result = self.backend.spotify.session.seek(time_position) self._set_output_state('PLAYING') - super(LibspotifyPlaybackController, self)._seek(time_position) def _stop(self): result = self._set_output_state('READY') diff --git a/mopidy/frontends/mpd/protocol/playback.py b/mopidy/frontends/mpd/protocol/playback.py index 7fe42ec8..58cd02fd 100644 --- a/mopidy/frontends/mpd/protocol/playback.py +++ b/mopidy/frontends/mpd/protocol/playback.py @@ -293,7 +293,7 @@ def seek(frontend, songpos, seconds): Seeks to the position ``TIME`` (in seconds) of entry ``SONGPOS`` in the playlist. """ - return frontend.backend.playback._seek(seconds) + return frontend.backend.playback.seek(int(seconds) * 1000) @handle_pattern(r'^seekid "(?P\d+)" "(?P\d+)"$') def seekid(frontend, cpid, seconds):