diff options
| author | Fraxinas <andreas.frisch@multimedia-labs.de> | 2009-05-27 11:36:01 +0200 |
|---|---|---|
| committer | Fraxinas <andreas.frisch@multimedia-labs.de> | 2009-05-27 11:36:01 +0200 |
| commit | 51e789a04f758941668b095fd8b051db2ce58281 (patch) | |
| tree | 2880f280e7f1006f7df12508e3b871c54442d304 /lib/python | |
| parent | 8e60bdc64c73787b8e7955a6a99ad5afe4a071ef (diff) | |
| parent | 26a9b45a2a0e746739b8fa2ef339dbd716257a0c (diff) | |
| download | enigma2-51e789a04f758941668b095fd8b051db2ce58281.tar.gz enigma2-51e789a04f758941668b095fd8b051db2ce58281.zip | |
Merge branch 'master' of fraxinas@git.opendreambox.org:/git/enigma2
Diffstat (limited to 'lib/python')
| -rw-r--r-- | lib/python/Components/EpgList.py | 29 | ||||
| -rw-r--r-- | lib/python/Components/Renderer/FrontpanelLed.py | 3 | ||||
| -rw-r--r-- | lib/python/Components/SystemInfo.py | 17 | ||||
| -rw-r--r-- | lib/python/Screens/SessionGlobals.py | 16 |
4 files changed, 47 insertions, 18 deletions
diff --git a/lib/python/Components/EpgList.py b/lib/python/Components/EpgList.py index fa60400f..59f92621 100644 --- a/lib/python/Components/EpgList.py +++ b/lib/python/Components/EpgList.py @@ -163,9 +163,17 @@ class EPGList(HTMLComponent, GUIComponent): return self.clock_post_pixmap else: return self.clock_prepost_pixmap + + def getPixmapForEntry(self, service, eventId, beginTime, duration): + rec=beginTime and (self.timer.isInTimer(eventId, beginTime, duration, service)) + if rec: + clock_pic = self.getClockPixmap(service, beginTime, duration, eventId) + else: + clock_pic = None + return (clock_pic, rec) def buildSingleEntry(self, service, eventId, beginTime, duration, EventName): - rec=beginTime and (self.timer.isInTimer(eventId, beginTime, duration, service)) + (clock_pic, rec) = self.getPixmapForEntry(service, eventId, beginTime, duration) r1=self.weekday_rect r2=self.datetime_rect r3=self.descr_rect @@ -176,7 +184,6 @@ class EPGList(HTMLComponent, GUIComponent): (eListboxPythonMultiContent.TYPE_TEXT, r2.left(), r2.top(), r2.width(), r1.height(), 0, RT_HALIGN_RIGHT, "%02d.%02d, %02d:%02d"%(t[2],t[1],t[3],t[4])) ] if rec: - clock_pic = self.getClockPixmap(service, beginTime, duration, eventId) res.extend(( (eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, r3.left(), r3.top(), 21, 21, clock_pic), (eListboxPythonMultiContent.TYPE_TEXT, r3.left() + 25, r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, EventName) @@ -186,7 +193,7 @@ class EPGList(HTMLComponent, GUIComponent): return res def buildSimilarEntry(self, service, eventId, beginTime, service_name, duration): - rec=beginTime and (self.timer.isInTimer(eventId, beginTime, duration, service)) + (clock_pic, rec) = self.getPixmapForEntry(service, eventId, beginTime, duration) r1=self.weekday_rect r2=self.datetime_rect r3=self.service_rect @@ -197,7 +204,6 @@ class EPGList(HTMLComponent, GUIComponent): (eListboxPythonMultiContent.TYPE_TEXT, r2.left(), r2.top(), r2.width(), r1.height(), 0, RT_HALIGN_RIGHT, "%02d.%02d, %02d:%02d"%(t[2],t[1],t[3],t[4])) ] if rec: - clock_pic = self.getClockPixmap(service, beginTime, duration, eventId) res.extend(( (eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, r3.left(), r3.top(), 21, 21, clock_pic), (eListboxPythonMultiContent.TYPE_TEXT, r3.left() + 25, r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, service_name) @@ -206,25 +212,24 @@ class EPGList(HTMLComponent, GUIComponent): res.append((eListboxPythonMultiContent.TYPE_TEXT, r3.left(), r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, service_name)) return res - def buildMultiEntry(self, changecount, service, eventId, begTime, duration, EventName, nowTime, service_name): - rec=begTime and (self.timer.isInTimer(eventId, begTime, duration, service)) + def buildMultiEntry(self, changecount, service, eventId, beginTime, duration, EventName, nowTime, service_name): + (clock_pic, rec) = self.getPixmapForEntry(service, eventId, beginTime, duration) r1=self.service_rect r2=self.progress_rect r3=self.descr_rect r4=self.start_end_rect res = [ None ] # no private data needed if rec: - clock_pic = self.getClockPixmap(service, begTime, duration, eventId) res.extend(( (eListboxPythonMultiContent.TYPE_TEXT, r1.left(), r1.top(), r1.width()-21, r1.height(), 0, RT_HALIGN_LEFT, service_name), (eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, r1.left()+r1.width()-16, r1.top(), 21, 21, clock_pic) )) else: res.append((eListboxPythonMultiContent.TYPE_TEXT, r1.left(), r1.top(), r1.width(), r1.height(), 0, RT_HALIGN_LEFT, service_name)) - if begTime is not None: - if nowTime < begTime: - begin = localtime(begTime) - end = localtime(begTime+duration) + if beginTime is not None: + if nowTime < beginTime: + begin = localtime(beginTime) + end = localtime(beginTime+duration) # print "begin", begin # print "end", end res.extend(( @@ -232,7 +237,7 @@ class EPGList(HTMLComponent, GUIComponent): (eListboxPythonMultiContent.TYPE_TEXT, r3.left(), r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, EventName) )) else: - percent = (nowTime - begTime) * 100 / duration + percent = (nowTime - beginTime) * 100 / duration res.extend(( (eListboxPythonMultiContent.TYPE_PROGRESS, r2.left(), r2.top(), r2.width(), r2.height(), percent), (eListboxPythonMultiContent.TYPE_TEXT, r3.left(), r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, EventName) diff --git a/lib/python/Components/Renderer/FrontpanelLed.py b/lib/python/Components/Renderer/FrontpanelLed.py index 3021a853..f896ecde 100644 --- a/lib/python/Components/Renderer/FrontpanelLed.py +++ b/lib/python/Components/Renderer/FrontpanelLed.py @@ -22,7 +22,8 @@ class FrontpanelLed(Element): pass if self.which == 0: try: - open("/proc/stb/fp/led_pattern", "w").write("%08x" % pattern_4bit) + open("/proc/stb/fp/led_set_pattern", "w").write("%08x" % pattern_4bit) + open("/proc/stb/fp/led_set_speed", "w").write("%d" % speed) except IOError: pass try: diff --git a/lib/python/Components/SystemInfo.py b/lib/python/Components/SystemInfo.py index d074c414..d2b405a2 100644 --- a/lib/python/Components/SystemInfo.py +++ b/lib/python/Components/SystemInfo.py @@ -1,10 +1,10 @@ from enigma import eDVBResourceManager +from Tools.Directories import fileExists SystemInfo = { } #FIXMEE... def getNumVideoDecoders(): - from Tools.Directories import fileExists idx = 0 while fileExists("/dev/dvb/adapter0/video%d"%(idx), 'f'): idx += 1 @@ -12,3 +12,18 @@ def getNumVideoDecoders(): SystemInfo["NumVideoDecoders"] = getNumVideoDecoders() SystemInfo["CanMeasureFrontendInputPower"] = eDVBResourceManager.getInstance().canMeasureFrontendInputPower() + + +def countFrontpanelLEDs(): + leds = 0 + if fileExists("/proc/stb/fp/led_set_pattern"): + leds += 1 + + while fileExists("/proc/stb/fp/led%d_pattern" % leds): + leds += 1 + + return leds + +SystemInfo["NumFrontpanelLEDs"] = countFrontpanelLEDs() +SystemInfo["FrontpanelDisplay"] = fileExists("/dev/dbox/oled0") or fileExists("/dev/dbox/lcd0") +SystemInfo["FrontpanelDisplayGrayscale"] = fileExists("/dev/dbox/oled0") diff --git a/lib/python/Screens/SessionGlobals.py b/lib/python/Screens/SessionGlobals.py index f2d56154..18d71d39 100644 --- a/lib/python/Screens/SessionGlobals.py +++ b/lib/python/Screens/SessionGlobals.py @@ -22,6 +22,9 @@ class SessionGlobals(Screen): self["TunerInfo"] = TunerInfo() self["RecordState"] = RecordState(session) self["Standby"] = Boolean(fixed = False) + + from Components.SystemInfo import SystemInfo + combine = Combine(func = lambda s: {(False, False): 0, (False, True): 1, (True, False): 2, (True, True): 3}[(s[0].boolean, s[1].boolean)]) combine.connect(self["Standby"]) combine.connect(self["RecordState"]) @@ -33,9 +36,14 @@ class SessionGlobals(Screen): # false true on off off # true true blnk off blnk - PATTERN_ON = (20, 0xffffffff, 0) - PATTERN_OFF = (20, 0, 0xffffffff) + PATTERN_ON = (20, 0xffffffff, 0xffffffff) + PATTERN_OFF = (20, 0, 0) PATTERN_BLINK = (20, 0x55555555, 0x84fc8c04) - FrontpanelLed(which = 0, boolean = False, patterns = [PATTERN_OFF, PATTERN_BLINK, PATTERN_ON, PATTERN_BLINK]).connect(combine) - FrontpanelLed(which = 1, boolean = False, patterns = [PATTERN_ON, PATTERN_ON, PATTERN_OFF, PATTERN_OFF]).connect(combine) + nr_leds = SystemInfo.get("NumFrontpanelLEDs", 0) + + if nr_leds == 1: + FrontpanelLed(which = 0, boolean = False, patterns = [PATTERN_OFF, PATTERN_BLINK, PATTERN_OFF, PATTERN_BLINK]).connect(combine) + elif nr_leds == 2: + FrontpanelLed(which = 0, boolean = False, patterns = [PATTERN_OFF, PATTERN_BLINK, PATTERN_ON, PATTERN_BLINK]).connect(combine) + FrontpanelLed(which = 1, boolean = False, patterns = [PATTERN_ON, PATTERN_ON, PATTERN_OFF, PATTERN_OFF]).connect(combine) |
