Rag3 Posted June 1, 2006 Share Posted June 1, 2006 (edited) Hi ich hab nun nedlich verstanden, wie das mit der WindowID und dem Girderplugin funktioniert. Leider musste ich feststellen, dass die Variable des ersten Registers teilweise die falsch ID bekommt. Die ID wird über folgendes Script aus der DVBViewer.vbs im Girder Pluginverzeichnis übergeben: sub WindowChange(Window) aid = Window if not OSD.isVisible then aid = "-1" else if WindowManager.IsOverlay then aid = "-" & WindowManager.OverlayWindowID end if end if if aid = 2901 then 'Duration.xml ist kein OSD ;-) aid = -1 end if Setvar "reg1", aid sendevent "WindowChange" end sub Ich hab die Beispieldatei, die beim PLugin dabei war übernommen. Wenn ich nun im normalen Betrieb kein OSD offen habe, ist der Wert bei -1, korrekt so weit. Wenn ich jetzt das Menu aufrufe, ist es bei 0, das stimmt auch noch. Wenn ich jetzt aber HTPC auswähle, steht das register wieder auf -1. Wenn ich allerdings in ein untermenu (z.b. musik) gehe und dann wieder ins htpc-home-fenster zurückgehe, steht der wert auf 1000, wo er auch vorher schon stehen sollte. Ähnliches geschieht, wenn ich über eine direkte Taste (Farbe oder Hotkey) ein Menu wie Sender oder Musik aufrufe Dann ändert sich das Register auch nicht, es bleibt bei -1. Navigiere ich dann über das Menu dort hin, steht das Register auf dem richtigen wert. Ich bin für jede Hilfe dankbar. Außerdem würden mich weitere Ereignisse/Variablen vom DVBViewer interessieren, die ich in die DVBViewer.vbs für das girderplugin reinmachen kann. Gibt es da irgendwie eine Liste oder jemanden, der eine gut bestückte Datei hat und diese zur verfügung stellen will? Danke! Rag3 Edited June 1, 2006 by Rag3 Quote Link to comment
Guest Lars_MQ Posted June 1, 2006 Share Posted June 1, 2006 Ich weiss jetzt nicht warum es nicht hinhaut, aber du kannst mit WindowManager.ActiveWindowID die aktive windowID ja abfragen. damit bekommst du mit dem event den wechsel und mit der abfrage die ID, damit du erstmal weiterkommst. Ich untersuche in der zwischenzeit mal, warum er die WindowID nicht mehr richtig sendet... Quote Link to comment
Rag3 Posted June 1, 2006 Author Share Posted June 1, 2006 (edited) Vielen Dank, habs hinbekommen und kann jetzt alles so machen, wie ich es will. Falls jemand das gleiche Problem hat, hier mal das angepasste Script: sub WindowChange(Window) aid = Window if not OSD.isVisible then aid = "-1" else aid = DVBViewer.WindowManager.ActiveWindowID end if if aid = 2901 then 'Duration.xml ist kein OSD ;-) aid = -1 end if Setvar "reg1", aid sendevent "WindowChange" end sub Edited June 1, 2006 by Rag3 Quote Link to comment
rriem Posted June 2, 2006 Share Posted June 2, 2006 Hallo, hatte einen ähnlichen Fehler unter: http://www.DVBViewer.com/forum/index.php?showtopic=12790 bereits gemeldet. Wenn ich direkt die OSD-Untermenüs (z.B. meineMusik usw.) per Taste aufrufe, kommt nach der WindowsID sofort wieder ein Event mit -1, also kein OSD, obwohl es ja noch auf dem Screen sichtbar ist. Habe in Girder eine Abrage eingebaut, d.h. wenn eine Fenster-ID gemeldetet wird und dann innerhalb von 200 ms wieder eine -1 (kein OSD) kommt, dann verwerfe ich das zweite Event. Ich werde mal das geänderte Script ausprobieren. Gruß rriem Quote Link to comment
Guest Lars_MQ Posted June 2, 2006 Share Posted June 2, 2006 Ich habe das Problem gefunden und beseitigt. Liegt im DVBViewer, die internen events für die osdwindows konnten sich untereinander nicht über ihre reihenfolge einigen Quote Link to comment
Rag3 Posted June 2, 2006 Author Share Posted June 2, 2006 (edited) Und da war die -1 wohl immer am stärksten Ich hab da noch was: sub Playbackend SetVar "reg2", 1 sendevent "Playbackend" end sub sub PlaybackStart SetVar "reg2", 2 sendevent "PlaybackStart" end sub Bei mir steht im Register immer die 2, unabhängig davon, ob ich eine Datei abspiele, auf Pause gedrückt hab, oder im TV bin. (Wenn ich stop drücke, beginnt er ja wieder mit tv...) Liegt das an mir, oder ist das auch eine kleine unstimmigkeit zwischen diversen ereignissen? Edited June 2, 2006 by Rag3 Quote Link to comment
rriem Posted June 2, 2006 Share Posted June 2, 2006 Hallo rag3, da bin ich auch gerade drauf gestossen, weil ich meine FB über Girder kontextsensitiv steuern möchte. Quote Link to comment
Guest Lars_MQ Posted June 2, 2006 Share Posted June 2, 2006 Bei mir steht im Register immer die 2, unabhängig davon, ob ich eine Datei abspiele, auf Pause gedrückt hab, oder im TV bin. (Wenn ich stop drücke, beginnt er ja wieder mit tv...) Liegt das an mir, oder ist das auch eine kleine unstimmigkeit zwischen diversen ereignissen? Nein sicher nicht. Playbackend wird aufgerufen wenn ein Mediaplayback beendet wird. Playbackstart wird aufgerufen beim öffnen einer media datei. Quote Link to comment
Rag3 Posted June 2, 2006 Author Share Posted June 2, 2006 (edited) Merkwürdig, jetzt geht es auch bei mir!? Ich schwöre, dass gestern immer 2 da stand, unabhängig davon, was ich gerade gemacht hab...Naja girder hat gestern eh n bissel rumgespackt, evtl lags ja daran... Edit: Zu früh gefreut! Ich hatte grad wieder TV am Laufen und Im register 2 den Wert 2. Hab mal nen Screenshot angehängt. Das Videofenster ist wphl wegen Overlay schwarz, ich hatte beim schauen bild... Edited June 2, 2006 by Rag3 Quote Link to comment
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.