diff --git a/docs/changelog.rst b/docs/changelog.rst index cf398047..c997d1f4 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -22,11 +22,13 @@ v0.15.0 (UNRELEASED) both functions and properties have been moved into Tracklist to have more modularity: - Properties converted into functions that need arguments: - :meth:`get_tl_track_at_eot`, :meth:`get_tl_track_at_next`, - :meth:`get_tl_track_at_previous` and :meth:`tracklist_position` + :meth:`tracklist_position` - Properties moved: :attr:`random`, :attr:`repeat`, :attr:`consume` and :attr:`single` - - Method created: :meth:`mark` + - Method created from properties: :meth:`next_track` from + `tl_track_at_next`, :meth:`eot_track` from ´tl_track_at_eot` and + :meth:`previous_track` from `tl_track_at_previous` + - Method created to separe functionality: :meth:`mark` - Tracklist's get_tl_track_at_* and tracklist_position now need a tl_track as a reference to give an answer. diff --git a/mopidy/core/playback.py b/mopidy/core/playback.py index 8bdf8fd0..bb797f09 100644 --- a/mopidy/core/playback.py +++ b/mopidy/core/playback.py @@ -140,7 +140,7 @@ class PlaybackController(object): return original_tl_track = self.current_tl_track - next_track = self.core.tracklist.tl_track_at_eot(original_tl_track) + next_track = self.core.tracklist.eot_track(original_tl_track) if next_track: self._trigger_track_playback_ended() @@ -169,7 +169,7 @@ class PlaybackController(object): The current playback state will be kept. If it was playing, playing will continue. If it was paused, it will still be paused, etc. """ - tl_track = self.core.tracklist.tl_track_at_next(self.current_tl_track) + tl_track = self.core.tracklist.next_track(self.current_tl_track) if tl_track: self._trigger_track_playback_ended() self.change_track(tl_track) @@ -203,9 +203,9 @@ class PlaybackController(object): elif self.current_tl_track is not None: tl_track = self.current_tl_track elif self.current_tl_track is None and on_error_step == 1: - tl_track = self.core.tracklist.tl_track_at_next(tl_track) + tl_track = self.core.tracklist.next_track(tl_track) elif self.current_tl_track is None and on_error_step == -1: - tl_track = self.core.tracklist.tl_track_at_previous(tl_track) + tl_track = self.core.tracklist.previous_track(tl_track) if tl_track is not None: self.current_tl_track = tl_track @@ -234,7 +234,7 @@ class PlaybackController(object): """ self._trigger_track_playback_ended() tl_track = self.current_tl_track - self.change_track(self.core.tracklist.tl_track_at_previous(tl_track), on_error_step=-1) + self.change_track(self.core.tracklist.previous_track(tl_track), on_error_step=-1) def resume(self): """If paused, resume playing the current track.""" diff --git a/mopidy/core/tracklist.py b/mopidy/core/tracklist.py index 3364356b..3a5775b3 100644 --- a/mopidy/core/tracklist.py +++ b/mopidy/core/tracklist.py @@ -145,11 +145,11 @@ class TracklistController(object): return None - def tl_track_at_eot(self, tl_track): + def eot_track(self, tl_track): """ The track that will be played after the given track. - Not necessarily the same track as :meth:`tl_track_at_next`. + Not necessarily the same track as :meth:`next_track`. :param tl_track: The reference track :type tl_track: :class:`mopidy.models.TlTrack` @@ -185,7 +185,7 @@ class TracklistController(object): except IndexError: return None - def tl_track_at_next(self, tl_track): + def next_track(self, tl_track): """ The track that will be played if calling :meth:`mopidy.core.PlaybackController.next()`. @@ -224,7 +224,7 @@ class TracklistController(object): except IndexError: return None - def tl_track_at_previous(self, tl_track): + def previous_track(self, tl_track): """ Returns the track that will be played if calling :meth:`mopidy.core.PlaybackController.previous()`. diff --git a/mopidy/frontends/mpris/objects.py b/mopidy/frontends/mpris/objects.py index 2ab4dd4a..22535261 100644 --- a/mopidy/frontends/mpris/objects.py +++ b/mopidy/frontends/mpris/objects.py @@ -408,7 +408,7 @@ class MprisObject(dbus.service.Object): return False tl_track = self.core.playback.current_tl_track.get() return ( - self.core.tracklist.tl_track_at_next(tl_track).get() != + self.core.tracklist.next_track(tl_track).get() != self.core.playback.current_tl_track.get()) def get_CanGoPrevious(self): @@ -416,7 +416,7 @@ class MprisObject(dbus.service.Object): return False tl_track = self.core.playback.current_tl_track return ( - self.core.tracklist.tl_track_at_previous(tl_track).get() != + self.core.tracklist.previous_track(tl_track).get() != tl_track) def get_CanPlay(self): @@ -425,7 +425,7 @@ class MprisObject(dbus.service.Object): tl_track = self.core.playback.current_tl_track.get() return ( self.core.playback.current_tl_track.get() is not None or - self.core.tracklist.tl_track_at_next(tl_track).get() is not None) + self.core.tracklist.next_track(tl_track).get() is not None) def get_CanPause(self): if not self.get_CanControl(): diff --git a/tests/backends/base/playback.py b/tests/backends/base/playback.py index 61db2d71..4436ac6c 100644 --- a/tests/backends/base/playback.py +++ b/tests/backends/base/playback.py @@ -245,13 +245,13 @@ class PlaybackControllerTest(object): @populate_tracklist def test_next_track_before_play(self): tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), self.tl_tracks[0]) + self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[0]) @populate_tracklist def test_next_track_during_play(self): self.playback.play() tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), self.tl_tracks[1]) + self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1]) @populate_tracklist def test_next_track_after_previous(self): @@ -259,11 +259,11 @@ class PlaybackControllerTest(object): self.playback.next() self.playback.previous() tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), self.tl_tracks[1]) + self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1]) def test_next_track_empty_playlist(self): tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), None) + self.assertEqual(self.tracklist.next_track(tl_track), None) @populate_tracklist def test_next_track_at_end_of_playlist(self): @@ -271,7 +271,7 @@ class PlaybackControllerTest(object): for _ in self.tracklist.tl_tracks[1:]: self.playback.next() tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), None) + self.assertEqual(self.tracklist.next_track(tl_track), None) @populate_tracklist def test_next_track_at_end_of_playlist_with_repeat(self): @@ -280,14 +280,14 @@ class PlaybackControllerTest(object): for _ in self.tracks[1:]: self.playback.next() tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), self.tl_tracks[0]) + self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[0]) @populate_tracklist def test_next_track_with_random(self): random.seed(1) self.tracklist.random = True tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), self.tl_tracks[2]) + self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[2]) @populate_tracklist def test_next_with_consume(self): @@ -318,10 +318,10 @@ class PlaybackControllerTest(object): random.seed(1) self.tracklist.random = True tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), self.tl_tracks[2]) + self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[2]) self.tracklist.add(self.tracks[:1]) tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), self.tl_tracks[1]) + self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1]) @populate_tracklist def test_end_of_track(self): @@ -393,13 +393,13 @@ class PlaybackControllerTest(object): @populate_tracklist def test_end_of_track_track_before_play(self): tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), self.tl_tracks[0]) + self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[0]) @populate_tracklist def test_end_of_track_track_during_play(self): self.playback.play() tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), self.tl_tracks[1]) + self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1]) @populate_tracklist def test_end_of_track_track_after_previous(self): @@ -407,11 +407,11 @@ class PlaybackControllerTest(object): self.playback.on_end_of_track() self.playback.previous() tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), self.tl_tracks[1]) + self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1]) def test_end_of_track_track_empty_playlist(self): tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), None) + self.assertEqual(self.tracklist.next_track(tl_track), None) @populate_tracklist def test_end_of_track_track_at_end_of_playlist(self): @@ -419,7 +419,7 @@ class PlaybackControllerTest(object): for _ in self.tracklist.tl_tracks[1:]: self.playback.on_end_of_track() tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), None) + self.assertEqual(self.tracklist.next_track(tl_track), None) @populate_tracklist def test_end_of_track_track_at_end_of_playlist_with_repeat(self): @@ -428,14 +428,14 @@ class PlaybackControllerTest(object): for _ in self.tracks[1:]: self.playback.on_end_of_track() tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), self.tl_tracks[0]) + self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[0]) @populate_tracklist def test_end_of_track_track_with_random(self): random.seed(1) self.tracklist.random = True tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), self.tl_tracks[2]) + self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[2]) @populate_tracklist def test_end_of_track_with_consume(self): @@ -458,28 +458,28 @@ class PlaybackControllerTest(object): random.seed(1) self.tracklist.random = True tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), self.tl_tracks[2]) + self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[2]) self.tracklist.add(self.tracks[:1]) tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), self.tl_tracks[1]) + self.assertEqual(self.tracklist.next_track(tl_track), self.tl_tracks[1]) @populate_tracklist def test_previous_track_before_play(self): tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_previous(tl_track), None) + self.assertEqual(self.tracklist.previous_track(tl_track), None) @populate_tracklist def test_previous_track_after_play(self): self.playback.play() tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_previous(tl_track), None) + self.assertEqual(self.tracklist.previous_track(tl_track), None) @populate_tracklist def test_previous_track_after_next(self): self.playback.play() self.playback.next() tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_previous(tl_track), self.tl_tracks[0]) + self.assertEqual(self.tracklist.previous_track(tl_track), self.tl_tracks[0]) @populate_tracklist def test_previous_track_after_previous(self): @@ -488,11 +488,11 @@ class PlaybackControllerTest(object): self.playback.next() # At track 2 self.playback.previous() # At track 1 tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_previous(tl_track), self.tl_tracks[0]) + self.assertEqual(self.tracklist.previous_track(tl_track), self.tl_tracks[0]) def test_previous_track_empty_playlist(self): tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_previous(tl_track), None) + self.assertEqual(self.tracklist.previous_track(tl_track), None) @populate_tracklist def test_previous_track_with_consume(self): @@ -501,7 +501,7 @@ class PlaybackControllerTest(object): self.playback.next() tl_track = self.playback.current_tl_track self.assertEqual( - self.tracklist.tl_track_at_previous(tl_track), tl_track) + self.tracklist.previous_track(tl_track), tl_track) @populate_tracklist def test_previous_track_with_random(self): @@ -510,7 +510,7 @@ class PlaybackControllerTest(object): self.playback.next() tl_track = self.playback.current_tl_track self.assertEqual( - self.tracklist.tl_track_at_previous(tl_track), tl_track) + self.tracklist.previous_track(tl_track), tl_track) @populate_tracklist def test_initial_current_track(self): @@ -873,7 +873,7 @@ class PlaybackControllerTest(object): for _ in self.tracks[1:]: self.playback.next() tl_track = self.playback.current_tl_track - self.assertEqual(self.tracklist.tl_track_at_next(tl_track), None) + self.assertEqual(self.tracklist.next_track(tl_track), None) @populate_tracklist def test_random_until_end_of_playlist_and_play_from_start(self): @@ -881,7 +881,7 @@ class PlaybackControllerTest(object): for _ in self.tracks: self.playback.next() tl_track = self.playback.current_tl_track - self.assertNotEqual(self.tracklist.tl_track_at_next(tl_track), None) + self.assertNotEqual(self.tracklist.next_track(tl_track), None) self.assertEqual(self.playback.state, PlaybackState.STOPPED) self.playback.play() self.assertEqual(self.playback.state, PlaybackState.PLAYING) @@ -894,7 +894,7 @@ class PlaybackControllerTest(object): for _ in self.tracks: self.playback.next() tl_track = self.playback.current_tl_track - self.assertNotEqual(self.tracklist.tl_track_at_next(tl_track), None) + self.assertNotEqual(self.tracklist.next_track(tl_track), None) @populate_tracklist def test_played_track_during_random_not_played_again(self):