git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix for skin changes
[enigma2.git]
/
lib
/
python
/
Plugins
/
Extensions
/
MediaPlayer
/
plugin.py
diff --git
a/lib/python/Plugins/Extensions/MediaPlayer/plugin.py
b/lib/python/Plugins/Extensions/MediaPlayer/plugin.py
index 03d7617306ada6c11c48d8de5758decdd1f9cf61..146cbf7ac127054b88437a7174bbd53ab339a50d 100644
(file)
--- a/
lib/python/Plugins/Extensions/MediaPlayer/plugin.py
+++ b/
lib/python/Plugins/Extensions/MediaPlayer/plugin.py
@@
-12,7
+12,7
@@
from Components.FileList import FileList
from Components.MediaPlayer import PlayList
from Tools.Directories import resolveFilename, SCOPE_CONFIG, SCOPE_PLAYLIST, SCOPE_SKIN_IMAGE
from Components.ServicePosition import ServicePositionGauge
from Components.MediaPlayer import PlayList
from Tools.Directories import resolveFilename, SCOPE_CONFIG, SCOPE_PLAYLIST, SCOPE_SKIN_IMAGE
from Components.ServicePosition import ServicePositionGauge
-from Components.ServiceEventTracker import ServiceEventTracker
+from Components.ServiceEventTracker import ServiceEventTracker
, InfoBarBase
from Components.Playlist import PlaylistIOInternal, PlaylistIOM3U, PlaylistIOPLS
from Screens.InfoBarGenerics import InfoBarSeek, InfoBarAudioSelection, InfoBarCueSheetSupport, InfoBarNotifications
from ServiceReference import ServiceReference
from Components.Playlist import PlaylistIOInternal, PlaylistIOM3U, PlaylistIOPLS
from Screens.InfoBarGenerics import InfoBarSeek, InfoBarAudioSelection, InfoBarCueSheetSupport, InfoBarNotifications
from ServiceReference import ServiceReference
@@
-31,7
+31,7
@@
class MyPlayList(PlayList):
self.oldCurrPlaying = -1
class MediaPixmap(Pixmap):
self.oldCurrPlaying = -1
class MediaPixmap(Pixmap):
- def applySkin(self, desktop):
+ def applySkin(self, desktop
, screen
):
self.default_pixmap = None
if self.skinAttributes is not None:
for (attrib, value) in self.skinAttributes:
self.default_pixmap = None
if self.skinAttributes is not None:
for (attrib, value) in self.skinAttributes:
@@
-39,10
+39,10
@@
class MediaPixmap(Pixmap):
self.default_pixmap = value
break
if self.default_pixmap is None:
self.default_pixmap = value
break
if self.default_pixmap is None:
- self.default_pixmap = resolveFilename(SCOPE_SKIN_IMAGE, "no_coverArt.png")
- return Pixmap.applySkin(self, desktop)
+ self.default_pixmap = resolveFilename(SCOPE_SKIN_IMAGE, "
skin_default/
no_coverArt.png")
+ return Pixmap.applySkin(self, desktop
, screen
)
-class MediaPlayer(Screen, InfoBarSeek, InfoBarAudioSelection, InfoBarCueSheetSupport, InfoBarNotifications, HelpableScreen):
+class MediaPlayer(Screen, InfoBar
Base, InfoBar
Seek, InfoBarAudioSelection, InfoBarCueSheetSupport, InfoBarNotifications, HelpableScreen):
ALLOW_SUSPEND = True
ENABLE_RESUME_SUPPORT = True
ALLOW_SUSPEND = True
ENABLE_RESUME_SUPPORT = True
@@
-51,6
+51,7
@@
class MediaPlayer(Screen, InfoBarSeek, InfoBarAudioSelection, InfoBarCueSheetSup
InfoBarAudioSelection.__init__(self)
InfoBarCueSheetSupport.__init__(self, actionmap = "MediaPlayerCueSheetActions")
InfoBarNotifications.__init__(self)
InfoBarAudioSelection.__init__(self)
InfoBarCueSheetSupport.__init__(self, actionmap = "MediaPlayerCueSheetActions")
InfoBarNotifications.__init__(self)
+ InfoBarBase.__init__(self)
HelpableScreen.__init__(self)
self.summary = None
self.oldService = self.session.nav.getCurrentlyPlayingServiceReference()
HelpableScreen.__init__(self)
self.summary = None
self.oldService = self.session.nav.getCurrentlyPlayingServiceReference()
@@
-62,7
+63,7
@@
class MediaPlayer(Screen, InfoBarSeek, InfoBarAudioSelection, InfoBarCueSheetSup
self.addPlaylistParser(PlaylistIOInternal, "e2pls")
# 'None' is magic to start at the list of mountpoints
self.addPlaylistParser(PlaylistIOInternal, "e2pls")
# 'None' is magic to start at the list of mountpoints
- self.filelist = FileList(None, matchingPattern = "(?i)^.*\.(mp3|ogg|ts|wav|wave|m3u|pls|e2pls|mpg|vob)", useServiceRef = True)
+ self.filelist = FileList(None, matchingPattern = "(?i)^.*\.(mp3|ogg|ts|wav|wave|m3u|pls|e2pls|mpg|vob)", useServiceRef = True
, additionalExtensions = "4098:m3u 4098:e2pls 4098:pls"
)
self["filelist"] = self.filelist
self.playlist = MyPlayList()
self["filelist"] = self.filelist
self.playlist = MyPlayList()
@@
-110,8
+111,8
@@
class MediaPlayer(Screen, InfoBarSeek, InfoBarAudioSelection, InfoBarCueSheetSup
"play": (self.xplayEntry, _("play entry")),
"pause": (self.pauseEntry, _("pause")),
"stop": (self.stopEntry, _("stop entry")),
"play": (self.xplayEntry, _("play entry")),
"pause": (self.pauseEntry, _("pause")),
"stop": (self.stopEntry, _("stop entry")),
- "previous": (self.previous
Entry, _("play previous
playlist entry")),
- "next": (self.next
Entry, _("play next
playlist entry")),
+ "previous": (self.previous
MarkOrEntry, _("play from previous mark or
playlist entry")),
+ "next": (self.next
MarkOrEntry, _("play from next mark or
playlist entry")),
"menu": (self.showMenu, _("menu")),
"skipListbegin": (self.skip_listbegin, _("jump to listbegin")),
"skipListend": (self.skip_listend, _("jump to listend")),
"menu": (self.showMenu, _("menu")),
"skipListbegin": (self.skip_listbegin, _("jump to listbegin")),
"skipListend": (self.skip_listend, _("jump to listend")),
@@
-146,14
+147,6
@@
class MediaPlayer(Screen, InfoBarSeek, InfoBarAudioSelection, InfoBarCueSheetSup
InfoBarSeek.__init__(self, actionmap = "MediaPlayerSeekActions")
InfoBarSeek.__init__(self, actionmap = "MediaPlayerSeekActions")
- self.__event_tracker = ServiceEventTracker(screen=self, eventmap=
- {
- #iPlayableService.evStart: self.__serviceStarted,
- #iPlayableService.evSeekableStatusChanged: InfoBarSeek.__seekableStatusChanged,
-
- iPlayableService.evEOF: self.__evEOF,
- })
-
self.onClose.append(self.delMPTimer)
self.onClose.append(self.__onClose)
self.onClose.append(self.delMPTimer)
self.onClose.append(self.__onClose)
@@
-196,8
+189,11
@@
class MediaPlayer(Screen, InfoBarSeek, InfoBarAudioSelection, InfoBarCueSheetSup
def checkSkipShowHideLock(self):
self.updatedSeekState()
def checkSkipShowHideLock(self):
self.updatedSeekState()
- def __evEOF(self):
- self.nextEntry()
+ def doEofInternal(self, playing):
+ if playing:
+ self.nextEntry()
+ else:
+ self.show()
def __onClose(self):
self.session.nav.playService(self.oldService)
def __onClose(self):
self.session.nav.playService(self.oldService)
@@
-570,10
+566,19
@@
class MediaPlayer(Screen, InfoBarSeek, InfoBarAudioSelection, InfoBarCueSheetSup
if next < len(self.playlist):
self.changeEntry(next)
if next < len(self.playlist):
self.changeEntry(next)
- def previousEntry(self):
- next = self.playlist.getCurrentIndex() - 1
- if next >= 0:
- self.changeEntry(next)
+ def nextMarkOrEntry(self):
+ if not self.jumpPreviousNextMark(lambda x: x):
+ next = self.playlist.getCurrentIndex() + 1
+ if next < len(self.playlist):
+ self.changeEntry(next)
+ else:
+ self.doSeek(-1)
+
+ def previousMarkOrEntry(self):
+ if not self.jumpPreviousNextMark(lambda x: -x-5*90000, start=True):
+ next = self.playlist.getCurrentIndex() - 1
+ if next >= 0:
+ self.changeEntry(next)
def deleteEntry(self):
self.playlist.deleteFile(self.playlist.getSelectionIndex())
def deleteEntry(self):
self.playlist.deleteFile(self.playlist.getSelectionIndex())
@@
-675,21
+680,9
@@
class MediaPlayer(Screen, InfoBarSeek, InfoBarAudioSelection, InfoBarCueSheetSup
self.playlist.pauseFile()
elif self.seekstate == self.SEEK_STATE_PLAY:
self.playlist.playFile()
self.playlist.pauseFile()
elif self.seekstate == self.SEEK_STATE_PLAY:
self.playlist.playFile()
- elif self.seekstate in ( self.SEEK_STATE_FF_2X,
- self.SEEK_STATE_FF_4X,
- self.SEEK_STATE_FF_8X,
- self.SEEK_STATE_FF_16X,
- self.SEEK_STATE_FF_32X,
- self.SEEK_STATE_FF_48X,
- self.SEEK_STATE_FF_64X,
- self.SEEK_STATE_FF_128X):
+ elif self.isStateForward(self.seekstate):
self.playlist.forwardFile()
self.playlist.forwardFile()
- elif self.seekstate in ( self.SEEK_STATE_BACK_8X,
- self.SEEK_STATE_BACK_16X,
- self.SEEK_STATE_BACK_32X,
- self.SEEK_STATE_BACK_48X,
- self.SEEK_STATE_BACK_64X,
- self.SEEK_STATE_BACK_128X):
+ elif self.isStateBackward(self.seekstate):
self.playlist.rewindFile()
def pauseEntry(self):
self.playlist.rewindFile()
def pauseEntry(self):