From 72c5a47d1541a5dc58a754b9056098dc698e0e6a Mon Sep 17 00:00:00 2001 From: Ander <9and3r@gmail.com> Date: Sat, 10 Jan 2015 00:08:00 +0100 Subject: [PATCH] You can see what tracks are in a playlist and play one directly --- mopidy_touchscreen/playlist_screen.py | 31 +++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/mopidy_touchscreen/playlist_screen.py b/mopidy_touchscreen/playlist_screen.py index 81246e8..aa4129a 100644 --- a/mopidy_touchscreen/playlist_screen.py +++ b/mopidy_touchscreen/playlist_screen.py @@ -12,11 +12,15 @@ class PlaylistScreen(BaseScreen): self.playlists_strings = [] self.playlists = [] self.playlists_loaded() + self.selected_playlist = None + self.playlist_tracks = [] + self.playlist_tracks_strings = [] def update(self, screen, update_all): self.list_view.render(screen) def playlists_loaded(self): + self.selected_playlist = None self.playlists_strings = [] self.playlists = [] for playlist in self.manager.core.playlists.playlists.get(): @@ -24,10 +28,29 @@ class PlaylistScreen(BaseScreen): self.playlists_strings.append(playlist.name) self.list_view.set_list(self.playlists_strings) + def playlist_selected(self, playlist): + self.selected_playlist = playlist + self.playlist_tracks = playlist.tracks + self.playlist_tracks_strings = ["../"] + for track in self.playlist_tracks: + self.playlist_tracks_strings.append(track.name) + self.list_view.set_list(self.playlist_tracks_strings) + + def touch_event(self, touch_event): clicked = self.list_view.touch_event(touch_event) if clicked is not None: - self.manager.core.tracklist.clear() - self.manager.core.tracklist.add( - uri=self.playlists[clicked].uri) - self.manager.core.playback.play() + if self.selected_playlist is None: + self.playlist_selected(self.playlists[clicked]) + else: + if clicked==0: + self.selected_playlist = None + self.list_view.set_list(self.playlists_strings) + else: + self.manager.core.tracklist.clear() + self.manager.core.tracklist.add(self.playlist_tracks) + self.manager.core.playback.play(tl_track=self.manager.core.tracklist.tl_tracks.get()[clicked-1]) + #self.manager.core.tracklist.clear() + #self.manager.core.tracklist.add( + # uri=self.playlists[clicked].uri) + #self.manager.core.playback.play()