Jump to content

OSD-Skineditor für DVBViewer 3.0


Guest Lars_MQ

Recommended Posts

Guest Lars_MQ

Neu in der Beta Sektion des Membersbereich.

OSD Skineditor 1.9.8 BETA für DVBViewer 3.0

 

Installation:

-------------

Einfach entpacken, keine weiteren Installationsschritte notwendig.

 

Benutzung

---------

Auf eigene Gefahr o:)

Das Ganze ist im Gegensatz zum Skineditor des newOSD projektbasierend.

Zum Probieren kopiert Euch einfach das OSDSkin defaultverzeichniss in ein Testverzeichniss und öffnet es dort mit dem OSD-Editor. Unter dem Menüpunkt Seiten findet Ihr dann alle verfügbaren Seiten.

Eine Vorschau gibt es nicht mehr.

 

Ich weise nochmal ausdrücklich auf das Betastadium hin.

Das ist das erste Tool für das OSD 3.0, ein zweites Tool um Menüs anzupassen und eigene Menüpunkte zu erstellen, folgt in der nächsten Zeit.

 

Viel Spass

 

lars

Link to comment
  • 2 weeks later...
Guest Lars_MQ

Hier schonmal ein kleiner Ausblick auf den OSD-Menü Editor.

Was er kann:

- Seiten umsortieren und aktivieren/deaktivieren

- eigene Home Windows anlegen in beliebiger Verschachtelung.

- "Hyperlinks" - OSD-Menüpunkte, die auf andere Seiten im OSD aufrufen.

- Funktionen aus dem DVBViewer auf OSD-Menüpunkte legen (Fullscreen, rebuild graph, disableAV usw.)

- OSD-Menüpunkte definieren, die externe Programme mit Parameter aufrufen.

 

lars

post-5310-1110304921_thumb.png

Link to comment
  • 4 weeks later...

unbedingt haben will!

 

Dann könnte man Mame implementieren und evtl. die Frage ob der Datenträger wiedergegeben werden soll, erweitern, ob man lieber ein backup auf der Platte hätte *g*

Link to comment
Guest Lars_MQ

Also mit mame hab ich schon experimentiert, aber irgendwie hab ich es nicht hingekriegt das (standalone) sauber laufen zu lassen, da fehlte mir der nerv für ;) Da hab ichs erstmal aufgegeben...

 

lars

Link to comment
  • 5 months later...
Neu in der Beta Sektion des Membersbereich.
OSD Skineditor 1.9.8 BETA für DVBViewer 3.0

Hallo Lars,

 

da konnte ich den Editor leider nicht finden? Wurde er wieder entfernt? Schade, nur auf der Basis der XML-Dateien den OSD-Skin zu verändern raubt mir mittlerweile den letzten Nerv.

Irgendwie blicke ich da nicht ganz die Zusammenhänge. Klar, ein Fenster an eine andere Position zu bringen oder die Ausdehnungen der Timer-Liste zu verändern ist eine Sache, die man damit noch hinbekommt. PNG-Dateien zu ersetzen geht ja auch noch. Aber sobald es daran geht, zusätzliche Infos darzustellen, ein anderes Layout zu verwenden etc. verbiege ich mir´s Gerhin :)

 

Gibt es eigentlich eine Möglichkeit, das OSD so einzustellen, dass es nach einer gewissen Zeit nicht wieder verschwindet? In Verbindung mit Musik oder Radio wäre ein OSD mit lfd. Anzeige der ID3-Tags, der Laufzeit etc. bzw. aus dem Radiotext sicherlich eine nette Sache.

Link to comment

Das letzte mal habe ich den skineditor auf www.DVBViewer.com downloads gesehen :)

 

Gibt es eigentlich eine Möglichkeit, das OSD so einzustellen, dass es nach einer gewissen Zeit nicht wieder verschwindet?

schau mal in die windowdef.xml dort den punkt

<allowtimeout>false</allowtimeout>

