WRITEPLAYLIST = 4
ADD = 5
REMOVE = 6
+ CURRENT = 7
def __init__(self, session, func=LIST):
Source.__init__(self)
return (False, "unknown parameter %s" % param)
return (True, "executed %s" % param)
- list = property(lambda self: self.result)
- lut = {
- "ServiceReference": 0,
- "IsDirectory": 1,
- "Root": 2,
- }
+ def getCurrent(self):
+ mp = self.tryOpenMP()
+ if mp is None:
+ msg = "mediaplayer not installed"
+ return ((msg, msg, msg, msg, msg, msg),)
+
+ return ((
+ mp["artist"].getText(),
+ mp["title"].getText(),
+ mp["album"].getText(),
+ mp["year"].getText(),
+ mp["genre"].getText(),
+ mp["coverArt"].coverArtFileName
+ ),)
+
+ def getList(self):
+ if self.func is self.CURRENT:
+ return self.getCurrent()
+ return self.result
+
+ def getLut(self):
+ if self.func is self.CURRENT:
+ return {
+ "Artist": 0,
+ "Title": 1,
+ "Album": 2,
+ "Year": 3,
+ "Genre": 4,
+ "CoverFilename": 5,
+ }
+ return {
+ "ServiceReference": 0,
+ "IsDirectory": 1,
+ "Root": 2,
+ }
+
+ list = property(getList)
+ lut = property(getLut)
self["RemoveFile"] = MP(session, func=MP.REMOVE)
self["Command"] = MP(session, func=MP.COMMAND)
self["WritePlaylist"] = MP(session, func=MP.WRITEPLAYLIST)
-
+ self["CurrentTrack"] = MP(session, func=MP.CURRENT)
class AutoTimerWebScreen(WebScreen):
def __init__(self, session, request):
--- /dev/null
+<e2:screen name="MediaPlayerWebScreen"><?xml version="1.0" encoding="UTF-8"?>
+<e2mediaplayercurrent><e2:element source="CurrentTrack"><e2:convert type="web:ListFiller" >
+ <e2currenttrack>
+ <e2artist><e2:item name="Artist" filter="xml"/></e2artist>
+ <e2title><e2:item name="Title" filter="xml"/></e2title>
+ <e2album><e2:item name="Album" filter="xml"/></e2album>
+ <e2year><e2:item name="Year" filter="xml"/></e2year>
+ <e2genre><e2:item name="Genre" filter="xml"/></e2genre>
+ <e2coverfile><e2:item name="CoverFilename" filter="xml"/></e2coverfile>
+ </e2currenttrack></e2:convert><e2:convert type="web:TextToHTML" /></e2:element>
+</e2mediaplayercurrent>
+</e2:screen>