from Components.config import config, ConfigSelection, ConfigSubDict, ConfigYesNo
from Tools.CList import CList
+from Tools.HardwareInfo import HardwareInfo
# The "VideoHardware" is the interface to /proc/stb/video.
# It generates hotplug events, and gives you the list of
else:
mode = config.av.videomode[port].value
force_widescreen = self.isWidescreenMode(port, mode)
- is_widescreen = force_widescreen or config.av.aspect.value in ["16_9", "16_10"]
+ is_widescreen = force_widescreen or config.av.aspect.value in ("16_9", "16_10")
is_auto = config.av.aspect.value == "auto"
if is_widescreen:
if force_widescreen:
def __init__(self):
self.last_modes_preferred = [ ]
self.on_hotplug = CList()
- self.standby = False
self.current_mode = None
self.current_port = None
self.readAvailableModes()
+ if self.modes.has_key("DVI-PC") and not self.getModeList("DVI-PC"):
+ print "remove DVI-PC because of not existing modes"
+ del self.modes["DVI-PC"]
+
self.createConfig()
# self.on_hotplug.append(self.createConfig)
config.av.aspectratio.notifiers = [ ]
config.av.tvsystem.notifiers = [ ]
config.av.wss.notifiers = [ ]
- AVSwitch.setInput = self.AVSwitchSetInput
AVSwitch.getOutputAspect = self.getOutputAspect
config.av.aspect.addNotifier(self.updateAspect)
# self.timer.callback.append(self.readPreferredModes)
# self.timer.start(1000)
- config.av.colorformat.addNotifier(self.updateFastblank)
-
- def AVSwitchSetInput(self, mode):
- self.standby = mode == "SCART"
- self.updateStandby()
-
def readAvailableModes(self):
try:
modes = open("/proc/stb/video/videomode_choices").read()[:-1]
return res
def createConfig(self, *args):
- # create list of output ports
- portlist = self.getPortList()
+ hw_type = HardwareInfo().get_device_name()
+ lst = []
- # create list of available modes
- config.av.videoport = ConfigSelection(choices = [(port, _(port)) for port in portlist])
config.av.videomode = ConfigSubDict()
config.av.videorate = ConfigSubDict()
+ # create list of output ports
+ portlist = self.getPortList()
for port in portlist:
+ descr = port
+ if descr == 'DVI' and hw_type == 'dm500hd':
+ descr = 'HDMI'
+ lst.append((port, descr))
+
+ # create list of available modes
modes = self.getModeList(port)
if len(modes):
config.av.videomode[port] = ConfigSelection(choices = [mode for (mode, rates) in modes])
for (mode, rates) in modes:
config.av.videorate[mode] = ConfigSelection(choices = rates)
+ config.av.videoport = ConfigSelection(choices = lst)
def setConfiguredMode(self):
port = config.av.videoport.value
force_widescreen = self.isWidescreenMode(port, mode)
- is_widescreen = force_widescreen or config.av.aspect.value in ["16_9", "16_10"]
+ is_widescreen = force_widescreen or config.av.aspect.value in ("16_9", "16_10")
is_auto = config.av.aspect.value == "auto"
policy2 = "policy" # use main policy
open("/proc/stb/video/policy2", "w").write(policy2)
except IOError:
pass
- self.updateSlowblank()
- self.updateFastblank()
-
- def updateSlowblank(self):
- if self.standby:
- from Components.SystemInfo import SystemInfo
- if SystemInfo["ScartSwitch"]:
- input = "scart"
- sb = "vcr"
- else:
- input = "off"
- sb = "0"
- else:
- input = "encoder"
- sb = "auto"
-
- open("/proc/stb/avs/0/sb", "w").write(sb)
- open("/proc/stb/avs/0/input", "w").write(input)
-
- def updateStandby(self):
- self.updateSlowblank()
- self.updateFastblank()
-
- def updateFastblank(self, *args):
- if self.standby:
- from Components.SystemInfo import SystemInfo
- if SystemInfo["ScartSwitch"]:
- fb = "vcr"
- else:
- fb = "low"
- else:
- if self.current_port == "Scart" and config.av.colorformat.value == "rgb":
- fb = "high"
- else:
- fb = "low"
- open("/proc/stb/avs/0/fb", "w").write(fb)
config.av.edid_override = ConfigYesNo(default = False)
video_hw = VideoHardware()