bei den gewünschten fenstern einsetzen. Vorher die windowsdef sichern, xml ist recht zickig, wenn man die tags nicht sauber schliesst :(

 

In Verbindung mit Musik oder Radio wäre ein OSD mit lfd. Anzeige der ID3-Tags, der Laufzeit etc. bzw. aus dem Radiotext sicherlich eine nette Sache.

Dazu kann man die Datatags in Labeltext benutzen. Schau mal in die miniepg oder duration.xml dort sind schon einige angegeben. Radiotext wäre der tag

#Radio.text

andere tags wären:

#Media.title
#Media.file
#Media.duration
#Media.tracknumber

Dort könnte sicherlich noch einiges ergänzt werden...

Link to comment
Das letzte mal habe ich den skineditor auf www.DVBViewer.com downloads gesehen :(

Autsch! :) Das hat gesessen... Aber sorry, ich hatte nur im Memberbereich nachgesehen.

 

Danke für die o.g. Tipps. Ich werde sie am Wochenende einmal ausprobieren... Vielleicht schaffe ich es ja irgendwann mal, ein komplett neues Skinlayout hinzubekommen, obwohl ich schon anerkennen muss, dass das, was schon "default" ist, wirklich brauchbar ist. Mir geht es in erster Linie darum, das Layout für einen 16:9 Fernserher zu optimieren und dabei dann natürlich ein paar Features zu ändern, die ich bei anderen OSDs ganz nett fand. Das Rad wird dabei also sicherlich nicht neu erfunden ...

Link to comment
andere tags wären:

#Media.title
#Media.file
#Media.duration
#Media.tracknumber

Dort könnte sicherlich noch einiges ergänzt werden...

 

Ist es möglich, es bis zur nächsten Version des DVBViewers so einzurichten, dass Du einmal eine Liste aller Tags zur Verfügung stellst und dabei im Code darauf achtest, dass bei einer Medienwiedergabe, die TV-Tags gelöscht werden (und natürlich die Media-Tags bei TV-Wiedergabe löschen).

 

Mich würden außer den o.g. noch folgende Tags interessieren:

Media.currentplaytime

Media.album

Media.interpret

Media.percentage

 

Außerdem wäre ein Aufsummierung der Gesamtzeit einer Playlist bzw. eines Verzeichnisses ganz nett.

 

Gibt es eine Möglichkeit, im OSD Funktionen aus dem COM-Interface zu nutzen?

Edited by Frosch
Link to comment
Gibt es eine Möglichkeit, im OSD Funktionen aus dem COM-Interface zu nutzen?

wie meinst du das genau, bzw was willst du erreichen? Es gibt ein paar Möglichkeiten Scripte aufzurufen, aber das COM Object selber kann man nicht in der Skin ansprechen. Einige funktionen sind auch direkt aus der Skin aufrufbar.

Link to comment
Gibt es eine Möglichkeit, im OSD Funktionen aus dem COM-Interface zu nutzen?

wie meinst du das genau, bzw was willst du erreichen? Es gibt ein paar Möglichkeiten Scripte aufzurufen, aber das COM Object selber kann man nicht in der Skin ansprechen.

Nun, ich würde beispielsweise gerne je nachdem, ob gerade ein Media-File läuft, pausiert, im Vorlauf ist etc. unterschiedliche Bilder (Pfeil links, rechts, etc .) anzeigen können oder auf einer entsprechenden Statusbar die gedrückte Taste hervorheben. Dazu müsste man aber die Stati des DVBViewers abfragen können und im Skin abhängig vom Wert dieser Felder unterschiedliche Anzeigen ermöglichen.

Einige Funktionen sind auch direkt aus der Skin aufrufbar.

Welche wären das?

 

Wie komme ich eigentlich an eine Liste der z.Zt. laufenden Aufnahmen?

Link to comment

OK, ich bin jetzt soweit, dass ich herausgefunden habe, dass ich die Funktionen, die in der actions.ini stehen, für über die ActionID der Buttons nutzen kann. Auf diese Weise kann man sich die Funtionen, die hinter den vier farbigen Tasten der Fernbedienung liegen, auch visuell auf das OSD legen (ich kann mir nie merken, wie die Tasten in den jeweiligen Screens belegt sind).

 

Toll finde ich auch, dass Variablen wie #Media.titel im OSD regelmäßig aktualisiert werden. Jetzt fehlt mir halt nur noch eine Liste mit datatags, die wie #Media.titel regelmäßig aktualisiert werden und welche nicht.

 

#EPG.description wird beispielsweise nur dann aktualisiert, wenn ich vorher das Mini-EPG-Fenster aufgerufen habe. Wenn ich zwischenzeitlich über das Channels-Fenster EPG-Daten angezeigt bekommen habe, steht da sogar der Inhalt der letzten Anzeige drin. #channellogo hat auch immer den Wert des zuletzt eingestellen Senders. Läuft aber in der Zwischenzeit eine MP3- oder MPEG-Datei, ist das Logo immer noch gefüllt.

 

Cool wäre natürlich, wenn das #Media-Array als einziges alle Informationen zum zur Zeit dargestellten Mediums bereitstellen würde. Vorschlag:

#Media.channel.nr 'Kanalnummer

#Media.channel.name 'Bezeichnung des Kanals

#Media.channel.epg 'sämtliche Infos aus IEPGItem zum aktuellen Kanal z.B. #Media.channel.epg.event

#Media.music 'sämtliche Infos aus IMusicTag z.B. #Media.music.album

#Media.titel 'Dateiname hinter dem letzten slash und vor dem letzten Punkt bei Wiedergabe einer Datei ohne ID3-Tag (also Bilder und Video-Dateien)

#Media.filename 'Kompletter Dateiname

 

Bei Video-Dateien wäre es natürlich toll, wenn die Informationen, die in der txt-Datei stehen, die bei der Aufnahme erzeugt wird, als zusätzliche datatags wie Description, Dateidatum etc. zur Verfügung stehen würden.

 

Und wenn dann auch noch das #selectedItem die Bezeichnung des Buttons, der gerade selektiert ist und #selectedListItem das in der Liste zuletzt ausgewählte Element gefüllt wäre, könnte ich meinen XCube über kurz oder lang sicherlich ohne eingeschalteteten Fernseher bedienen :D

(An dieser Stelle ein Hinweis an e-schrott: Dein Skript funktioniert bei mir noch nicht, aber das liegt wohl daran, das das Girder-Serial-Plugin den seriellen Port dicht macht. Sobald ich da mal eine Lösung habe, poste ich sie mal...)

 

Ich weiß, das ist eine Menge Zeug und sicherlich steht noch nicht alles davon zur Verfügung. Aber programm-intern wird ja alles davon bereits schon verwendet und es müsste nur an den ensprechenden Stellen daran gedacht werden, diese Infos auch regelmäßig zu aktualisieren bzw. zu löschen (wenn nicht mehr verwendet). Aber daran kann man ja arbeiten, oder? :blush:

Link to comment
Guest Lars_MQ
Aber daran kann man ja arbeiten, oder?

Klar, wobei ich einige sachen mit absicht halte (channellogo zum beispiel), aber ne menge sachen sind einfach, bedingt durch die komplexität des ganzen, einfach vergessen worden, beim zurücksetzen.

 

Ich werde Dein post mal schritt für schritt durchgehen und dann mal schauen, was wo zur verfügung steht. Aber ich werde mein namensschema der datatags nicht ändern, da komme ich in teufels küche. :D

Link to comment
Klar, wobei ich einige sachen mit absicht halte (channellogo zum beispiel), aber ne menge sachen sind einfach, bedingt durch die komplexität des ganzen, einfach vergessen worden, beim zurücksetzen.

Wozu hälst Du das channellogo, wenn kein Kanal mehr eingestellt ist (oder zumindest nicht wiedergegeben wird - z.B. beim Abspielen von MP3s oder MPEGs)?

 

So ein Fernseher hat nun mal naturgemäß einen eingeschränkenten Display-Platz zur Verfügung. Da liegt es ja nahe, Cover und Senderlogo, #Media.Album und #channelname, #Media.titel und #EPG.Event übereinanderzulegen. Diese Daten schließen sich normalerweise aus. Aber momentan kann ich das nicht realisieren. Es sei denn, es gibt eine Möglichkeit, selbst über ein Skript gewisse datatags zu belegen :blush:

 

Ich werde Dein post mal schritt für schritt durchgehen und dann mal schauen, was wo zur verfügung steht. Aber ich werde mein namensschema der datatags nicht ändern, da komme ich in teufels küche. :D

Nein, das war ja auch nur ein Vorschlag. Mir ist es gleich, ob eine Bezeichnung xyz oder z.x.y heißt. Hauptsache, man kann den Daten trauen, die da drinstehen ;)

