MustangRocks Posted March 4, 2009 Posted March 4, 2009 Hallo DVBViewer Gemeinde Da ich mir überlege, ein HTPC-Case mit 7" Touchscreen zuzulegen, ist das "problemchen" kein OSD auf zweitem Monitor mit Overlay zum grossen Problem geworden. Nach allem Lesen hier im Forum hatte leider keiner eine Lösung geschrieben, welche zu funktionieren scheint. Da mein zukünftiger 7" TS mit 1920x1080 zurecht kommt (interpoliert) habe ich das Glück, dass ich einfach den Clone-Mode brauchen kann, also habe ich selber alles mögliche getestet und eine interessante Erkenntnis gewonnen: 1. wenn man im CCC den Theather-Mode auf "Standard Dual" setzt und DVBVierwer startet, dann funktioniert der Overlay auf keinem der Monitore (ist ja belkannt) 2. wenn man im CCC den Theather-Mode auf "Full Screen" setzt und DVBVierwer startet, dann funktioniert der Overlay auf beiden Monitoren perfekt, aber wie bereits allen bekannt sein dürfte ohne OSD auf dem 2. Monitor (ist natürlich schlecht für einen Touchscreen). 3. und das ist doch interessant, wenn man nun während der DVBViewert läuft, den Theater-Mode auf "Standard Dual" zurücksetzt, dann wir das OSD auch auf dem 2. Monitor angezeigt. 4. wechselt man nun den Graphen (z.B. von SD auf HD umschalten) zeigt keiner der Monitore mehr ein Bild. Ist ja logisch, weil wir wieder im "standard Dual" mode sind (siehe 1.) also habe ich mir doch einfach im CCC zwei Profile angelegt, welche ich dann bei einem Wechsel zwischen ODS ein/aus jeweils wechsel. Da ich mit Girder arbeite, habe ich das im DVBViewer.vbs des Girder eingebaut und zwar im Sub main und im Sub WindowChange. Dort rufe ich dann jeweils eine vbs-datei auf, welche wiederum das CLI.EXE aufruft (siehe unten). Das ganze funktioniert gar nicht mal schlecht. Zwar flackert der 2. Monitor beim umschalten kurz und verliert leider auch das Seitenverhältnis des Videos, aber für den 7" TS wäre mir das doch egal. Werde aber dennoch versuchen, das Seitenverhältnis in den Griff zu kriegen. sub main set shell = wscript.createobject("wscript.shell") shell.CurrentDirectory = "C:\Programme\DVBViewer\Erweiterungen" shell.run "TheaterFull.vbs", 0 end sub sub WindowChange(Window) if OSD.isVisible then '--- dann schalten wir mal auf Standard, wenn das OSD kommt --- if propGetValue("#Girder.Reg24") = "0" then set shell = wscript.createobject("wscript.shell") shell.CurrentDirectory = "C:\Programme\DVBViewer\Erweiterungen" shell.run "TheaterDual.vbs", 0 end if Setvar "reg24", "1" propsetvalue "#Girder.Reg24", "1" else '--- dann schalten wir mal zurück, wenn das OSD weg geht --- if propGetValue("#Girder.Reg24") <> "0" then set shell = wscript.createobject("wscript.shell") shell.CurrentDirectory = "C:\Programme\DVBViewer\Erweiterungen" shell.run "TheaterFull.vbs", 0 end if Setvar "reg24", "0" propsetvalue "#Girder.Reg24", "0" end if end sub Inhalt TheaterFull.vbs: set shell = wscript.createobject("wscript.shell") RunTemp = "CLI.exe Start Load profilename=" & CHR(34) & "Theater (Full)" & CHR(34) shell.CurrentDirectory = "C:\Programme\ATI Technologies\ATI.ACE\Core-Static" shell.run RunTemp, 0 Inhalt TheaterDual.vbs: set shell = wscript.createobject("wscript.shell") RunTemp = "CLI.exe Start Load profilename=" & CHR(34) & "Theater (Dual)" & CHR(34) shell.CurrentDirectory = "C:\Programme\ATI Technologies\ATI.ACE\Core-Static" shell.run RunTemp, 0 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.