Merge pull request #1403 from jcass77/fix/1402_track_playback_ended
Fix track_playback_ended event in consume mode
This commit is contained in:
commit
88e9a12f02
@ -516,7 +516,8 @@ class PlaybackController(object):
|
||||
listener.CoreListener.send('track_playback_started', tl_track=tl_track)
|
||||
|
||||
def _trigger_track_playback_ended(self, time_position_before_stop):
|
||||
if self.get_current_tl_track() is None:
|
||||
tl_track = self.get_current_tl_track()
|
||||
if tl_track is None:
|
||||
return
|
||||
|
||||
logger.debug('Triggering track playback ended event')
|
||||
@ -528,7 +529,7 @@ class PlaybackController(object):
|
||||
# TODO: Use the lowest of track duration and position.
|
||||
listener.CoreListener.send(
|
||||
'track_playback_ended',
|
||||
tl_track=self.get_current_tl_track(),
|
||||
tl_track=tl_track,
|
||||
time_position=time_position_before_stop)
|
||||
|
||||
def _trigger_playback_state_changed(self, old_state, new_state):
|
||||
|
||||
@ -491,6 +491,35 @@ class EventEmissionTest(BaseTest):
|
||||
],
|
||||
listener_mock.send.mock_calls)
|
||||
|
||||
def test_next_emits_events_when_consume_mode_is_enabled(self,
|
||||
listener_mock):
|
||||
tl_tracks = self.core.tracklist.get_tl_tracks()
|
||||
|
||||
self.core.tracklist.set_consume(True)
|
||||
self.core.playback.play(tl_tracks[0])
|
||||
self.replay_events()
|
||||
self.core.playback.seek(1000)
|
||||
self.replay_events()
|
||||
listener_mock.reset_mock()
|
||||
|
||||
self.core.playback.next()
|
||||
self.replay_events()
|
||||
|
||||
self.assertListEqual(
|
||||
[
|
||||
mock.call(
|
||||
'tracklist_changed'),
|
||||
mock.call(
|
||||
'track_playback_ended',
|
||||
tl_track=tl_tracks[0], time_position=mock.ANY),
|
||||
mock.call(
|
||||
'playback_state_changed',
|
||||
old_state='playing', new_state='playing'),
|
||||
mock.call(
|
||||
'track_playback_started', tl_track=tl_tracks[1]),
|
||||
],
|
||||
listener_mock.send.mock_calls)
|
||||
|
||||
def test_gapless_track_change_emits_events(self, listener_mock):
|
||||
tl_tracks = self.core.tracklist.get_tl_tracks()
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user