add DVI-PC mode for PC monitors (defaults to 640x480 which every pc
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Mon, 12 May 2008 23:42:28 +0000 (23:42 +0000)
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>
Mon, 12 May 2008 23:42:28 +0000 (23:42 +0000)
monitor should support)

lib/python/Plugins/SystemPlugins/Videomode/VideoHardware.py
lib/python/Plugins/SystemPlugins/Videomode/VideoWizard.py

index 87529af..43543bb 100644 (file)
@@ -46,12 +46,13 @@ class VideoHardware:
                "1366x768" : { 60: "1366x768"},
                "1366x768 multi" : { 50: "1366x768", 60: "1366x768_50"},
                "1280x768": { 60: "1280x768"},
-               "640x480" : { 60: "640x480"} 
+               "640x480" : { 60: "640x480"}
        }
 
        modes["Scart"] = ["PAL", "NTSC", "Multi"]
        modes["YPbPr"] = ["720p", "1080i"]
        modes["DVI"] = ["720p", "1080i", "PC"]
+       modes["DVI-PC"] = ["PC"]
 
        widescreen_modes = set(["720p", "1080i"])
 
index f46b11c..4043f60 100644 (file)
@@ -103,7 +103,9 @@ class VideoWizard(WizardLanguage):
                print "inputSelect:", port
                modeList = self.hw.getModeList(self.selection)
                print "modeList:", modeList
-               self.hw.setMode(port = port, mode = modeList[0][0], rate = modeList[0][1][0])
+               self.port = port
+               ratesList = self.listRates(modeList[0][0])
+               self.hw.setMode(port = port, mode = modeList[0][0], rate = ratesList[0][0])
                
        def listModes(self):
                list = []
@@ -137,6 +139,11 @@ class VideoWizard(WizardLanguage):
                        print mode
                        if mode[0] == querymode:
                                for rate in mode[1]:
+                                       if self.port == "DVI-PC":
+                                               print "rate:", rate
+                                               if rate == "640x480":
+                                                       list.insert(0, (rate, rate))
+                                                       continue
                                        list.append((rate, rate))
                return list
        
@@ -164,9 +171,9 @@ class VideoWizard(WizardLanguage):
        def keyNumberGlobal(self, number):
                if number in [1,2,3]:
                        if number == 1:
-                               self.hw.saveMode("DVI", "720p", "multi")
+                               self.hw.saveMode("DVI-TV", "720p", "multi")
                        elif number == 2:
-                               self.hw.saveMode("DVI", "1080i", "multi")
+                               self.hw.saveMode("DVI-TV", "1080i", "multi")
                        elif number == 3:
                                self.hw.saveMode("Scart", "Multi", "multi")
                        self.hw.setConfiguredMode()