def __init__(self, session, engineSettings, renderer): self.session = session self.renderer = renderer self.delay = 0 self.__position = 0 self.fpsRatio = 1 self.subsList = None self.paused = True self.waitTimer = eTimer() self.waitTimer_conn = eConnectCallback(self.waitTimer.timeout, self.doWait) self.hideTimer = eTimer() self.hideTimer_conn = eConnectCallback(self.hideTimer.timeout, self.hideTimerCallback) self.onRenderSub = [] self.onHideSub = [] self.onPositionUpdate = []
def __init__(self, session, captcha_file): VirtualKeyBoard.__init__(self, session, _('Type text of picture')) self["captcha"] = Pixmap() self.Scale = AVSwitch().getFramebufferScale() self.picPath = captcha_file self.picLoad = ePicLoad() self.picLoad_conn = eConnectCallback(self.picLoad.PictureData, self.decodePicture) self.onLayoutFinish.append(self.showPicture) self.onClose.append(self.__onClose)
def __init__(self, actionmap="InfobarCueSheetActions"): self["CueSheetActions"] = HelpableActionMap(self, actionmap, { "jumpPreviousMark": (self.jumpPreviousMark, _("Jump to previous marked position")), "jumpNextMark": (self.jumpNextMark, _("Jump to next marked position")), "toggleMark": (self.toggleMark, _("Toggle a cut mark at the current position")) }, prio=1) self.cut_list = [ ] self.is_closing = False self.timer = eTimer() self.timer_conn = eConnectCallback(self.timer.timeout, self.__isServiceStarted) self.__event_tracker = ServiceEventTracker(screen=self, eventmap= { iPlayableService.evStart: self.__serviceStarted, iPlayableService.evEnd: self.__serviceStopped, iPlayableService.evCuesheetChanged: self.downloadCuesheet, }) self.onClose.append(self.__onClose)
def __init__(self, session): desktop = getDesktop(0) size = desktop.size() self.sc_width = size.width() self.sc_height = size.height() statusPositionX = 50 statusPositionY = 100 self.delayTimer = eTimer() self.delayTimer_conn = eConnectCallback(self.delayTimer.timeout, self.hideStatus) self.delayTimerDelay = 1500 self.skin = """ <screen name="StatusScreen" position="%s,%s" size="%s,90" zPosition="0" backgroundColor="transparent" flags="wfNoBorder"> <widget name="status" position="0,0" size="%s,70" valign="center" halign="left" font="Regular;22" transparent="1" foregroundColor="yellow" shadowColor="#40101010" shadowOffset="3,3" /> </screen>""" % (str(statusPositionX), str(statusPositionY), str(self.sc_width), str(self.sc_width)) Screen.__init__(self, session) self.stand_alone = True print 'initializing status display' self["status"] = Label("") self.onClose.append(self.__onClose)
def __init__(self, session, engine, autoSync=False, setSubtitlesFps=False, subtitlesFps=None): desktopWidth = getDesktop(0).size().width() offset = 20 screenWidth = desktopWidth - (2 * offset) widgetWidth = screenWidth / 2 - 5 self.skin = """ <screen position="%d,0" size="%d,140" zPosition="2" backgroundColor="transparent" flags="wfNoBorder"> <widget name="subtitle" position="0,0" size="%d,30" valign="center" halign="left" font="Regular;22" transparent="1" foregroundColor="#ffffff" shadowColor="#40101010" shadowOffset="2,2" /> <widget name="subtitlesTime" position="0,35" size="%d,30" valign="center" halign="left" font="Regular;22" transparent="1" foregroundColor="#ffffff" shadowColor="#40101010" shadowOffset="2,2" /> <widget name="subtitlesPosition" position="0,70" size="%d,30" valign="center" halign="left" font="Regular;22" transparent="1" foregroundColor="#ffffff" shadowColor="#40101010" shadowOffset="2,2" /> <widget name="subtitlesFps" position="0,105" size="%d,30" valign="center" halign="left" font="Regular;22" transparent="1" foregroundColor="#6F9EF5" shadowColor="#40101010" shadowOffset="2,2" /> <widget name="eventName" position="%d,0" size="%d,30" valign="center" halign="left" font="Regular;22" transparent="1" foregroundColor="#ffffff" shadowColor="#40101010" shadowOffset="2,2" /> <widget name="eventTime" position="%d,35" size="%d,30" valign="center" halign="left" font="Regular;22" transparent="1" foregroundColor="#ffffff" shadowColor="#40101010" shadowOffset="2,2" /> <widget name="eventDuration" position="%d,70" size="%d,30" valign="center" halign="left" font="Regular;22" transparent="1" foregroundColor="#ffffff" shadowColor="#40101010" shadowOffset="2,2" /> </screen>""" % (offset, screenWidth, widgetWidth, widgetWidth, widgetWidth, widgetWidth, widgetWidth + 5, widgetWidth, widgetWidth + 5, widgetWidth, widgetWidth + 5, widgetWidth) Screen.__init__(self, session) HelpableScreen.__init__(self) self.engine = engine self.engine.onRenderSub.append(self.onRenderSub) self.engine.onHideSub.append(self.onHideSub) self.engine.onPositionUpdate.append(self.onUpdateSubPosition) subtitlesFps = subtitlesFps and fps_float(subtitlesFps) if subtitlesFps and str(subtitlesFps) in self.fpsChoices: self.providedSubtitlesFps = subtitlesFps else: self.providedSubtitlesFps = None self.hideTimer = eTimer() self.hideTimer_conn = eConnectCallback(self.hideTimer.timeout, self.hideStatus) self.hideTimerDelay = 5000 self.eventTimer = eTimer() self.eventTimer_conn = eConnectCallback(self.eventTimer.timeout, self.updateEventStatus) self.subtitlesTimer = eTimer() self.subtitlesTimer_conn = eConnectCallback( self.subtitlesTimer.timeout, self.updateSubtitlesTime) self.subtitlesTimerStep = 500 self._baseTime = 0 self._accTime = 0 self.statusLocked = False self['subtitle'] = Label() self['subtitlesPosition'] = Label(_("Subtitles Position") + ":") self['subtitlesTime'] = Label(_("Subtitles Time") + ":") self['subtitlesFps'] = Label(_("Subtitles FPS") + ":") self["eventName"] = Label(_("Event Name") + ":") self["eventTime"] = Label(_("Event Time") + ":") self["eventDuration"] = Label(_("Event Duration") + ":") self['actions'] = HelpableActionMap( self, "SubtitlesDVBActions", { "closePlugin": (self.close, _("close plugin")), "showHideStatus": (self.showHideStatus, _("show/hide subtitles status")), "playPauseSub": (self.playPause, _("play/pause subtitles playback")), "pauseSub": (self.pause, _("pause subtitles playback")), "resumeSub": (self.resume, _("resumes subtitles playback")), "restartSub": (self.restart, _("restarts current subtitle")), "nextSub": (self.nextSkip, _("skip to next subtitle")), "nextSubMinute": (self.nextMinuteSkip, _("skip to next subtitle (minute jump)")), "nextSubManual": (self.nextManual, _("skip to next subtitle by setting time in minutes")), "prevSub": (self.previousSkip, _("skip to previous subtitle")), "prevSubMinute": (self.previousMinuteSkip, _("skip to previous subtitle (minute jump)")), "prevSubManual": (self.previousManual, _("skip previous subtitle by setting time in minutes")), "eventSync": (self.eventSync, _("skip subtitle to current event position")), "changeFps": (self.changeFps, _("change subtitles fps")), }, 0) try: from Screens.InfoBar import InfoBar InfoBar.instance.subtitle_window.hide() except: pass self.onLayoutFinish.append(self.hideStatus) self.onLayoutFinish.append(self.engine.start) self.onLayoutFinish.append(self.startEventTimer) self.onLayoutFinish.append(self.startSubtitlesTimer) self.onLayoutFinish.append(self.showStatusWithTimer) if setSubtitlesFps and self.providedSubtitlesFps: self.onFirstExecBegin.append(self.setProvidedSubtitlesFps) if autoSync: self.onFirstExecBegin.append(self.eventSync) self.onClose.append(self.engine.close) self.onClose.append(self.delTimers)
def __init__(self, session, engine, autoSync=False, setSubtitlesFps=False, subtitlesFps=None): desktopWidth = getDesktop(0).size().width() offset = 20 screenWidth = desktopWidth - (2 * offset) widgetWidth = screenWidth / 2 - 5 self.skin = """ <screen position="%d,0" size="%d,140" zPosition="2" backgroundColor="transparent" flags="wfNoBorder"> <widget name="subtitle" position="0,0" size="%d,30" valign="center" halign="left" font="Regular;22" transparent="1" foregroundColor="#ffffff" shadowColor="#40101010" shadowOffset="2,2" /> <widget name="subtitlesTime" position="0,35" size="%d,30" valign="center" halign="left" font="Regular;22" transparent="1" foregroundColor="#ffffff" shadowColor="#40101010" shadowOffset="2,2" /> <widget name="subtitlesPosition" position="0,70" size="%d,30" valign="center" halign="left" font="Regular;22" transparent="1" foregroundColor="#ffffff" shadowColor="#40101010" shadowOffset="2,2" /> <widget name="subtitlesFps" position="0,105" size="%d,30" valign="center" halign="left" font="Regular;22" transparent="1" foregroundColor="#6F9EF5" shadowColor="#40101010" shadowOffset="2,2" /> <widget name="eventName" position="%d,0" size="%d,30" valign="center" halign="left" font="Regular;22" transparent="1" foregroundColor="#ffffff" shadowColor="#40101010" shadowOffset="2,2" /> <widget name="eventTime" position="%d,35" size="%d,30" valign="center" halign="left" font="Regular;22" transparent="1" foregroundColor="#ffffff" shadowColor="#40101010" shadowOffset="2,2" /> <widget name="eventDuration" position="%d,70" size="%d,30" valign="center" halign="left" font="Regular;22" transparent="1" foregroundColor="#ffffff" shadowColor="#40101010" shadowOffset="2,2" /> </screen>""" % (offset, screenWidth, widgetWidth, widgetWidth, widgetWidth, widgetWidth, widgetWidth + 5, widgetWidth, widgetWidth + 5, widgetWidth, widgetWidth + 5, widgetWidth) Screen.__init__(self, session) HelpableScreen.__init__(self) self.engine = engine self.engine.onRenderSub.append(self.onRenderSub) self.engine.onHideSub.append(self.onHideSub) self.engine.onPositionUpdate.append(self.onUpdateSubPosition) subtitlesFps = subtitlesFps and fps_float(subtitlesFps) if subtitlesFps and str(subtitlesFps) in self.fpsChoices: self.providedSubtitlesFps = subtitlesFps else: self.providedSubtitlesFps = None self.hideTimer = eTimer() self.hideTimer_conn = eConnectCallback(self.hideTimer.timeout, self.hideStatus) self.hideTimerDelay = 5000 self.eventTimer = eTimer() self.eventTimer_conn = eConnectCallback(self.eventTimer.timeout, self.updateEventStatus) self.subtitlesTimer = eTimer() self.subtitlesTimer_conn = eConnectCallback(self.subtitlesTimer.timeout, self.updateSubtitlesTime) self.subtitlesTimerStep = 500 self._baseTime = 0 self._accTime = 0 self.statusLocked = False self['subtitle'] = Label() self['subtitlesPosition'] = Label(_("Subtitles Position") + ":") self['subtitlesTime'] = Label(_("Subtitles Time") + ":") self['subtitlesFps'] = Label(_("Subtitles FPS") + ":") self["eventName"] = Label(_("Event Name") + ":") self["eventTime"] = Label(_("Event Time") + ":") self["eventDuration"] = Label(_("Event Duration") + ":") self['actions'] = HelpableActionMap(self, "SubtitlesDVBActions", { "closePlugin": (self.close, _("close plugin")), "showHideStatus": (self.showHideStatus, _("show/hide subtitles status")), "playPauseSub": (self.playPause, _("play/pause subtitles playback")), "pauseSub": (self.pause, _("pause subtitles playback")), "resumeSub": (self.resume, _("resumes subtitles playback")), "restartSub":(self.restart, _("restarts current subtitle")), "nextSub": (self.nextSkip, _("skip to next subtitle")), "nextSubMinute": (self.nextMinuteSkip, _("skip to next subtitle (minute jump)")), "nextSubManual":(self.nextManual, _("skip to next subtitle by setting time in minutes")), "prevSub":(self.previousSkip, _("skip to previous subtitle")), "prevSubMinute":(self.previousMinuteSkip, _("skip to previous subtitle (minute jump)")), "prevSubManual":(self.previousManual, _("skip previous subtitle by setting time in minutes")), "eventSync":(self.eventSync, _("skip subtitle to current event position")), "changeFps":(self.changeFps, _("change subtitles fps")), }, 0) try: from Screens.InfoBar import InfoBar InfoBar.instance.subtitle_window.hide() except: pass self.onLayoutFinish.append(self.hideStatus) self.onLayoutFinish.append(self.engine.start) self.onLayoutFinish.append(self.startEventTimer) self.onLayoutFinish.append(self.startSubtitlesTimer) self.onLayoutFinish.append(self.showStatusWithTimer) if setSubtitlesFps and self.providedSubtitlesFps: self.onFirstExecBegin.append(self.setProvidedSubtitlesFps) if autoSync: self.onFirstExecBegin.append(self.eventSync) self.onClose.append(self.engine.close) self.onClose.append(self.delTimers)