def __init__(self, session, args = None): Screen.__init__(self, session) InfoBarAudioSelection.__init__(self) InfoBarAspectSelection.__init__(self) InfoBarCueSheetSupport.__init__(self, actionmap = "MediaPlayerCueSheetActions") InfoBarNotifications.__init__(self) InfoBarBase.__init__(self) InfoBarScreenSaver.__init__(self) InfoBarSubtitleSupport.__init__(self) HelpableScreen.__init__(self) InfoBarResolutionSelection.__init__(self) self.summary = None self.oldService = self.session.nav.getCurrentlyPlayingServiceReference() self.session.nav.stopService() self.playlistparsers = {} self.addPlaylistParser(PlaylistIOM3U, "m3u") self.addPlaylistParser(PlaylistIOPLS, "pls") self.addPlaylistParser(PlaylistIOInternal, "e2pls") # 'None' is magic to start at the list of mountpoints try: defaultDir = config.mediaplayer.defaultDir.value except: Load_defaults() defaultDir = config.mediaplayer.defaultDir.value self.filelist = FileList(defaultDir, matchingPattern = "(?i)^.*\.(mp2|mp3|ogg|ts|trp|mts|m2ts|wav|wave|m3u|pls|e2pls|mpg|vob|avi|divx|m4v|mkv|mp4|m4a|dat|flac|flv|mov|dts|3gp|3g2|asf|wmv|wma|webm)", useServiceRef = True, additionalExtensions = "4098:m3u 4098:e2pls 4098:pls") self["filelist"] = self.filelist self.playlist = MyPlayList() self.is_closing = False self.hiding = False self.delname = "" self.playlistname = "" self["playlist"] = self.playlist self["PositionGauge"] = ServicePositionGauge(self.session.nav) self["currenttext"] = Label("") self["artisttext"] = Label(_("Artist")+':') self["artist"] = Label("") self["titletext"] = Label(_("Title")+':') self["title"] = Label("") self["albumtext"] = Label(_("Album")+':') self["album"] = Label("") self["yeartext"] = Label(_("Year")+':') self["year"] = Label("") self["genretext"] = Label(_("Genre")+':') self["genre"] = Label("") self["coverArt"] = MediaPixmap() self["repeat"] = MultiPixmap() self.seek_target = None try: from Plugins.SystemPlugins.Hotplug.plugin import hotplugNotifier hotplugNotifier.append(self.hotplugCB) except Exception, ex: print "[MediaPlayer] No hotplug support", ex
def __init__(self, session, service, slist = None, lastservice = None): Screen.__init__(self, session) InfoBarAspectSelection.__init__(self) self["actions"] = HelpableActionMap(self, "MoviePlayerActions", { "leavePlayer": (self.leavePlayer, _("leave movie player...")), "leavePlayerOnExit": (self.leavePlayerOnExit, _("leave movie player...")) }) self["DirectionActions"] = HelpableActionMap(self, "DirectionActions", { "left": self.left, "right": self.right }, prio = -2) self.allowPiP = True for x in HelpableScreen, InfoBarShowHide, InfoBarMenu, \ InfoBarBase, InfoBarSeek, \ InfoBarAudioSelection, InfoBarNotifications, InfoBarSimpleEventView, \ InfoBarServiceNotifications, InfoBarPVRState, InfoBarCueSheetSupport, \ InfoBarMoviePlayerSummarySupport, InfoBarSubtitleSupport, \ InfoBarTeletextPlugin, InfoBarServiceErrorPopupSupport, InfoBarExtensions, \ InfoBarPlugins, InfoBarPiP: x.__init__(self) self.servicelist = slist self.lastservice = lastservice or session.nav.getCurrentlyPlayingServiceReference() session.nav.playService(service) self.cur_service = service self.returning = False self.onClose.append(self.__onClose)
def __init__(self, session, service, slist=None, lastservice=None): Screen.__init__(self, session) InfoBarAspectSelection.__init__(self) InfoBarAudioSelection.__init__(self) InfoBarSimpleEventView.__init__(self) self.pts_pvrStateDialog = "" self["key_yellow"] = Label() self["key_blue"] = Label() self["key_green"] = Label() self["eventname"] = Label() self["state"] = Label() self["speed"] = Label() self["statusicon"] = MultiPixmap() self["actions"] = HelpableActionMap( self, "MoviePlayerActions", { "leavePlayer": (self.leavePlayer, _("leave movie player...")), "leavePlayerOnExit": (self.leavePlayerOnExit, _("leave movie player...")) }) self.allowPiP = True for x in HelpableScreen, InfoBarShowHide, InfoBarLongKeyDetection, InfoBarMenu, InfoBarEPG, \ InfoBarBase, InfoBarSeek, InfoBarShowMovies, InfoBarInstantRecord, \ InfoBarAudioSelection, InfoBarNotifications, InfoBarSimpleEventView, \ InfoBarServiceNotifications, InfoBarPVRState, InfoBarCueSheetSupport, \ InfoBarMoviePlayerSummarySupport, InfoBarSubtitleSupport, \ InfoBarTeletextPlugin, InfoBarServiceErrorPopupSupport, InfoBarExtensions, \ InfoBarPlugins, InfoBarPiP, InfoBarZoom, InfoBarButtonSetup: x.__init__(self) #Blackhole self.oldeiconfig = config.misc.deliteeinfo.value config.misc.deliteeinfo.value = False #End self.onChangedEntry = [] self.servicelist = slist self.lastservice = lastservice or session.nav.getCurrentlyPlayingServiceOrGroup( ) session.nav.playService(service) self.cur_service = service self.returning = False self.onClose.append(self.__onClose) self.onShow.append(self.doButtonsCheck) self.__event_tracker = ServiceEventTracker( screen=self, eventmap={enigma.iPlayableService.evStart: self.__evStart}) assert MoviePlayer.instance is None, "class InfoBar is a singleton class and just one instance of this class is allowed!" MoviePlayer.instance = self # is needed for every first call of MoviePlayer self.__evStart()
def __init__(self, session, service, slist = None, lastservice = None): Screen.__init__(self, session) InfoBarAspectSelection.__init__(self) InfoBarAudioSelection.__init__(self) InfoBarSimpleEventView.__init__(self) self.pts_pvrStateDialog = "" self["key_yellow"] = Label() self["key_blue"] = Label() self["key_green"] = Label() self["eventname"] = Label() self["state"] = Label() self["speed"] = Label() self["statusicon"] = MultiPixmap() self["actions"] = HelpableActionMap(self, "MoviePlayerActions", { "leavePlayer": (self.leavePlayer, _("leave movie player...")), "leavePlayerOnExit": (self.leavePlayerOnExit, _("leave movie player...")) }) self.allowPiP = True for x in HelpableScreen, InfoBarShowHide, InfoBarLongKeyDetection, InfoBarMenu, InfoBarEPG, \ InfoBarBase, InfoBarSeek, InfoBarShowMovies, InfoBarInstantRecord, \ InfoBarAudioSelection, InfoBarNotifications, InfoBarSimpleEventView, \ InfoBarServiceNotifications, InfoBarPVRState, InfoBarCueSheetSupport, \ InfoBarMoviePlayerSummarySupport, InfoBarSubtitleSupport, \ InfoBarTeletextPlugin, InfoBarServiceErrorPopupSupport, InfoBarExtensions, \ InfoBarPlugins, InfoBarPiP, InfoBarZoom, InfoBarButtonSetup: x.__init__(self) #Blackhole self.oldeiconfig = config.misc.deliteeinfo.value config.misc.deliteeinfo.value = False #End self.onChangedEntry = [ ] self.servicelist = slist self.lastservice = lastservice or session.nav.getCurrentlyPlayingServiceOrGroup() session.nav.playService(service) self.cur_service = service self.returning = False self.onClose.append(self.__onClose) self.onShow.append(self.doButtonsCheck) self.__event_tracker = ServiceEventTracker(screen=self, eventmap= { enigma.iPlayableService.evStart: self.__evStart }) assert MoviePlayer.instance is None, "class InfoBar is a singleton class and just one instance of this class is allowed!" MoviePlayer.instance = self # is needed for every first call of MoviePlayer self.__evStart()
def __init__(self, session, service, slist = None, lastservice = None): Screen.__init__(self, session) InfoBarAspectSelection.__init__(self) InfoBarAudioSelection.__init__(self) InfoBarSimpleEventView.__init__(self) self.pts_pvrStateDialog = '' self['key_yellow'] = Label() self['key_blue'] = Label() self['key_green'] = Label() self['eventname'] = Label() self['state'] = Label() self['speed'] = Label() self['statusicon'] = MultiPixmap() self['actions'] = HelpableActionMap(self, 'MoviePlayerActions', {'leavePlayer': (self.leavePlayer, _('leave movie player...')), 'leavePlayerOnExit': (self.leavePlayerOnExit, _('leave movie player...'))}) self.allowPiP = True for x in (HelpableScreen, InfoBarShowHide, InfoBarLongKeyDetection, InfoBarMenu, InfoBarEPG, InfoBarBase, InfoBarSeek, InfoBarShowMovies, InfoBarInstantRecord, InfoBarAudioSelection, InfoBarNotifications, InfoBarSimpleEventView, InfoBarServiceNotifications, InfoBarPVRState, InfoBarCueSheetSupport, InfoBarMoviePlayerSummarySupport, InfoBarSubtitleSupport, InfoBarTeletextPlugin, InfoBarServiceErrorPopupSupport, InfoBarExtensions, InfoBarPlugins, InfoBarPiP, InfoBarZoom, InfoBarButtonSetup): x.__init__(self) self.onChangedEntry = [] self.servicelist = slist self.lastservice = lastservice or session.nav.getCurrentlyPlayingServiceOrGroup() session.nav.playService(service) self.cur_service = service self.returning = False self.onClose.append(self.__onClose) self.onShow.append(self.doButtonsCheck) self.__event_tracker = ServiceEventTracker(screen=self, eventmap={enigma.iPlayableService.evStart: self.__evStart}) MoviePlayer.instance = self self.__evStart()
def __init__(self, session, service, slist=None, lastservice=None): Screen.__init__(self, session) InfoBarAspectSelection.__init__(self) InfoBarAudioSelection.__init__(self) InfoBarSimpleEventView.__init__(self) self.pts_pvrStateDialog = '' self['key_yellow'] = Label() self['key_blue'] = Label() self['key_green'] = Label() self['eventname'] = Label() self['state'] = Label() self['speed'] = Label() self['statusicon'] = MultiPixmap() self['actions'] = HelpableActionMap( self, 'MoviePlayerActions', { 'leavePlayer': (self.leavePlayer, _('leave movie player...')), 'leavePlayerOnExit': (self.leavePlayerOnExit, _('leave movie player...')) }) self.allowPiP = True for x in (HelpableScreen, InfoBarShowHide, InfoBarLongKeyDetection, InfoBarMenu, InfoBarEPG, InfoBarBase, InfoBarSeek, InfoBarShowMovies, InfoBarInstantRecord, InfoBarAudioSelection, InfoBarNotifications, InfoBarSimpleEventView, InfoBarServiceNotifications, InfoBarPVRState, InfoBarCueSheetSupport, InfoBarMoviePlayerSummarySupport, InfoBarSubtitleSupport, InfoBarTeletextPlugin, InfoBarServiceErrorPopupSupport, InfoBarExtensions, InfoBarPlugins, InfoBarPiP, InfoBarZoom, InfoBarButtonSetup): x.__init__(self) self.onChangedEntry = [] self.servicelist = slist self.lastservice = lastservice or session.nav.getCurrentlyPlayingServiceOrGroup( ) session.nav.playService(service) self.cur_service = service self.returning = False self.onClose.append(self.__onClose) self.onShow.append(self.doButtonsCheck) self.__event_tracker = ServiceEventTracker( screen=self, eventmap={enigma.iPlayableService.evStart: self.__evStart}) MoviePlayer.instance = self self.__evStart()
def __init__(self, session, service, slist=None, lastservice=None): Screen.__init__(self, session) InfoBarAspectSelection.__init__(self) InfoBarAudioSelection.__init__(self) self.pts_pvrStateDialog = "" self["key_yellow"] = Label() self["key_blue"] = Label() self["key_green"] = Label() self["eventname"] = Label() self["state"] = Label() self["speed"] = Label() self["statusicon"] = MultiPixmap() self["actions"] = HelpableActionMap( self, "MoviePlayerActions", { "leavePlayer": (self.leavePlayer, _("leave movie player...")), "leavePlayerOnExit": (self.leavePlayerOnExit, _("leave movie player...")) }) self.allowPiP = True for x in HelpableScreen, InfoBarShowHide, InfoBarMenu, InfoBarEPG, \ InfoBarBase, InfoBarSeek, InfoBarShowMovies, \ InfoBarAudioSelection, InfoBarNotifications, InfoBarSimpleEventView, \ InfoBarServiceNotifications, InfoBarPVRState, InfoBarCueSheetSupport, \ InfoBarMoviePlayerSummarySupport, InfoBarSubtitleSupport, \ InfoBarTeletextPlugin, InfoBarServiceErrorPopupSupport, InfoBarExtensions, \ InfoBarPlugins, InfoBarPiP, InfoBarZoom: x.__init__(self) self.onChangedEntry = [] self.servicelist = slist self.lastservice = lastservice or session.nav.getCurrentlyPlayingServiceOrGroup( ) session.nav.playService(service) self.cur_service = service self.returning = False self.onClose.append(self.__onClose) self.onShow.append(self.doButtonsCheck) assert MoviePlayer.instance is None, "class InfoBar is a singleton class and just one instance of this class is allowed!" MoviePlayer.instance = self
def __init__(self, session, service, slist = None, lastservice = None): Screen.__init__(self, session) InfoBarAspectSelection.__init__(self) InfoBarAudioSelection.__init__(self) self.pts_pvrStateDialog = "" self["key_yellow"] = Label() self["key_blue"] = Label() self["key_green"] = Label() self["eventname"] = Label() self["state"] = Label() self["speed"] = Label() self["statusicon"] = MultiPixmap() self["actions"] = HelpableActionMap(self, "MoviePlayerActions", { "leavePlayer": (self.leavePlayer, _("leave movie player...")), "leavePlayerOnExit": (self.leavePlayerOnExit, _("leave movie player...")) }) self.allowPiP = True for x in HelpableScreen, InfoBarShowHide, InfoBarMenu, InfoBarEPG, \ InfoBarBase, InfoBarSeek, InfoBarShowMovies, \ InfoBarAudioSelection, InfoBarNotifications, InfoBarSimpleEventView, \ InfoBarServiceNotifications, InfoBarPVRState, InfoBarCueSheetSupport, \ InfoBarMoviePlayerSummarySupport, InfoBarSubtitleSupport, \ InfoBarTeletextPlugin, InfoBarServiceErrorPopupSupport, InfoBarExtensions, \ InfoBarPlugins, InfoBarPiP, InfoBarZoom: x.__init__(self) self.onChangedEntry = [ ] self.servicelist = slist self.lastservice = lastservice or session.nav.getCurrentlyPlayingServiceOrGroup() session.nav.playService(service) self.cur_service = service self.returning = False self.onClose.append(self.__onClose) self.onShow.append(self.doButtonsCheck) assert MoviePlayer.instance is None, "class InfoBar is a singleton class and just one instance of this class is allowed!" MoviePlayer.instance = self
def __init__(self, session, service, slist=None, lastservice=None, infobar=None): Screen.__init__(self, session) InfoBarAspectSelection.__init__(self) self["actions"] = HelpableActionMap(self, "MoviePlayerActions", { "leavePlayer": (self.leavePlayer, _("leave movie player...")), "leavePlayerOnExit": (self.leavePlayerOnExit, _("leave movie player...")), "channelUp": (self.channelUp, _("when PiPzap enabled zap channel up...")), "channelDown": (self.channelDown, _("when PiPzap enabled zap channel down...")), }) self["DirectionActions"] = HelpableActionMap(self, "DirectionActions", { "left": self.left, "right": self.right }, prio = -2) self.allowPiP = True for x in HelpableScreen, InfoBarShowHide, InfoBarMenu, \ InfoBarBase, InfoBarSeek, InfoBarShowMovies, InfoBarInstantRecord, \ InfoBarAudioSelection, InfoBarNotifications, \ InfoBarServiceNotifications, InfoBarPVRState, InfoBarCueSheetSupport, \ InfoBarMoviePlayerSummarySupport, InfoBarSubtitleSupport, \ InfoBarTeletextPlugin, InfoBarServiceErrorPopupSupport, InfoBarExtensions, \ InfoBarPlugins, InfoBarPiP, InfoBarHotkey: x.__init__(self) self.servicelist = slist self.infobar = infobar self.lastservice = lastservice or session.nav.getCurrentlyPlayingServiceOrGroup() session.nav.playService(service) self.cur_service = service self.returning = False self.onClose.append(self.__onClose) config.misc.standbyCounter.addNotifier(self.standbyCountChanged, initial_call=False)
def __init__(self, session, args = None): Screen.__init__(self, session) InfoBarAudioSelection.__init__(self) InfoBarAspectSelection.__init__(self) InfoBarCueSheetSupport.__init__(self, actionmap = "MediaPlayerCueSheetActions") InfoBarNotifications.__init__(self) InfoBarBase.__init__(self) InfoBarScreenSaver.__init__(self) InfoBarSubtitleSupport.__init__(self) HelpableScreen.__init__(self) self.summary = None self.oldService = self.session.nav.getCurrentlyPlayingServiceOrGroup() self.session.nav.stopService() self.setTitle(_("Media player")) self.playlistparsers = {} self.addPlaylistParser(PlaylistIOM3U, "m3u") self.addPlaylistParser(PlaylistIOPLS, "pls") self.addPlaylistParser(PlaylistIOInternal, "e2pls") # 'None' is magic to start at the list of mountpoints defaultDir = config.mediaplayer.defaultDir.getValue() self.filelist = FileList(defaultDir, matchingPattern = "(?i)^.*\.(dts|mp3|wav|wave|wv|oga|ogg|flac|m4a|mp2|m2a|wma|ac3|mka|aac|ape|alac|mpg|vob|m4v|mkv|avi|divx|dat|flv|mp4|mov|wmv|asf|3gp|3g2|mpeg|mpe|rm|rmvb|ogm|ogv|m2ts|mts|ts|m3u|e2pls|pls|amr|au|mid|pva|wtv)", useServiceRef = True, additionalExtensions = "4098:m3u 4098:e2pls 4098:pls") self["filelist"] = self.filelist self.playlist = MyPlayList() self.is_closing = False self.delname = "" self.playlistname = "" self["playlist"] = self.playlist self["PositionGauge"] = ServicePositionGauge(self.session.nav) self["currenttext"] = Label("") self["artisttext"] = Label(_("Artist")+':') self["artist"] = Label("") self["titletext"] = Label(_("Title")+':') self["title"] = Label("") self["albumtext"] = Label(_("Album")+':') self["album"] = Label("") self["yeartext"] = Label(_("Year")+':') self["year"] = Label("") self["genretext"] = Label(_("Genre")+':') self["genre"] = Label("") self["coverArt"] = MediaPixmap() self["repeat"] = MultiPixmap() self.seek_target = None try: from Plugins.SystemPlugins.Hotplug.plugin import hotplugNotifier hotplugNotifier.append(self.hotplugCB) except Exception as ex: print("[MediaPlayer] No hotplug support", ex) class MoviePlayerActionMap(NumberActionMap): def __init__(self, player, contexts = [ ], actions = { }, prio=0): NumberActionMap.__init__(self, contexts, actions, prio) self.player = player def action(self, contexts, action): self.player.show() return NumberActionMap.action(self, contexts, action) self["OkCancelActions"] = HelpableActionMap(self, "OkCancelActions", { "ok": (self.ok, _("Add file to playlist")), "cancel": (self.exit, _("Exit mediaplayer")), }, -2) self["MediaPlayerActions"] = HelpableActionMap(self, "MediaPlayerActions", { "play": (self.xplayEntry, _("Play entry")), "pause": (self.pauseEntry, _("Pause")), "stop": (self.stopEntry, _("Stop entry")), "previous": (self.previousMarkOrEntry, _("Play from previous mark or playlist entry")), "next": (self.nextMarkOrEntry, _("Play from next mark or playlist entry")), "menu": (self.showMenu, _("Menu")), "skipListbegin": (self.skip_listbegin, _("Jump to beginning of list")), "skipListend": (self.skip_listend, _("Jump to end of list")), "prevBouquet": (self.prevBouquet, self.prevBouquetHelpText), "nextBouquet": (self.nextBouquet, self.nextBouquetHelptext), "delete": (self.deletePlaylistEntry, _("Delete playlist entry")), "shift_stop": (self.clear_playlist, _("Clear playlist")), "shift_record": (self.playlist.PlayListShuffle, _("Shuffle playlist")), "subtitles": (self.subtitleSelection, _("Subtitle selection")), }, -2) self["InfobarEPGActions"] = HelpableActionMap(self, "InfobarEPGActions", { "showEventInfo": (self.showEventInformation, _("show event details")), }) self["actions"] = MoviePlayerActionMap(self, ["DirectionActions"], { "right": self.rightDown, "rightRepeated": self.doNothing, "rightUp": self.rightUp, "left": self.leftDown, "leftRepeated": self.doNothing, "leftUp": self.leftUp, "up": self.up, "upRepeated": self.up, "upUp": self.doNothing, "down": self.down, "downRepeated": self.down, "downUp": self.doNothing, }, -2) InfoBarSeek.__init__(self, actionmap = "MediaPlayerSeekActions") self.mediaPlayerInfoBar = self.session.instantiateDialog(MediaPlayerInfoBar) self.onClose.append(self.delMPTimer) self.onClose.append(self.__onClose) self.onShow.append(self.timerHideMediaPlayerInfoBar) self.righttimer = False self.rightKeyTimer = eTimer() self.rightKeyTimer.callback.append(self.rightTimerFire) self.lefttimer = False self.leftKeyTimer = eTimer() self.leftKeyTimer.callback.append(self.leftTimerFire) self.hideMediaPlayerInfoBar = eTimer() self.hideMediaPlayerInfoBar.callback.append(self.timerHideMediaPlayerInfoBar) self.currList = "filelist" self.isAudioCD = False self.ext = None self.AudioCD_albuminfo = {} self.cdAudioTrackFiles = [] self.onShown.append(self.applySettings) self.playlistIOInternal = PlaylistIOInternal() list = self.playlistIOInternal.open(resolveFilename(SCOPE_CONFIG, "playlist.e2pls")) if list: for x in list: self.playlist.addFile(x.ref) self.playlist.updateList() self.__event_tracker = ServiceEventTracker(screen=self, eventmap= { iPlayableService.evUpdatedInfo: self.__evUpdatedInfo, iPlayableService.evUser+10: self.__evAudioDecodeError, iPlayableService.evUser+11: self.__evVideoDecodeError, iPlayableService.evUser+12: self.__evPluginError, iPlayableService.evUser+13: self["coverArt"].embeddedCoverArt }) self.servicelist = None self.pipZapAvailable = False if InfoBar.instance is not None: self.servicelist = InfoBar.instance.servicelist if self.servicelist and hasattr(self.servicelist, 'dopipzap'): self.pipZapAvailable = SystemInfo.get("NumVideoDecoders", 1) > 1