Channelchange.vbs
Aus DVBViewer
Das 'channelchange.vbs' Script gehört zu den DVBViewer VBScripte.
Es wird bei jedem Senderwechsel/Umschalten aufgerufen.
Nach Installation des DVBViewers existiert im Unterordner 'Scripte' bereits eine 'channelchange.vbs', in der sich das 'Grundgerüst' dieser Datei befindet:
sub main(aID) end sub
[Bearbeiten] Anwendungsbeispiele
[Bearbeiten] Test der Scriptengine
Grundsätzlich sollte vor größeren Änderungen/Programmierungen die Funktion der 'Scriptengine' getestet werden.
Das channelchange.vbs Script wird mit den folgenden Zeilen getestet:
sub main(aID) osd.showInfoinTVpic "Test",5000 end sub
Mit diesem 'Dreizeiler' erscheint bei jedem Umschalten im TV-Fenster der Text Test für genau 5 Sekunden. Erscheint der Text nicht, oder es wird sogar eine Fehlermeldung ausgegeben, dann bitte die Einstellungen für die Scriptverarbeitung überprüfen.
Ist der Test positiv verlaufen, steht einer Programmierung nichts mehr im Wege.
[Bearbeiten] Anzeigen der Favoritennummern
Achtung: der DVBViewer bietet inzwischen selber eine Funktion die Anzeiger auf Favorietennummern umzustellen Tweaks.txt > UseFav. Der Code hier ist also nur noch als Beispiel interessant.
Ein immer wieder nachgefragtes Feature des DVBViewers ist die Anzeige der Favoritennummern anstelle der Kanalnummern im OSD. Von sich aus kann er es nicht, aber mit Hilfe des 'channelchange.vbs' läßt er sich zumindest dazu überreden.
Folgender Code ist für diese Funktion nötig:
Option Explicit Dim i, favCollection, favItem '-------------------------------------------------------- sub main(aID) propsetvalue "#channelfavnr", -1 Set favCollection = FavoritesManager.GetFavorites i = 0 Do While (i < favCollection.count) Set favItem = favCollection.item(i) If aID = ChannelManager.getNr(favItem.channelID) Then propsetvalue "#channelfavnr", i End If i = i + 1 loop end sub
Dieses Script macht vereinfacht ausgedrückt folgendes:
- Schaue nach ob Favoriten vorhanden sind, dann
- Schaue nach, welcher Favorit angezeigt werden soll und
- Setze dann in die Variable #channelfavnr die Positionsnummer dieses Favoriten ein
Dem aufmerksamen Leser und Tester wird bei Ausführung dieses Scriptes auffallen, dass der DVBViewer völlig unbeeindruckt von diesem Aufwand weiterhin die Kanalnummern anzeigt. Um dies zu ändern muss noch die Datei 'myMiniEPG' im OSDSkin-Ordner geändert werden, und zwar genau an dieser Stelle:
<item> <description>ChannelName Label</description> <type>Label</type> <id>1</id> <disabledcolor>60FFFFFF</disabledcolor> <x>84</x> <y>326</y> <width>365</width> <height>51</height> <label>#channelnr - #channelname</label> <font>font18b</font> </item>
Der Eintrag #channelnr muss in #channelfavnr geändert werden. Speichern nicht vergessen - und ein weiteres Stückchen Komfort ist in den DVBViewer eingezogen.