+ rates = { # list of rates for available mode
+ "PAL": { "50Hz" : {50: "pal"},
+ "60Hz" : {60: "pal60"},
+ "multi": {50: "pal", 60: "pal60"}
+ },
+ "NTSC": { "60Hz" : {60: "ntsc"} },
+ "Multi": { "multi": {50: "pal", 60: "ntsc"} },
+ "480i": { "60Hz" : {60: "480i"} },
+ "576i": { "50Hz" : {50: "576i"} },
+ "480p": { "60Hz" : {60: "480p"} },
+ "576p": { "50Hz" : {50: "576p"} },
+ "720p": {
+ "50Hz" : {50: "720p50"},
+ "60Hz" : {60: "720p"},
+ "multi": {50: "720p50", 60: "720p"}
+ },
+ "1080i": {
+ "50Hz" : {50: "1080i50"},
+ "60Hz" : {60: "1080i"},
+ "multi": {50: "1080i50", 60: "1080i"}
+ },
+ "1080p": {
+ "50Hz" : {50: "1080p50"},
+ "60Hz" : {60: "1080p"},
+ "multi": {50: "1080p50", 60: "1080p"}
+ },
+ "PC": {
+ "1024x768": {60: "1024x768"},
+ "800x600" : {60: "800x600"},
+ "720x480" : {60: "720x480"},
+ "720x576" : {60: "720x576"},
+ "1280x720": {60: "1280x720"},
+ "1280x720 multi": {50: "1280x720_50", 60: "1280x720"},
+ "1920x1080": {60: "1920x1080"},
+ "1920x1080 multi": {50: "1920x1080", 60: "1920x1080_50"},
+ "1280x1024": {60: "1280x1024"},
+ "1366x768": {60: "1366x768"},
+ "1366x768 multi": {50: "1366x768", 60: "1366x768_50"},
+ "1280x768": {60: "1280x768"},
+ "640x480" : {60: "640x480"}
+ }
+ }
+
+ widescreen_modes = set(["720p", "1080i", "1080p"])
+ hdmi_hw_types = set(["dm500", "dm800se", "dm7020hd", "duo", "solo", "uno", "ultimo", "solo2", "duo2"])
+ hdmi_pc_hw_types = set(["dm500", "dm800se", "dm7020hd", "duo", "solo", "uno", "ultimo", "solo2", "duo2"])
+
+ def getDeviceName(self):
+ device_name = "unknown"
+ try:
+ file = open("/proc/stb/info/vumodel", "r")
+ device_name = file.readline().strip()
+ file.close()
+ except IOError:
+ from Tools.HardwareInfo import HardwareInfo
+ device_name = HardwareInfo.get_device_name()