Link to comment
Guest Lars_MQ
Es sei denn, es gibt eine Möglichkeit, selbst über ein Skript gewisse datatags zu belegen

WAAAHHH. propsetValue, propsetValue propsetValue propsetValue propsetValue propsetValue propsetValue propsetValue propsetValue propsetValue propsetValue propsetValue menno ;) Nimm die sch*** funktion endlich dafür :D

 

Damit kannst du bestehende überschreiben (auf eigene Verantwortung, das system nimmt keine rücksicht auf deine daten in systemeigenen tags) und neue erstellen :blush:

Link to comment
Es sei denn, es gibt eine Möglichkeit, selbst über ein Skript gewisse datatags zu belegen

WAAAHHH. propsetValue, propsetValue propsetValue propsetValue propsetValue propsetValue propsetValue propsetValue propsetValue propsetValue propsetValue propsetValue menno (w00t) Nimm die sch*** funktion endlich dafür :blush:

Autsch! :D Nagut, nagut, nagut, nagut, nagut, nagut, nagut, nagut, nagut, nagut, nagut, nagut, dann werde ich #channellogo etc. mal überschreiben :D und sehen, was passiert ;) ...

Link to comment
Aber daran kann man ja arbeiten, oder?

Klar, wobei ich einige sachen mit absicht halte (channellogo zum beispiel)

