X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fpython%2FComponents%2FMediaPlayer.py;h=c5b0efec208227b0e2eb1aa0361587dfcb29c371;hb=9f9398866adac30930d3d485e03d7810309461a9;hp=aff191997e687e97c7d8f9cdb26319d6fad4c0bd;hpb=c9c1118e12d2e2402d3b2e4eb954d1379da4e160;p=vuplus_dvbapp diff --git a/lib/python/Components/MediaPlayer.py b/lib/python/Components/MediaPlayer.py index aff1919..c5b0efe 100644 --- a/lib/python/Components/MediaPlayer.py +++ b/lib/python/Components/MediaPlayer.py @@ -1,12 +1,11 @@ -from HTMLComponent import * -from GUIComponent import * - from MenuList import MenuList from Tools.Directories import SCOPE_SKIN_IMAGE, resolveFilename from os import path -from enigma import eListboxPythonMultiContent, eListbox, RT_VALIGN_CENTER, loadPNG, gFont +from enigma import eListboxPythonMultiContent, eListbox, RT_VALIGN_CENTER, gFont, eServiceCenter + +from Tools.LoadPixmap import LoadPixmap STATE_PLAY = 0 STATE_PAUSE = 1 @@ -15,11 +14,11 @@ STATE_REWIND = 3 STATE_FORWARD = 4 STATE_NONE = 5 -PlayIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_play.png")) -PauseIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_pause.png")) -StopIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_stop.png")) -RewindIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_rewind.png")) -ForwardIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_forward.png")) +PlayIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_play.png")) +PauseIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_pause.png")) +StopIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_stop.png")) +RewindIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_rewind.png")) +ForwardIcon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_forward.png")) def PlaylistEntryComponent(serviceref, state): res = [ serviceref ] @@ -41,33 +40,23 @@ def PlaylistEntryComponent(serviceref, state): return res -class PlayList(MenuList, HTMLComponent, GUIComponent): - def __init__(self): - GUIComponent.__init__(self) - self.l = eListboxPythonMultiContent() - self.list = [] - self.l.setList(self.list) +class PlayList(MenuList): + def __init__(self, enableWrapAround = False): + MenuList.__init__(self, [], enableWrapAround, eListboxPythonMultiContent) self.l.setFont(0, gFont("Regular", 18)) + self.l.setItemHeight(22) self.currPlaying = -1 self.oldCurrPlaying = -1 - + self.serviceHandler = eServiceCenter.getInstance() + def clear(self): del self.list[:] self.l.setList(self.list) self.currPlaying = -1 self.oldCurrPlaying = -1 - GUI_WIDGET = eListbox - - def postWidgetCreate(self, instance): - instance.setContent(self.l) - instance.setItemHeight(22) - def getSelection(self): return self.l.getCurrentSelection()[0] - - def getSelectionIndex(self): - return self.l.getCurrentSelectionIndex() def addFile(self, serviceref): self.list.append(PlaylistEntryComponent(serviceref, STATE_NONE)) @@ -80,7 +69,7 @@ class PlayList(MenuList, HTMLComponent, GUIComponent): def setCurrentPlaying(self, index): self.oldCurrPlaying = self.currPlaying self.currPlaying = index - + def updateState(self, state): if len(self.list) > self.oldCurrPlaying and self.oldCurrPlaying != -1: self.list[self.oldCurrPlaying] = PlaylistEntryComponent(self.list[self.oldCurrPlaying][0], STATE_NONE) @@ -99,18 +88,26 @@ class PlayList(MenuList, HTMLComponent, GUIComponent): def rewindFile(self): self.updateState(STATE_REWIND) - + def forwardFile(self): self.updateState(STATE_FORWARD) - + def updateList(self): self.l.setList(self.list) - + def getCurrentIndex(self): return self.currPlaying - + + def getCurrentEvent(self): + l = self.l.getCurrentSelection() + return l and self.serviceHandler.info(l[0]).getEvent(l[0]) + + def getCurrent(self): + l = self.l.getCurrentSelection() + return l and l[0] + def getServiceRefList(self): return [ x[0] for x in self.list ] - + def __len__(self): return len(self.list)