Merge branch 'master' of fraxinas@git.opendreambox.org:/git/enigma2
authorFraxinas <andreas.frisch@multimedia-labs.de>
Fri, 7 Nov 2008 08:00:32 +0000 (09:00 +0100)
committerFraxinas <andreas.frisch@multimedia-labs.de>
Fri, 7 Nov 2008 08:00:32 +0000 (09:00 +0100)
lib/python/Components/MediaPlayer.py
lib/python/Components/Playlist.py

index 791274fcfa12d3f6e323dd580149f82ddac147a0..87ba977c0cbc9dba8ff39389289da66a9a52d6d7 100644 (file)
@@ -40,7 +40,7 @@ def PlaylistEntryComponent(serviceref, state):
 
        if png is not None:
                res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 5, 0, 16, 16, png))
-    
+
        return res
 
 class PlayList(MenuList):
@@ -76,6 +76,7 @@ class PlayList(MenuList):
        def setCurrentPlaying(self, index):
                self.oldCurrPlaying = self.currPlaying
                self.currPlaying = index
+               self.moveToIndex(index)
 
        def updateState(self, state):
                if len(self.list) > self.oldCurrPlaying and self.oldCurrPlaying != -1:
index 744ee3af23da134345bae05a44ac64899d9d7ab4..c9ebe479d852aa1f319d5210ad0a027901e8465f 100644 (file)
@@ -58,6 +58,7 @@ class PlaylistIOM3U(PlaylistIO):
        
        def open(self, filename):
                self.clear()
+               self.displayname = None
                try:
                        file = open(filename, "r")
                except IOError:
@@ -66,14 +67,22 @@ class PlaylistIOM3U(PlaylistIO):
                        entry = file.readline().strip()
                        if entry == "":
                                break
-                       if entry[0] != "#":
+                       if entry.startswith("#EXTINF:"):
+                               extinf = entry.split(',',1)
+                               if len(extinf) > 1:
+                                       self.displayname = extinf[1]
                                # TODO: use e2 facilities to create a service ref from file
+                       elif entry[0] != "#":
                                if entry[0] == "/":
-                                       self.addService(ServiceReference("4097:0:0:0:0:0:0:0:0:0:" + entry))
+                                       sref = ServiceReference("4097:0:0:0:0:0:0:0:0:0:" + entry)
                                elif entry.startswith("http"):
-                                       self.addService(ServiceReference("4097:0:0:0:0:0:0:0:0:0:" + entry.replace(':',"%3a")))
+                                       sref = ServiceReference("4097:0:0:0:0:0:0:0:0:0:" + entry.replace(':',"%3a"))
                                else:
-                                       self.addService(ServiceReference("4097:0:0:0:0:0:0:0:0:0:" + os.path.dirname(filename) + "/" + entry))
+                                       sref = ServiceReference("4097:0:0:0:0:0:0:0:0:0:" + os.path.dirname(filename) + "/" + entry)
+                               if self.displayname:
+                                       sref.ref.setName(self.displayname)
+                                       self.displayname = None
+                               self.addService(sref)
                file.close()
                return self.list