Ich bin beim Bearbeiten der Playlist-Seite und habe festgesetllt, dass #coverart Probleme macht, wenn es in der XML-Datei vor der Listbox steht. Packe ich es hinter die Listbox (also in der Reihenfolge der Items, nicht auf dem Screen), wird die Seite zwar weitestgehend angezeigt, jedoch fehlt dann die enstprechende Anzeige oder es wird ein Cover aus der Playlist angezeigt.

Könnest Du das bitte einmal verifizieren?

Link to comment
  • 8 months later...

Gibt es denn irgentwo eine Liste mit allen (oder zumindest sehr vielen) Tags fürs OSD. Ich würde z.B. gern ein OSD-Fenster machen mit der auflistung von ein paar Sendern und wenn ich auf einen klicke, soll das EPG erscheinen (also untereinander aufgelistet was an den Tag noch komm, um wie viel uhr)

Link to comment

Hm schade, muss ichs also dann doch weiter über die Channel-liste machen.

Aber trotzdem zu meiner ersten Frage, so ne Liste wo ich so Tag's und ne auflistung aller OSD-Fenster finde, gibt es wohl nicht oder?

Link to comment

Hallo,

 

ich versuche immer noch die Logik hinter den OSD Skins zu verstehen. :bye:

 

Was mir überhaupt nicht klar ist, ist die Verbindung zwischen OSD Menu, windowdef.xml und den OSD-Skin-Dateien.

 

Nehmen wir als Beispiel mal das OSD-Windows "Channel Window".

 

Der Eintrag im OSD Menu-Editor (unter Optionen) ist: Channel Window

Die zugehörige Windows-ID in der windowdef.xml ist: 1

Die zugehörige Skin-Datei ist: mychannel.xml

 

Wie hängt das zusammen ? Ich hätte erwartet, dass es irgendwelche eindeutigen IDs oder Namen gibt, die ich an verschiedenen Stellen wiederfinde, über die dann der Zusammenhang hergestellt wird. Aber die Datei nychannel.xml enthält keine ID. :bye:

Stimmt meine Vermutung, dass in diesem Fall der Name "Channel Windows", die zugehörige ID und der Name der Skin-Datei in irgendeiner internen Liste hardcoded sind ?

 

Wo ist diese Liste dokumentiert ? Ist die Liste statisch ? Kann man keine eigenen zusätzlichen Seiten definieren ?

 

Und wo sind die Grundlagen zu den OSD Skins dokumentiert ? Ich meine beispielsweise so grundlegende Sachen, dass die Skin-Infos in der Datei index.xml hinterlegt werden.

 

EDIT: Inzwischen habe ich noch eine Stelle gefunden, wo auf OSD Seiten bzw. Menüs referenziert wird. In dem Menu-Objekt gibt es ein Eigenschaft JumpTo, die sich in der XML-Datei als "hyperlink" wiederfindet.

Was für eine Nummer wird da wieder benutzt. Das scheint jedenfalls nicht die WindowID zu sein.

 

Kann mich hier jemand aufklären !? :bounce:

 

Gruß, dgdg

Edited by dgdg
Link to comment

die bezeichner sind im Viewer bzw. in deren Plugins fest verankert. Nimm doch einen bestehenden Skin und ändere diesen entsprechend deinen Anforderungen um. Der Skineditor ersetzt auch das Notepad nicht, soll heißen bestimmtes Feintuning muss im Texteditor betrieben werden.

Link to comment

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...