fix: ensure that tl_track information is included in event trigger when consume mode is enabled.
This commit is contained in:
parent
aa9e806230
commit
239a7be708
@ -516,7 +516,8 @@ class PlaybackController(object):
|
|||||||
listener.CoreListener.send('track_playback_started', tl_track=tl_track)
|
listener.CoreListener.send('track_playback_started', tl_track=tl_track)
|
||||||
|
|
||||||
def _trigger_track_playback_ended(self, time_position_before_stop):
|
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
|
return
|
||||||
|
|
||||||
logger.debug('Triggering track playback ended event')
|
logger.debug('Triggering track playback ended event')
|
||||||
@ -528,7 +529,7 @@ class PlaybackController(object):
|
|||||||
# TODO: Use the lowest of track duration and position.
|
# TODO: Use the lowest of track duration and position.
|
||||||
listener.CoreListener.send(
|
listener.CoreListener.send(
|
||||||
'track_playback_ended',
|
'track_playback_ended',
|
||||||
tl_track=self.get_current_tl_track(),
|
tl_track=tl_track,
|
||||||
time_position=time_position_before_stop)
|
time_position=time_position_before_stop)
|
||||||
|
|
||||||
def _trigger_playback_state_changed(self, old_state, new_state):
|
def _trigger_playback_state_changed(self, old_state, new_state):
|
||||||
|
|||||||
@ -491,6 +491,34 @@ class EventEmissionTest(BaseTest):
|
|||||||
],
|
],
|
||||||
listener_mock.send.mock_calls)
|
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):
|
def test_gapless_track_change_emits_events(self, listener_mock):
|
||||||
tl_tracks = self.core.tracklist.get_tl_tracks()
|
tl_tracks = self.core.tracklist.get_tl_tracks()
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user