Jump to content

OSD im Clone-Modus mit Overlay-Mixer (ATI) - Workaround gefunden


MustangRocks

Recommended Posts

Posted

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...