- def setWSS(self, value):
- if value == 0:
- writevalue = "off"
- elif value == 1:
- writevalue = "auto"
- elif value == 2:
- writevalue = "auto(4:3_off)"
- try:
- file = open("/proc/stb/denc/0/wss", "w")
- file.write(writevalue)
- file.close()
- except:
- print "[AVSwitch.py] Error writing to /proc/stb/denc/0/wss"
-
- def setInput(self, input):
- eAVSwitch.getInstance().setInput(self.INPUT[input])
- # FIXME why do we have to reset the colorformat? bug in avs-driver?
- eAVSwitch.getInstance().setColorFormat(config.av.colorformat.value)
+ def getAspectRatioSetting(self):
+ valstr = currentConfigSelectionElement(config.av.aspectratio)
+ if valstr == "4_3_letterbox":
+ val = 0
+ elif valstr == "4_3_panscan":
+ val = 1
+ elif valstr == "16_9":
+ val = 2
+ elif valstr == "16_9_always":
+ val = 3
+ elif valstr == "16_10_letterbox":
+ val = 4
+ elif valstr == "16_10_panscan":
+ val = 5
+ return val
+
+ def setAspectWSS(self, aspect=None):
+ if aspect is None:
+ aspect = self.getAspectRatioSetting()
+ if aspect == 0 or aspect == 1: # letterbox or panscan
+ value = 3 # 4:3_full_format
+ elif aspect == 2: # 16:9
+ if currentConfigSelectionElement(config.av.wss) == "off":
+ value = 2 # auto(4:3_off)
+ else:
+ value = 1 # auto
+ elif aspect == 3: # always 16:9
+ value = 4 # 16:9_full_format
+ elif aspect == 4 or aspect == 5: # 16:10
+ value = 10 # 14:9_full_format
+ eAVSwitch.getInstance().setWSS(value)
+
+ def setAspectSlowBlank(self, aspect=None):
+ if aspect is None:
+ aspect = self.getAspectRatioSetting()
+ if aspect == 0 or aspect == 1: # letterbox or panscan
+ value = 2 # 12 V
+ elif aspect == 2: # 16:9
+ value = 4 # auto
+ elif aspect == 3 or aspect == 4 or aspect == 5: # always 16:9
+ value = 1 # 6V
+ eAVSwitch.getInstance().setSlowblank(value)