def InitLcd(): detected = eDBoxLCD.getInstance() and eDBoxLCD.getInstance().detected() SystemInfo["Display"] = detected config.lcd = ConfigSubsection(); if detected: def setLCDbright(configElement): ilcd.setBright(configElement.value); def setLCDcontrast(configElement): ilcd.setContrast(configElement.value); def setLCDinverted(configElement): ilcd.setInverted(configElement.value); def setLCDflipped(configElement): ilcd.setFlipped(configElement.value); standby_default = 0 ilcd = LCD() if not ilcd.isOled(): config.lcd.contrast = ConfigSlider(default=5, limits=(0, 20)) config.lcd.contrast.addNotifier(setLCDcontrast); else: config.lcd.contrast = ConfigNothing() standby_default = 1 config.lcd.standby = ConfigSlider(default=standby_default, limits=(0, 10)) config.lcd.standby.addNotifier(setLCDbright); config.lcd.standby.apply = lambda : setLCDbright(config.lcd.standby) config.lcd.bright = ConfigSlider(default=5, limits=(0, 10)) config.lcd.bright.addNotifier(setLCDbright); config.lcd.bright.apply = lambda : setLCDbright(config.lcd.bright) config.lcd.bright.callNotifiersOnSaveAndCancel = True config.lcd.invert = ConfigYesNo(default=False) config.lcd.invert.addNotifier(setLCDinverted); config.lcd.flip = ConfigYesNo(default=False) config.lcd.flip.addNotifier(setLCDflipped); if SystemInfo["LcdLiveTV"]: def lcdLiveTvChanged(configElement): open(SystemInfo["LcdLiveTV"], "w").write(configElement.value and "0" or "1") InfoBarInstance = InfoBar.instance InfoBarInstance and InfoBarInstance.session.open(dummyScreen) config.lcd.showTv = ConfigYesNo(default = False) config.lcd.showTv.addNotifier(lcdLiveTvChanged) else: def doNothing(): pass config.lcd.contrast = ConfigNothing() config.lcd.bright = ConfigNothing() config.lcd.standby = ConfigNothing() config.lcd.bright.apply = lambda : doNothing() config.lcd.standby.apply = lambda : doNothing() config.misc.standbyCounter.addNotifier(standbyCounterChanged, initial_call = False)
def __init__(self, request, session): self.request = request mode = None graboptions = [GRAB_PATH, '-q', '-s'] if "format" in request.args: fileformat = request.args["format"][0] else: fileformat = "jpg" if fileformat == "jpg": graboptions.append("-j") graboptions.append("95") elif fileformat == "png": graboptions.append("-p") elif fileformat != "bmp": fileformat = "bmp" if "r" in request.args: size = request.args["r"][0] graboptions.append("-r") graboptions.append("%d" % int(size)) if "mode" in request.args: mode = request.args["mode"][0] if mode == "osd": graboptions.append("-o") elif mode == "video": graboptions.append("-v") elif mode == "pip": graboptions.append("-v") if InfoBar.instance.session.pipshown: graboptions.append("-i 1") elif mode == "lcd": eDBoxLCD.getInstance().dumpLCD() fileformat = "png" command = "cat /tmp/lcdshot.%s" % fileformat self.container = eConsoleAppContainer() self.container.appClosed.append(self.grabFinished) self.container.stdoutAvail.append(request.write) self.container.setBufferSize(32768) if mode == "lcd": if self.container.execute(command): raise Exception, "failed to execute: ", command sref = 'lcdshot' else: self.container.execute(GRAB_PATH, *graboptions) try: if mode == "pip" and InfoBar.instance.session.pipshown: ref = InfoBar.instance.session.pip.getCurrentService().toString() else: ref = session.nav.getCurrentlyPlayingServiceReference().toString() sref = '_'.join(ref.split(':', 10)[:10]) except: # noqa: E722 sref = 'screenshot' sref = sref + '_' + time.strftime("%Y%m%d%H%M%S", time.localtime(time.time())) request.notifyFinish().addErrback(self.requestAborted) request.setHeader('Content-Disposition', 'inline; filename=%s.%s;' % (sref, fileformat)) request.setHeader('Content-Type', 'image/%s' % fileformat.replace("jpg", "jpeg"))
def runPlugin(self, pluginname): eDBoxLCD.getInstance().lock() eRCInput.getInstance().lock() fbClass.getInstance().lock() print "executing:", ("pluginlauncher -x %s" % pluginname) if self.container.execute("pluginlauncher -x %s" % pluginname): self.finishedExecution(None)
def RecordingLed(self): global MyRecLed if self.session.nav.getRecordings(): MyRecLed = True else: MyRecLed = False if self.blink: eDBoxLCD.getInstance().setLCDBrightness(config.lcd.bright.value * 255 / 10) self.blink = False
def __runEmu(self,rom): print "[Snes] - __runEmu", rom eDBoxLCD.getInstance().lock() eRCInput.getInstance().lock() fbClass.getInstance().lock() com = "export LANG=" + language.getLanguage() + ".UTF-8;" com += "/usr/bin/snes9x-sdl-start '%s';" %rom self.__container.execute(com)
def toggleDisplay(configElement): from Components.Lcd import LCD if configElement.value == False: # turn display on print "[3D Settings] turning display on" LCD().setBright(config.lcd.bright.value) elif (config.plugins.threed.disableDisplay.value == True) and (getmode() != THREE_D_OFF): # turn display off print "[3D Settings] turning display off" LCD().setBright(0) eDBoxLCD.getInstance().update()
def finished(self,retval): fbClass.getInstance().unlock() eRCInput.getInstance().unlock() eDBoxLCD.getInstance().unlock() if self.faked_lcd: remove("/dev/dbox/lcd0") rmdir("/dev/dbox") self.close()
def autoDimUpLCD(self): if not Screens.Standby.inTryQuitMainloop: self.autoDimDownLCDTimer.stop() if self.currBrightness < self.Brightness: self.currBrightness = self.currBrightness + 5 if self.currBrightness >= self.Brightness: self.currBrightness = self.Brightness eDBoxLCD.getInstance().setLCDBrightness(self.currBrightness) self.autoDimUpLCDTimer.start(10, True) else: if self.dimBrightness is not None and self.currBrightness > self.dimBrightness and self.dimDelay is not None and self.dimDelay > 0: self.autoDimDownLCDTimer.startLongTimer(self.dimDelay)
def setBright(self, value): value *= 255 value /= 10 if value > 255: value = 255 self.autoDimDownLCDTimer.stop() self.autoDimUpLCDTimer.stop() self.currBrightness = self.Brightness = value eDBoxLCD.getInstance().setLCDBrightness(self.currBrightness) if self.dimBrightness is not None and self.currBrightness > self.dimBrightness: if self.dimDelay is not None and self.dimDelay > 0: self.autoDimDownLCDTimer.startLongTimer(self.dimDelay)
def setStandbyBright(self, value): value *= 255 value /= 10 if value > 255: value = 255 self.autoDimDownLCDTimer.stop() self.autoDimUpLCDTimer.stop() self.Brightness = value if self.dimBrightness is None: self.dimBrightness = value if self.currBrightness is None: self.currBrightness = value eDBoxLCD.getInstance().setLCDBrightness(self.Brightness)
def finishedExecution(self, retval = 1): print "PluginRunner retval:", retval fbClass.getInstance().unlock() eRCInput.getInstance().unlock() eDBoxLCD.getInstance().unlock() if retval is None or retval != 1: self.session.openWithCallback( self.finishedExecution, MessageBox, _("Error executing plugin") % param ) else: self.close()
def RecordingLed(self): global MyRecLed try: #not all images support recording type indicators recordings = self.session.nav.getRecordings(False,Components.RecordingConfig.recType(config.recording.show_rec_symbol_for_rec_types.getValue())) except: recordings = self.session.nav.getRecordings() if recordings: MyRecLed = True else: MyRecLed = False if self.blink: eDBoxLCD.getInstance().setLCDBrightness(config.lcd.bright.value * 255 / 10) self.blink = False
def finished(self,retval): fbClass.getInstance().unlock() eRCInput.getInstance().unlock() eDBoxLCD.getInstance().unlock() if self.faked_lcd: remove("/dev/dbox/lcd0") rmdir("/dev/dbox") #force redraw dsk = getDesktop(0) dsk.resize(dsk.size()) self.close()
def InitLcd(): detected = eDBoxLCD.getInstance().detected() SystemInfo["Display"] = detected config.lcd = ConfigSubsection(); if detected: def setLCDbright(configElement): ilcd.setBright(configElement.value); def setLCDcontrast(configElement): ilcd.setContrast(configElement.value); def setLCDinverted(configElement): ilcd.setInverted(configElement.value); standby_default = 0 ilcd = LCD() if not ilcd.isOled(): config.lcd.contrast = ConfigSlider(default=5, limits=(0, 20)) config.lcd.contrast.addNotifier(setLCDcontrast); else: config.lcd.contrast = ConfigNothing() standby_default = 1 if model not in ('dm800se'): config.lcd.enablelcdbri = ConfigYesNo(default=False) config.lcd.lcdbri = ConfigSlider(default=3, limits=(0, 10)) config.lcd.lcdbri.addNotifier(setLCDbright); config.lcd.lcdbri.apply = lambda : setLCDbright(config.lcd.lcdbri) config.lcd.lcdbri.callNotifiersOnSaveAndCancel = True else: config.lcd.enablelcdbri = ConfigNothing() config.lcd.lcdbri = ConfigNothing() config.lcd.lcdbri.apply = lambda : doNothing() config.lcd.standby = ConfigSlider(default=0, limits=(0, 10)) config.lcd.standby.addNotifier(setLCDbright); config.lcd.standby.apply = lambda : setLCDbright(config.lcd.standby) config.lcd.bright = ConfigSlider(default=5, limits=(0, 10)) config.lcd.bright.addNotifier(setLCDbright); config.lcd.bright.apply = lambda : setLCDbright(config.lcd.bright) config.lcd.bright.callNotifiersOnSaveAndCancel = True config.lcd.invert = ConfigYesNo(default=False) config.lcd.invert.addNotifier(setLCDinverted); else: def doNothing(): pass config.lcd.contrast = ConfigNothing() config.lcd.bright = ConfigNothing() config.lcd.standby = ConfigNothing() config.lcd.bright.apply = lambda : doNothing() config.lcd.standby.apply = lambda : doNothing() config.lcd.enablelcdbri = ConfigNothing() config.lcd.lcdbri = ConfigNothing() config.lcd.lcdbri.apply = lambda : doNothing() config.misc.standbyCounter.addNotifier(standbyCounterChanged, initial_call = False)
def switchmode(mode): if mode in modes.keys(): print "[3D Settings] switching to mode ", mode open("/proc/stb/fb/primary/3d", "w").write(modes[mode]) AutoThreeD.instance.setLastMode(mode) if eDBoxLCD.getInstance().detected(): # display found, update it config.plugins.threed.toggleState.setValue(getmode() != THREE_D_OFF) toggleDisplay(config.plugins.threed.toggleState)
def prikaz(self): self.RecordingLed() if ( config.plugins.VFD_ini.recClockBlink.value != "off" and MyRecLed and config.plugins.VFD_ini.recDisplay.value == "False" ): self.blinkCounter += 1 if self.blinkCounter >= 2: self.blinkCounter = 0 if self.blink: if config.plugins.VFD_ini.recClockBlink.value == "brightness": eDBoxLCD.getInstance().setLCDBrightness(config.plugins.VFD_ini.ClockLevel2.value * 255 / 10) self.blink = False else: if config.plugins.VFD_ini.recClockBlink.value == "brightness": eDBoxLCD.getInstance().setLCDBrightness(config.plugins.VFD_ini.ClockLevel1.value * 255 / 10) self.blink = True if ( config.plugins.VFD_ini.showClock.value == "True" or config.plugins.VFD_ini.showClock.value == "True_All" or config.plugins.VFD_ini.showClock.value == "True_Switch" ): clock = str(localtime()[3]) clock1 = str(localtime()[4]) if config.plugins.VFD_ini.timeMode.value != "24h": if int(clock) > 12: clock = str(int(clock) - 12) if self.sign == 0: clock2 = "%02d:%02d" % (int(clock), int(clock1)) self.sign = 1 else: clock2 = "%02d%02d" % (int(clock), int(clock1)) self.sign = 0 if config.plugins.VFD_ini.recDisplay.value == "True" and MyRecLed: vfd_write(" rec") elif config.plugins.VFD_ini.recClockBlink.value == "on_off" and self.blink: vfd_write("....") else: vfd_write(clock2) else: vfd_write("....")
def __init__(self): self.oled_type = eDBoxLCD.getInstance().isOled() if self.oled_type == 3: # Bitmapped OLED has 16 level of brightness self.oled_brightness_scale = 15 else: # LCD display has 10 levels of brightness self.oled_brightness_scale = 10 print "[LCD] oled_type=%d, oled_brightness_scale=%d" % (self.oled_type, self.oled_brightness_scale)
def InitLcd(): if getBoxType() in ('nanoc', 'nano', 'axodinc', 'axodin', 'amikomini', 'dynaspark', 'amiko8900', 'sognorevolution', 'arguspingulux', 'arguspinguluxmini', 'arguspinguluxplus', 'sparkreloaded', 'sabsolo', 'sparklx', 'gis8120', 'gb800se', 'gb800solo', 'gb800seplus', 'gbultrase', 'gbipbox', 'tmsingle', 'tmnano2super', 'iqonios300hd', 'iqonios300hdv2', 'optimussos1plus', 'optimussos1', 'vusolo', 'et4x00', 'et5x00', 'et6x00', 'et7000', 'mixosf7', 'mixoslumi'): detected = False else: detected = eDBoxLCD.getInstance().detected() SystemInfo["Display"] = detected config.lcd = ConfigSubsection(); if detected: def setLCDbright(configElement): ilcd.setBright(configElement.value); def setLCDcontrast(configElement): ilcd.setContrast(configElement.value); def setLCDinverted(configElement): ilcd.setInverted(configElement.value); def setLCDflipped(configElement): ilcd.setFlipped(configElement.value); standby_default = 0 ilcd = LCD() if not ilcd.isOled(): config.lcd.contrast = ConfigSlider(default=5, limits=(0, 20)) config.lcd.contrast.addNotifier(setLCDcontrast); else: config.lcd.contrast = ConfigNothing() standby_default = 1 config.lcd.standby = ConfigSlider(default=standby_default, limits=(0, 10)) config.lcd.standby.addNotifier(setLCDbright); config.lcd.standby.apply = lambda : setLCDbright(config.lcd.standby) config.lcd.bright = ConfigSlider(default=5, limits=(0, 10)) config.lcd.bright.addNotifier(setLCDbright); config.lcd.bright.apply = lambda : setLCDbright(config.lcd.bright) config.lcd.bright.callNotifiersOnSaveAndCancel = True config.lcd.invert = ConfigYesNo(default=False) config.lcd.invert.addNotifier(setLCDinverted); config.lcd.flip = ConfigYesNo(default=False) config.lcd.flip.addNotifier(setLCDflipped); else: def doNothing(): pass config.lcd.contrast = ConfigNothing() config.lcd.bright = ConfigNothing() config.lcd.standby = ConfigNothing() config.lcd.bright.apply = lambda : doNothing() config.lcd.standby.apply = lambda : doNothing() config.misc.standbyCounter.addNotifier(standbyCounterChanged, initial_call = False)
def runapp(self): service = self.session.nav.getCurrentService() info = service and service.info() txtpid = info and "%d" %(info.getInfo(iServiceInformation.sTXTPID)) or "" stream = service and service.stream() demux = stream and stream.getStreamingData() demux = demux and demux.get("demux", -1) demux = demux > -1 and "%d" %(demux) or "" eDBoxLCD.getInstance().lock() eRCInput.getInstance().lock() fbClass.getInstance().lock() self.faked_lcd = not path.exists("/dev/dbox") if self.faked_lcd: mkdir("/dev/dbox") symlink("/dev/null", "/dev/dbox/lcd0") if self.container.execute("/usr/bin/tuxtxt " + demux + " " + txtpid): self.finished(-1)
def createSetup(self): self.list = [] self.list.append(getConfigListEntry(_("Show side by side option in extension menu"), config.plugins.threed.showSBSmenu)) self.list.append(getConfigListEntry(_("Show top/bottom option in extension menu"), config.plugins.threed.showTBmenu)) self.list.append(getConfigListEntry(_("Switch OSD automatically"), config.plugins.threed.autothreed)) if eDBoxLCD.getInstance().detected(): # display found self.list.append(getConfigListEntry(_("Turn off display"), config.plugins.threed.disableDisplay)) currentmode = getmode() if currentmode in [THREE_D_SIDE_BY_SIDE, THREE_D_TOP_BOTTOM]: self.list.append(getConfigListEntry(_("Offset"), config.plugins.threed.zoffset)) self["config"].list = self.list self["config"].l.setList(self.list)
def switchmode(mode): if mode in modes.keys(): print "[3D Settings] switching to mode ", mode if proc_stb_fb_3d_support: open("/proc/stb/fb/primary/3d", "w").write(modes[mode]) else: getDesktop(0).set3dMode(mode) AutoThreeD.instance.setLastMode(mode) disp = eDBoxLCD.getInstance() if disp and disp.detected(): # display found, update it config.plugins.threed.toggleState.setValue(getmode() != THREE_D_OFF) toggleDisplay(config.plugins.threed.toggleState)
def InitLcd(): instance = eDBoxLCD.getInstance() if instance: detected = instance.detected() else: detected = False SystemInfo["Display"] = detected config.lcd = ConfigSubsection(); if detected: def setLCDbright(configElement): ilcd.setBright(configElement.value); def setLCDcontrast(configElement): ilcd.setContrast(configElement.value); def setLCDinverted(configElement): ilcd.setInverted(configElement.value); standby_default = 0 ilcd = LCD() if not ilcd.isOled(): config.lcd.contrast = ConfigSlider(default=5, limits=(0, 20)) config.lcd.contrast.addNotifier(setLCDcontrast); else: config.lcd.contrast = ConfigNothing() standby_default = 1 config.lcd.standby = ConfigSlider(default=standby_default, limits=(0, 10)) config.lcd.standby.addNotifier(setLCDbright); config.lcd.standby.apply = lambda : setLCDbright(config.lcd.standby) config.lcd.bright = ConfigSlider(default=5, limits=(0, 10)) config.lcd.bright.addNotifier(setLCDbright, call_on_save_or_cancel=True); config.lcd.bright.apply = lambda : setLCDbright(config.lcd.bright) config.lcd.invert = ConfigYesNo(default=False) config.lcd.invert.addNotifier(setLCDinverted); else: def doNothing(): pass config.lcd.contrast = ConfigNothing() config.lcd.bright = ConfigNothing() config.lcd.standby = ConfigNothing() config.lcd.bright.apply = lambda : doNothing() config.lcd.standby.apply = lambda : doNothing() config.misc.standbyCounter.addNotifier(standbyCounterChanged, initial_call = False)
def __init__(self, session): self.session = session Screen.__init__(self, session) self.__event_tracker = ServiceEventTracker(screen = self, eventmap = { iPlayableService.evUpdatedInfo: self.__evUpdatedInfo, iPlayableService.evStart: self.__evStart }) self.newService = False self.lastmode = getmode() assert not AutoThreeD.instance, "only one AutoThreeD instance is allowed!" AutoThreeD.instance = self # set instance if eDBoxLCD.getInstance().detected(): # display found from Components.config import NoSave config.plugins.threed.disableDisplay = ConfigYesNo(default = False) config.plugins.threed.disableDisplay.addNotifier(toggleDisplay, initial_call = False) from Components.config import NoSave config.plugins.threed.toggleState = NoSave(ConfigYesNo(default = True)) # True = display on, False = display off config.misc.standbyCounter.addNotifier(standbyCounterChanged, initial_call = False)
def InitLcd(): detected = eDBoxLCD.getInstance().detected() SystemInfo["Display"] = detected config.lcd = ConfigSubsection(); if detected: def setLCDbright(configElement): ilcd.setBright(configElement.value); def setLCDcontrast(configElement): ilcd.setContrast(configElement.value); def setLCDinverted(configElement): ilcd.setInverted(configElement.value); ilcd = LCD() config.lcd.standby = ConfigSlider(default=0, limits=(0, 10)) config.lcd.standby.addNotifier(setLCDbright); config.lcd.standby.apply = lambda : setLCDbright(config.lcd.standby) config.lcd.bright = ConfigSlider(default=5, limits=(0, 10)) config.lcd.bright.addNotifier(setLCDbright); config.lcd.bright.apply = lambda : setLCDbright(config.lcd.bright) config.lcd.bright.callNotifiersOnSaveAndCancel = True if not ilcd.isOled(): config.lcd.contrast = ConfigSlider(default=5, limits=(0, 20)) config.lcd.contrast.addNotifier(setLCDcontrast); else: config.lcd.contrast = ConfigNothing() config.lcd.invert = ConfigYesNo(default=False) config.lcd.invert.addNotifier(setLCDinverted); else: def doNothing(): pass config.lcd.contrast = ConfigNothing() config.lcd.bright = ConfigNothing() config.lcd.standby = ConfigNothing() config.lcd.bright.apply = lambda : doNothing() config.lcd.standby.apply = lambda : doNothing()
def setLEDBlinkingTime(self, value): eDBoxLCD.getInstance().setLED(value, 2)
def setFlipped(self, value): eDBoxLCD.getInstance().setFlipped(value)
def setScreenShot(self, value): eDBoxLCD.getInstance().setDump(value)
def setBright(self, value): value *= 255 value /= 10 if value > 255: value = 255 eDBoxLCD.getInstance().setLCDBrightness(value)
def InitLcd(): if getBoxType() == 'gb800se' or getBoxType() == 'gb800solo' or getBoxType( ) == 'gb800ue': detected = False else: detected = eDBoxLCD.getInstance().detected() SystemInfo["Display"] = detected config.lcd = ConfigSubsection() if detected: def setLCDbright(configElement): ilcd.setBright(configElement.value) def setLCDcontrast(configElement): ilcd.setContrast(configElement.value) def setLCDinverted(configElement): ilcd.setInverted(configElement.value) def setLCDflipped(configElement): ilcd.setFlipped(configElement.value) def setLCDmode(configElement): ilcd.setMode(configElement.value) def setLCDrepeat(configElement): ilcd.setRepeat(configElement.value) def setLCDscrollspeed(configElement): ilcd.setScrollspeed(configElement.value) def setLEDnormalstate(configElement): ilcd.setNormalstate(configElement.value) def setLEDdeepstandby(configElement): ilcd.setDeepStandby(configElement.value) def setLEDblinkingtime(configElement): ilcd.setBlinkingtime(configElement.value) standby_default = 0 ilcd = LCD() if not ilcd.isOled(): config.lcd.contrast = ConfigSlider(default=5, limits=(0, 20)) config.lcd.contrast.addNotifier(setLCDcontrast) else: config.lcd.contrast = ConfigNothing() standby_default = 1 config.lcd.standby = ConfigSlider(default=standby_default, limits=(0, 10)) config.lcd.standby.addNotifier(setLCDbright) config.lcd.standby.apply = lambda: setLCDbright(config.lcd.standby) config.lcd.bright = ConfigSlider(default=5, limits=(0, 10)) config.lcd.bright.addNotifier(setLCDbright) config.lcd.bright.apply = lambda: setLCDbright(config.lcd.bright) config.lcd.bright.callNotifiersOnSaveAndCancel = True config.lcd.invert = ConfigYesNo(default=False) config.lcd.invert.addNotifier(setLCDinverted) config.lcd.flip = ConfigYesNo(default=False) config.lcd.flip.addNotifier(setLCDflipped) if fileExists("/proc/stb/lcd/scroll_delay"): config.lcd.scrollspeed = ConfigSlider(default=150, increment=10, limits=(0, 500)) config.lcd.scrollspeed.addNotifier(setLCDscrollspeed) config.lcd.repeat = ConfigSelection([("0", _("None")), ("1", _("1X")), ("2", _("2X")), ("3", _("3X")), ("4", _("4X")), ("500", _("Continues"))], "3") config.lcd.repeat.addNotifier(setLCDrepeat) config.lcd.mode = ConfigSelection([("0", _("No")), ("1", _("Yes"))], "1") config.lcd.mode.addNotifier(setLCDmode) else: config.lcd.mode = ConfigNothing() config.lcd.repeat = ConfigNothing() config.lcd.scrollspeed = ConfigNothing() if getBoxType() == 'vuultimo': config.lcd.ledblinkingtime = ConfigSlider(default=5, increment=1, limits=(0, 15)) config.lcd.ledblinkingtime.addNotifier(setLEDblinkingtime) config.lcd.ledbrightnessdeepstandby = ConfigSlider(default=1, increment=1, limits=(0, 15)) config.lcd.ledbrightnessdeepstandby.addNotifier(setLEDnormalstate) config.lcd.ledbrightnessdeepstandby.addNotifier(setLEDdeepstandby) config.lcd.ledbrightnessdeepstandby.apply = lambda: setLEDdeepstandby( config.lcd.ledbrightnessdeepstandby) config.lcd.ledbrightnessstandby = ConfigSlider(default=1, increment=1, limits=(0, 15)) config.lcd.ledbrightnessstandby.addNotifier(setLEDnormalstate) config.lcd.ledbrightnessstandby.apply = lambda: setLEDnormalstate( config.lcd.ledbrightnessstandby) config.lcd.ledbrightness = ConfigSlider(default=3, increment=1, limits=(0, 15)) config.lcd.ledbrightness.addNotifier(setLEDnormalstate) config.lcd.ledbrightness.apply = lambda: setLEDnormalstate( config.lcd.ledbrightness) config.lcd.ledbrightness.callNotifiersOnSaveAndCancel = True else: def doNothing(): pass config.lcd.ledbrightness = ConfigNothing() config.lcd.ledbrightness.apply = lambda: doNothing() config.lcd.ledbrightnessstandby = ConfigNothing() config.lcd.ledbrightnessstandby.apply = lambda: doNothing() config.lcd.ledbrightnessdeepstandby = ConfigNothing() config.lcd.ledbrightnessdeepstandby.apply = lambda: doNothing() config.lcd.ledblinkingtime = ConfigNothing() else: def doNothing(): pass config.lcd.contrast = ConfigNothing() config.lcd.bright = ConfigNothing() config.lcd.standby = ConfigNothing() config.lcd.bright.apply = lambda: doNothing() config.lcd.standby.apply = lambda: doNothing() config.lcd.mode = ConfigNothing() config.lcd.repeat = ConfigNothing() config.lcd.scrollspeed = ConfigNothing() config.lcd.ledbrightness = ConfigNothing() config.lcd.ledbrightness.apply = lambda: doNothing() config.lcd.ledbrightnessstandby = ConfigNothing() config.lcd.ledbrightnessstandby.apply = lambda: doNothing() config.lcd.ledbrightnessdeepstandby = ConfigNothing() config.lcd.ledbrightnessdeepstandby.apply = lambda: doNothing() config.lcd.ledblinkingtime = ConfigNothing() config.misc.standbyCounter.addNotifier(standbyCounterChanged, initial_call=False)
def setInverted(self, value): if value: value = 255 eDBoxLCD.getInstance().setInverted(value)
def setLEDNormalState(self, value): eDBoxLCD.getInstance().setLED(value, 0)
def isOled(self): return eDBoxLCD.getInstance().isOled()
def setLEDDeepStandbyState(self, value): eDBoxLCD.getInstance().setLED(value, 1)
def setContrast(self, value): value *= 63 value /= 20 if value > 63: value = 63 eDBoxLCD.getInstance().setLCDContrast(value)
def InitLcd(): if getBoxType() in ('zgemmai55', 'sf98', 'et7x00mini', 'wetekplay', 'wetekplayplus', 'xpeedlxcs2', 'xpeedlxcc', 'e4hd', 'e4hdhybrid', 'mbmicro', 'beyonwizt2', 'amikomini', 'dynaspark', 'amiko8900', 'sognorevolution', 'arguspingulux', 'arguspinguluxmini', 'arguspinguluxplus', 'sparkreloaded', 'sabsolo', 'sparklx', 'gis8120', 'gb800se', 'gb800solo', 'gb800seplus', 'gbultrase', 'gbipbox', 'tmsingle', 'tmnano2super', 'iqonios300hd', 'iqonios300hdv2', 'optimussos1plus', 'optimussos1', 'vusolo', 'et4x00', 'et5x00', 'et6x00', 'et7000', 'mixosf7', 'mixoslumi', 'gbx1', 'gbx3'): detected = False else: detected = eDBoxLCD.getInstance().detected() SystemInfo["Display"] = detected config.lcd = ConfigSubsection(); if fileExists("/proc/stb/lcd/mode"): f = open("/proc/stb/lcd/mode", "r") can_lcdmodechecking = f.read().strip().split(" ") f.close() else: can_lcdmodechecking = False SystemInfo["LCDMiniTV"] = can_lcdmodechecking if detected: ilcd = LCD() if can_lcdmodechecking: def setLCDModeMinitTV(configElement): try: f = open("/proc/stb/lcd/mode", "w") f.write(configElement.value) f.close() except: pass def setMiniTVFPS(configElement): try: f = open("/proc/stb/lcd/fps", "w") f.write("%d \n" % configElement.value) f.close() except: pass def setLCDModePiP(configElement): pass def setLCDScreenshot(configElement): ilcd.setScreenShot(configElement.value); config.lcd.modepip = ConfigSelection(choices={ "0": _("off"), "5": _("PIP"), "7": _("PIP with OSD")}, default = "0") if config.misc.boxtype.value == 'gbquad' or config.misc.boxtype.value == 'gbquadplus': config.lcd.modepip.addNotifier(setLCDModePiP) else: config.lcd.modepip = ConfigNothing() config.lcd.screenshot = ConfigYesNo(default=False) config.lcd.screenshot.addNotifier(setLCDScreenshot) config.lcd.modeminitv = ConfigSelection(choices={ "0": _("normal"), "1": _("MiniTV"), "2": _("OSD"), "3": _("MiniTV with OSD")}, default = "0") config.lcd.fpsminitv = ConfigSlider(default=30, limits=(0, 30)) config.lcd.modeminitv.addNotifier(setLCDModeMinitTV) config.lcd.fpsminitv.addNotifier(setMiniTVFPS) else: config.lcd.modeminitv = ConfigNothing() config.lcd.screenshot = ConfigNothing() config.lcd.fpsminitv = ConfigNothing() config.lcd.scroll_speed = ConfigSelection(default = "300", choices = [ ("500", _("slow")), ("300", _("normal")), ("100", _("fast"))]) config.lcd.scroll_delay = ConfigSelection(default = "10000", choices = [ ("10000", "10 " + _("seconds")), ("20000", "20 " + _("seconds")), ("30000", "30 " + _("seconds")), ("60000", "1 " + _("minute")), ("300000", "5 " + _("minutes")), ("noscrolling", _("off"))]) def setLCDbright(configElement): ilcd.setBright(configElement.value); def setLCDstandbybright(configElement): ilcd.setStandbyBright(configElement.value); def setLCDdimbright(configElement): ilcd.setDimBright(configElement.value); def setLCDdimdelay(configElement): ilcd.setDimDelay(configElement.value); def setLCDcontrast(configElement): ilcd.setContrast(configElement.value); def setLCDinverted(configElement): ilcd.setInverted(configElement.value); def setLCDflipped(configElement): ilcd.setFlipped(configElement.value); def setLCDmode(configElement): ilcd.setMode(configElement.value); def setLCDpower(configElement): ilcd.setPower(configElement.value); def setfblcddisplay(configElement): ilcd.setfblcddisplay(configElement.value); def setLCDshowoutputresolution(configElement): ilcd.setShowoutputresolution(configElement.value); def setLCDminitvmode(configElement): ilcd.setLCDMiniTVMode(configElement.value) def setLCDminitvpipmode(configElement): ilcd.setLCDMiniTVPIPMode(configElement.value) def setLCDminitvfps(configElement): ilcd.setLCDMiniTVFPS(configElement.value) def setLEDnormalstate(configElement): ilcd.setLEDNormalState(configElement.value); def setLEDdeepstandby(configElement): ilcd.setLEDDeepStandbyState(configElement.value); def setLEDblinkingtime(configElement): ilcd.setLEDBlinkingTime(configElement.value); def setPowerLEDstanbystate(configElement): if fileExists("/proc/stb/power/standbyled"): f = open("/proc/stb/power/standbyled", "w") f.write(configElement.value) f.close() config.usage.lcd_standbypowerled = ConfigSelection(default = "on", choices = [("off", _("Off")), ("on", _("On"))]) config.usage.lcd_standbypowerled.addNotifier(setPowerLEDstanbystate) standby_default = 0 if not ilcd.isOled(): config.lcd.contrast = ConfigSlider(default=5, limits=(0, 20)) config.lcd.contrast.addNotifier(setLCDcontrast); else: config.lcd.contrast = ConfigNothing() standby_default = 1 if getBoxType() in ('mixosf5', 'mixosf5mini', 'gi9196m', 'gi9196lite', 'zgemmas2s', 'zgemmash1', 'zgemmash2', 'zgemmass', 'zgemmahs', 'zgemmah2s', 'zgemmah2h', 'spycat'): config.lcd.standby = ConfigSlider(default=standby_default, limits=(0, 4)) config.lcd.dimbright = ConfigSlider(default=standby_default, limits=(0, 4)) config.lcd.bright = ConfigSlider(default=4, limits=(0, 4)) else: config.lcd.standby = ConfigSlider(default=standby_default, limits=(0, 10)) config.lcd.dimbright = ConfigSlider(default=standby_default, limits=(0, 10)) config.lcd.bright = ConfigSlider(default=5, limits=(0, 10)) config.lcd.dimbright.addNotifier(setLCDdimbright); config.lcd.dimbright.apply = lambda : setLCDdimbright(config.lcd.dimbright) config.lcd.dimdelay = ConfigSelection(default = "0", choices = [ ("5", "5 " + _("seconds")), ("10", "10 " + _("seconds")), ("15", "15 " + _("seconds")), ("20", "20 " + _("seconds")), ("30", "30 " + _("seconds")), ("60", "1 " + _("minute")), ("120", "2 " + _("minutes")), ("300", "5 " + _("minutes")), ("0", _("off"))]) config.lcd.dimdelay.addNotifier(setLCDdimdelay); config.lcd.standby.addNotifier(setLCDstandbybright); config.lcd.standby.apply = lambda : setLCDstandbybright(config.lcd.standby) config.lcd.bright.addNotifier(setLCDbright); config.lcd.bright.apply = lambda : setLCDbright(config.lcd.bright) config.lcd.bright.callNotifiersOnSaveAndCancel = True config.lcd.invert = ConfigYesNo(default=False) config.lcd.invert.addNotifier(setLCDinverted); config.lcd.flip = ConfigYesNo(default=False) config.lcd.flip.addNotifier(setLCDflipped) if SystemInfo["LcdLiveTV"]: def lcdLiveTvChanged(configElement): open(SystemInfo["LcdLiveTV"], "w").write(configElement.value and "0" or "1") from Screens.InfoBar import InfoBar InfoBarInstance = InfoBar.instance InfoBarInstance and InfoBarInstance.session.open(dummyScreen) config.lcd.showTv = ConfigYesNo(default = False) config.lcd.showTv.addNotifier(lcdLiveTvChanged) if SystemInfo["LCDMiniTV"]: config.lcd.minitvmode = ConfigSelection([("0", _("normal")), ("1", _("MiniTV")), ("2", _("OSD")), ("3", _("MiniTV with OSD"))], "0") config.lcd.minitvmode.addNotifier(setLCDminitvmode) config.lcd.minitvpipmode = ConfigSelection([("0", _("off")), ("5", _("PIP")), ("7", _("PIP with OSD"))], "0") config.lcd.minitvpipmode.addNotifier(setLCDminitvpipmode) config.lcd.minitvfps = ConfigSlider(default=30, limits=(0, 30)) config.lcd.minitvfps.addNotifier(setLCDminitvfps) if SystemInfo["VFD_scroll_repeats"] and getBoxType() not in ('ixussone', 'ixusszero'): def scroll_repeats(el): open(SystemInfo["VFD_scroll_repeats"], "w").write(el.value) choicelist = [("0", _("None")), ("1", _("1X")), ("2", _("2X")), ("3", _("3X")), ("4", _("4X")), ("500", _("Continues"))] config.usage.vfd_scroll_repeats = ConfigSelection(default = "3", choices = choicelist) config.usage.vfd_scroll_repeats.addNotifier(scroll_repeats, immediate_feedback = False) if SystemInfo["VFD_scroll_delay"] and getBoxType() not in ('ixussone', 'ixusszero'): def scroll_delay(el): open(SystemInfo["VFD_scroll_delay"], "w").write(str(el.value)) config.usage.vfd_scroll_delay = ConfigSlider(default = 150, increment = 10, limits = (0, 500)) config.usage.vfd_scroll_delay.addNotifier(scroll_delay, immediate_feedback = False) config.lcd.hdd = ConfigSelection([("0", _("No")), ("1", _("Yes"))], "1") else: config.lcd.hdd = ConfigNothing() if SystemInfo["VFD_initial_scroll_delay"] and getBoxType() not in ('ixussone', 'ixusszero'): def initial_scroll_delay(el): open(SystemInfo["VFD_initial_scroll_delay"], "w").write(el.value) choicelist = [ ("10000", "10 " + _("seconds")), ("20000", "20 " + _("seconds")), ("30000", "30 " + _("seconds")), ("0", _("no delay"))] config.usage.vfd_initial_scroll_delay = ConfigSelection(default = "1000", choices = choicelist) config.usage.vfd_initial_scroll_delay.addNotifier(initial_scroll_delay, immediate_feedback = False) if SystemInfo["VFD_final_scroll_delay"] and getBoxType() not in ('ixussone', 'ixusszero'): def final_scroll_delay(el): open(SystemInfo["VFD_final_scroll_delay"], "w").write(el.value) choicelist = [ ("10000", "10 " + _("seconds")), ("20000", "20 " + _("seconds")), ("30000", "30 " + _("seconds")), ("0", _("no delay"))] config.usage.vfd_final_scroll_delay = ConfigSelection(default = "1000", choices = choicelist) config.usage.vfd_final_scroll_delay.addNotifier(final_scroll_delay, immediate_feedback = False) if fileExists("/proc/stb/lcd/show_symbols"): config.lcd.mode = ConfigSelection([("0", _("No")), ("1", _("Yes"))], "1") config.lcd.mode.addNotifier(setLCDmode); else: config.lcd.mode = ConfigNothing() if fileExists("/proc/stb/power/vfd") or fileExists("/proc/stb/lcd/vfd"): config.lcd.power = ConfigSelection([("0", _("No")), ("1", _("Yes"))], "1") config.lcd.power.addNotifier(setLCDpower); else: config.lcd.power = ConfigNothing() if fileExists("/proc/stb/fb/sd_detach"): config.lcd.fblcddisplay = ConfigSelection([("1", _("No")), ("0", _("Yes"))], "1") config.lcd.fblcddisplay.addNotifier(setfblcddisplay); else: config.lcd.fblcddisplay = ConfigNothing() if fileExists("/proc/stb/lcd/show_outputresolution"): config.lcd.showoutputresolution = ConfigSelection([("0", _("No")), ("1", _("Yes"))], "1") config.lcd.showoutputresolution.addNotifier(setLCDshowoutputresolution); else: config.lcd.showoutputresolution = ConfigNothing() if getBoxType() == 'vuultimo': config.lcd.ledblinkingtime = ConfigSlider(default = 5, increment = 1, limits = (0,15)) config.lcd.ledblinkingtime.addNotifier(setLEDblinkingtime); config.lcd.ledbrightnessdeepstandby = ConfigSlider(default = 1, increment = 1, limits = (0,15)) config.lcd.ledbrightnessdeepstandby.addNotifier(setLEDnormalstate); config.lcd.ledbrightnessdeepstandby.addNotifier(setLEDdeepstandby); config.lcd.ledbrightnessdeepstandby.apply = lambda : setLEDdeepstandby(config.lcd.ledbrightnessdeepstandby) config.lcd.ledbrightnessstandby = ConfigSlider(default = 1, increment = 1, limits = (0,15)) config.lcd.ledbrightnessstandby.addNotifier(setLEDnormalstate); config.lcd.ledbrightnessstandby.apply = lambda : setLEDnormalstate(config.lcd.ledbrightnessstandby) config.lcd.ledbrightness = ConfigSlider(default = 3, increment = 1, limits = (0,15)) config.lcd.ledbrightness.addNotifier(setLEDnormalstate); config.lcd.ledbrightness.apply = lambda : setLEDnormalstate(config.lcd.ledbrightness) config.lcd.ledbrightness.callNotifiersOnSaveAndCancel = True else: def doNothing(): pass config.lcd.ledbrightness = ConfigNothing() config.lcd.ledbrightness.apply = lambda : doNothing() config.lcd.ledbrightnessstandby = ConfigNothing() config.lcd.ledbrightnessstandby.apply = lambda : doNothing() config.lcd.ledbrightnessdeepstandby = ConfigNothing() config.lcd.ledbrightnessdeepstandby.apply = lambda : doNothing() config.lcd.ledblinkingtime = ConfigNothing() else: def doNothing(): pass config.lcd.contrast = ConfigNothing() config.lcd.bright = ConfigNothing() config.lcd.standby = ConfigNothing() config.lcd.bright.apply = lambda : doNothing() config.lcd.standby.apply = lambda : doNothing() config.lcd.power = ConfigNothing() config.lcd.fblcddisplay = ConfigNothing() config.lcd.mode = ConfigNothing() config.lcd.hdd = ConfigNothing() config.lcd.scroll_speed = ConfigSelection(choices = [("300", _("normal"))]) config.lcd.scroll_delay = ConfigSelection(choices = [("noscrolling", _("off"))]) config.lcd.showoutputresolution = ConfigNothing() config.lcd.ledbrightness = ConfigNothing() config.lcd.ledbrightness.apply = lambda : doNothing() config.lcd.ledbrightnessstandby = ConfigNothing() config.lcd.ledbrightnessstandby.apply = lambda : doNothing() config.lcd.ledbrightnessdeepstandby = ConfigNothing() config.lcd.ledbrightnessdeepstandby.apply = lambda : doNothing() config.lcd.ledblinkingtime = ConfigNothing() config.misc.standbyCounter.addNotifier(standbyCounterChanged, initial_call = False)
def InitLcd(): if getBoxType() in ('gb800se', 'gb800solo', 'gb800seplus', 'gbipbox', 'gbultra', 'gbultrase', 'spycat', 'quadbox2400', 'gbx1', 'gbx2', 'gbx3', 'gbx3h', 'gbx34k'): detected = False else: detected = eDBoxLCD.getInstance() and eDBoxLCD.getInstance().detected() SystemInfo["Display"] = detected config.lcd = ConfigSubsection() if fileExists("/proc/stb/lcd/mode"): f = open("/proc/stb/lcd/mode", "r") can_lcdmodechecking = f.read().strip().split(" ") f.close() else: can_lcdmodechecking = False SystemInfo["LCDMiniTV"] = can_lcdmodechecking if detected: ilcd = LCD() if can_lcdmodechecking: def setLCDModeMinitTV(configElement): try: f = open("/proc/stb/lcd/mode", "w") f.write(configElement.value) f.close() except: pass def setMiniTVFPS(configElement): try: f = open("/proc/stb/lcd/fps", "w") f.write("%d \n" % configElement.value) f.close() except: pass def setLCDModePiP(configElement): pass def setLCDScreenshot(configElement): ilcd.setScreenShot(configElement.value) config.lcd.modepip = ConfigSelection(default="0", choices=[("0", _("off")), ("5", _("PIP")), ("7", _("PIP with OSD"))]) if getBoxType() in ('gbquad', 'gbquadplus'): config.lcd.modepip.addNotifier(setLCDModePiP) else: config.lcd.modepip = ConfigNothing() config.lcd.screenshot = ConfigYesNo(default=False) config.lcd.screenshot.addNotifier(setLCDScreenshot) config.lcd.modeminitv = ConfigSelection( default="0", choices=[("0", _("normal")), ("1", _("MiniTV - video0")), ("2", _("OSD - fb")), ("3", _("MiniTV with OSD - video0+fb"))]) config.lcd.fpsminitv = ConfigSlider(default=30, limits=(0, 30)) config.lcd.modeminitv.addNotifier(setLCDModeMinitTV) config.lcd.fpsminitv.addNotifier(setMiniTVFPS) else: config.lcd.modeminitv = ConfigNothing() config.lcd.modepip = ConfigNothing() config.lcd.screenshot = ConfigNothing() config.lcd.fpsminitv = ConfigNothing() def setLCDbright(configElement): ilcd.setBright(configElement.value) def setLCDcontrast(configElement): ilcd.setContrast(configElement.value) def setLCDinverted(configElement): ilcd.setInverted(configElement.value) def setLCDflipped(configElement): ilcd.setFlipped(configElement.value) standby_default = 0 if not ilcd.isOled(): config.lcd.contrast = ConfigSlider(default=5, limits=(0, 20)) config.lcd.contrast.addNotifier(setLCDcontrast) else: config.lcd.contrast = ConfigNothing() standby_default = 1 config.lcd.standby = ConfigSlider(default=standby_default, limits=(0, 10)) config.lcd.standby.addNotifier(setLCDbright) config.lcd.standby.apply = lambda: setLCDbright(config.lcd.standby) config.lcd.bright = ConfigSlider(default=5, limits=(0, 10)) config.lcd.bright.addNotifier(setLCDbright) config.lcd.bright.apply = lambda: setLCDbright(config.lcd.bright) config.lcd.bright.callNotifiersOnSaveAndCancel = True config.lcd.invert = ConfigYesNo(default=False) config.lcd.invert.addNotifier(setLCDinverted) config.lcd.flip = ConfigYesNo(default=False) config.lcd.flip.addNotifier(setLCDflipped) if SystemInfo["LcdLiveTV"]: def lcdLiveTvChanged(configElement): setLCDLiveTv(configElement.value) configElement.save() config.lcd.showTv = ConfigYesNo(default=False) config.lcd.showTv.addNotifier(lcdLiveTvChanged) if "live_enable" in SystemInfo["LcdLiveTV"]: config.misc.standbyCounter.addNotifier( standbyCounterChangedLCDLiveTV, initial_call=False) else: def doNothing(): pass config.lcd.contrast = ConfigNothing() config.lcd.bright = ConfigNothing() config.lcd.standby = ConfigNothing() config.lcd.bright.apply = lambda: doNothing() config.lcd.standby.apply = lambda: doNothing() config.misc.standbyCounter.addNotifier(standbyCounterChanged, initial_call=False)