ソースを参照

You can see what tracks are in a playlist and play one directly

Ander 11 年 前
コミット
72c5a47d15
1 ファイル変更27 行追加4 行削除
  1. 27 4
      mopidy_touchscreen/playlist_screen.py

+ 27 - 4
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()