From 19858cedcda096df5bfc311a5a93b96b0b4aec79 Mon Sep 17 00:00:00 2001 From: Pierpaolo Frasa Date: Sun, 26 Jan 2014 02:14:11 +0100 Subject: [PATCH 1/2] save the time position before calling stop --- mopidy/core/playback.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mopidy/core/playback.py b/mopidy/core/playback.py index b2acb35a..d72ff6f9 100644 --- a/mopidy/core/playback.py +++ b/mopidy/core/playback.py @@ -306,9 +306,10 @@ class PlaybackController(object): """ if self.state != PlaybackState.STOPPED: backend = self._get_backend() + time_position_before_stop = self.time_position if not backend or backend.playback.stop().get(): self.state = PlaybackState.STOPPED - self._trigger_track_playback_ended() + self._trigger_track_playback_ended(time_position_before_stop) if clear_current_track: self.current_tl_track = None @@ -336,13 +337,13 @@ class PlaybackController(object): 'track_playback_started', tl_track=self.current_tl_track) - def _trigger_track_playback_ended(self): + def _trigger_track_playback_ended(self, time_position_before_stop): logger.debug('Triggering track playback ended event') if self.current_tl_track is None: return listener.CoreListener.send( 'track_playback_ended', - tl_track=self.current_tl_track, time_position=self.time_position) + tl_track=self.current_tl_track, time_position=time_position_before_stop) def _trigger_playback_state_changed(self, old_state, new_state): logger.debug('Triggering playback state change event') From b52249130284d65747d001db8bbea658ea881b55 Mon Sep 17 00:00:00 2001 From: Pierpaolo Frasa Date: Sun, 26 Jan 2014 02:50:03 +0100 Subject: [PATCH 2/2] fix style issues --- mopidy/core/playback.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mopidy/core/playback.py b/mopidy/core/playback.py index d72ff6f9..3164e3b3 100644 --- a/mopidy/core/playback.py +++ b/mopidy/core/playback.py @@ -343,7 +343,8 @@ class PlaybackController(object): return listener.CoreListener.send( 'track_playback_ended', - tl_track=self.current_tl_track, time_position=time_position_before_stop) + tl_track=self.current_tl_track, + time_position=time_position_before_stop) def _trigger_playback_state_changed(self, old_state, new_state): logger.debug('Triggering playback state change event')