DVDPlayer im Skin erstellen
An diesem Artikel wird derzeit gearbeitet. Achtung: Der Artikel kann unvollständig und fehlerhaft sein! |
Beim Screen name="DVDPlayer" handelt sich hierbei um die Infobar für den DVD-Player.
Inhaltsverzeichnis
- 1 DVDPlayer Infobar im Skin des OE 2.0
- 2 Background
- 3 Blinking pixmap (recording in progress?)
- 4 Time
- 5 Date
- 6 Audio icon (is there multichannel audio?)
- 7 Teletext icon (is teletext available?)
- 8 colorbuttons
- 9 Media icon
- 10 Progressbar (movie position)
- 11 Service name
- 12 Elapsed time
- 13 Remaining time
- 14 movie length
- 15 Chapter Label
- 16 Audio Label
- 17 Subtitle Label
- 18 Angle Pix & Label
DVDPlayer Infobar im Skin des OE 2.0
Wie beim jedem Fenster selbst beginnt der Screen 'name="DVDPlayer" mittels :
<!-- DVD Player --> <screen name="DVDPlayer" position="75,530" size="1140,150" title="InfoBar" flags="wfNoBorder"> <!-- Hier können etliche Unterelemente (widget, pixmap, eLabel usw.) eingebettet sein! --> </screen> <!-- und endet erst mit diesem Abschluss -->
In diesem Beispiel wurde die Grafik des Skins "BlackdreamHD" als Vorlage erstellt und verwendet.
Erklärung skin.xml DVDPlayer
- Mit flags="wfNoBorder" wird festgelegt das man keinen Rahmen (Border) haben will. Alternative diesen Eintrag weglassen und es gibt einen Rahmen
- position="75,530" gibt an wo der Screen dargestellt werden soll in Bildpunkten, 80 = vom Rand Links in die Mitte, 500 = vom Rand oben nach unten
- size="1140,150" gibt an wie Groß in Bildpunkten (Breite mal Höhe) der Screen sein soll
- title="InfoBar" wie erwartet der Name des des Titelfenster
Zurück zum Inhaltsverzeichnis:
Background
Nun setzt man als Background seine Infobar-Grafik ein. Hierzu nun die Infobar des BluedreamHD-Skins. Der Screen-Code würde in diesem Beispiel so komplett aussehen:
<!-- DVD Player --> <screen name="DVDPlayer" position="75,530" size="1140,150" title="InfoBar" flags="wfNoBorder"> <!-- Background --> <ePixmap position="0,0" zPosition="-1" size="1140,150" pixmap="BlueDreamHD/movie_infobar.png"/> </screen>
Erklärung skin.xml des Background
- Wert ePixmap ist zum einfügen von Grafiken.
- position="0,0" damit die Grafik den kompletten Screen auch ausfüllt, da die Größe (size) der Grafik und des Screens identisch sind
- Mittels pixmap= wird nun die Tatsächliche Grafik geladen
Zurück zum Inhaltsverzeichnis:
Blinking pixmap (recording in progress?)
Hier soll nun eine Blinkende Grafik angezeigt werden, falls eine Aufnahme läuft. In diesem Falle ist es ein roter Punkt mit einem kleinen weisen "R" in der Mitte drinn
<!-- Blinking pixmap (recording in progress?) --> <widget source="session.RecordState" render="Pixmap" position="600,9" size="20,20" zPosition="1" pixmap="BlueDreamHD/icons/rec.png" alphatest="blend"> <convert type="ConditionalShowHide">Blink</convert> </widget>
Erklärung skin.xml zum Blinking pixmap
- der Renderer dafür ist wieder render="Pixmap"
- Mittels <convert type="ConditionalShowHide">Blink</convert> wird veranlasst das die Grafik an und aus geblendet wird
Zurück zum Inhaltsverzeichnis:
Time
Hier setzten wir wieder die aktelle Uhrzeit ein.
Dieses mal jedoch mit der Standartausgabe incl. den Sekunden und nicht wie in der Main-Infobar mit verkleinerter Extra-Sekunden Anzeige:
<!-- Time --> <widget source="global.CurrentTime" render="Label" position="30,9" size="110,30" font="Regular;24" halign="right" shadowColor="black" shadowOffset="-2,-2" transparent="1"> <convert type="ClockToText">WithSeconds</convert> </widget>
Erklärung skin.xml der Uhrzeit
- <convert type="ClockToText">WithSeconds</convert> stellt die Uhrzeit in Stunden, Minuten und Sekunden dar
- Mittels halign="right" setzten wir die Zeit nach Rechts im Textfeld der Größe size="110,30"
Zurück zum Inhaltsverzeichnis:
Date
Die Definition des "Datums" wird auch wieder wie alles in einem eigenen "widget" dargestellt.
Im Skin wird dies einfach dargestellt mittels der Zeile <convert type="ClockToText">Format:%d.%m.%Y</convert>
<!-- Date --> <widget source="global.CurrentTime" render="Label" position="935,9" size="140,26" font="Regular;24" shadowColor="black" shadowOffset="-1,-1" halign="right" noWrap="1" transparent="1" > <convert type="ClockToText">Format:%d.%m.%Y</convert> </widget>
Wie einem Nun evtl. Auffällt ist die Anzeige des Datums ja fast Identisch wie die der Uhrzeit.
Auch diese Zeile <convert type="ClockToText">Format:%d.%m.%Y</convert> sieht bis auf die Formatausgabe ja fast gleich aus, das liegt daran das hier ein "Converter" verwendet wird.
Innerhalb des Converters haben wir die Möglichkeit mittels der Format-Ausgabe das gewünschte darstellen zu lassen solange es der Converter zulässt.
Erklärung skin.xml zum Widget "Date"
- <convert type="ClockToText">Format:%d.%m.%Y</convert> die Ausgabe bedeutet %d = Tag, %m = Monat, %Y = Jahr
- Der Convertor "ClockToText" selbst wäre zu finden in: /usr/lib/enigma2/python/Componetns/Converter
Zurück zum Inhaltsverzeichnis:
Audio icon (is there multichannel audio?)
Mittles diesem Icon wollen wir in der Infobar uns Anzeigen lassen ob ein Sender seinen Ton in DolbyDigital bzw. AC3 (IsMultichannel) ausstrahlt.
Wird der Ton ausgestrahlt erscheint das entsprechende Icon, wird keiner ausgestrahlt ist es nur Schwach bzw. gar nicht zu sehen.
<!-- Audio icon (is there multichannel audio?) --> <ePixmap pixmap="BlueDreamHD/icons/ico_dolby_off.png" position="647,9" size="57,20" zPosition="1" alphatest="blend"/> <widget source="session.CurrentService" render="Pixmap" pixmap="BlueDreamHD/icons/ico_dolby_on.png" position="647,9" size="57,20" zPosition="2" alphatest="blend"> <convert type="ServiceInfo">IsMultichannel</convert> <convert type="ConditionalShowHide"/> </widget>
Erklärung skin.xml zur multichannel audio
- Mittels der zPosition="1" wird ein fast nicht Sichbares Icon (icon_dolby_off.png) dargestellt.
- alphatest="blend" bedeutet das sich das entsprechende Bild auch überblenden läßt
- Ist ein Audio-Multichannel vorhanden wird mittels zPosition="2" das gut sichtbare Icon (icon_dolby_on.png) über das erste eingeblendet
- Der Render "Pixmap" ist zu finden in: /usr/lib/enigma2/python/Componetns/Renderer
Zurück zum Inhaltsverzeichnis:
Teletext icon (is teletext available?)
Mit diesem Icon wollen wir Anzeigen ob der Sender für die laufende Sendung auch einen Teletext mit ausstrahlt.
Wird ein Teletext ausgestrahlt erscheint das entsprechende Icon, wird in keines ausgestrahlt ist es nur Schwach bzw. gar nicht zu sehen.
<!-- Teletext icon (is teletext available?) --> <ePixmap pixmap="BlueDreamHD/icons/ico_txt_off.png" position="717,9" size="36,20" zPosition="1" alphatest="blend"/> <widget source="session.CurrentService" render="Pixmap" pixmap="BlueDreamHD/icons/ico_txt_on.png" position="717,9" size="36,20" zPosition="2" alphatest="blend"> <convert type="ServiceInfo">HasTelext</convert> <convert type="ConditionalShowHide"/> </widget>
Erklärung skin.xml zum Teletext
- Genau wie vorher gleich gestaltet, Unterschied liegt hier bei <convert type="ServiceInfo">HasTelext</convert>
Zurück zum Inhaltsverzeichnis:
colorbuttons
Mittels diesem Icon wollen wir uns farbig Anzeigen lassen welche Fuktionen die Farbtasten haben.
<!-- colorbuttons --> <ePixmap position="240,9" zPosition="1" size="203,25" pixmap="BlueDreamHD/icons/mp_buttons.png" alphatest="on" />
Zurück zum Inhaltsverzeichnis:
Media icon
Hier setze ich eine Grafik ein "ähnlich" wie ein Picon, ggf. wird dies mal in Zukunft als Coverbild ect. Unterstützt?
Ansonsten erkennt man hier dran sofort ob man nun eine DVD schaut oder direkt das Fernsehprogramm :-)
<!-- Media icon --> <ePixmap position="10,45" size="120,90" pixmap="BlueDreamHD/icons/dvd.png" alphatest="on"/>
Erklärung skin.xml zum Media icon
- Hier wird lediglich eine bestimmte Grafik in Form eines Picon (120x90) dargestellt
Zurück zum Inhaltsverzeichnis:
Progressbar (movie position)
Die Progressbar ist die Grafische Anzeige wie lange eine Aufzeichnung schon läuft bzw. wie Lange diese noch bis zum Ende benötigt.
<!-- Progressbar (movie position)--> <ePixmap position="240,65" zPosition="0" size="740,12" pixmap="BlueDreamHD/icons/progress_bg.png" transparent="1" alphatest="on" /> <widget source="session.CurrentService" render="PositionGauge" position="240,64" size="738,12" zPosition="2" pointer="BlueDreamHD/icons/progress_fr.png:778,0" transparent="1" > <convert type="ServicePosition">Gauge</convert> </widget>
Der Haupt-Unterschied zur Progressbar in der Main-Infobar ist dies Gauge beim type der ServicePosition |
Erklärung skin.xml zur Progressbar
- Mittels der Ersten Zeile wird die Hintergrundgrafik geladen, incl. der zPosition="0"
- Mit der zweiten Zeile bzw. dem Widget wird nun die zweite Grafik auf die erste gelegt zPosition="2" der Fortschritt wird mittels eines Render ermittelt
- Der Render "PositionGauge" ist zu finden in: /usr/lib/enigma2/python/Componetns/Renderer
Zurück zum Inhaltsverzeichnis:
Service name
Die Definition des "Service name" bedeutet einfach nur der Filmnamen.
Innerhalb dieses "widget" geben wir nun an wo denn innerhalb der Infobar der Filmnamen erscheinen soll.
<!-- Service name --> <widget source="session.CurrentService" render="Label" position="240,89" size="820,24" font="Regular;24" valign="top" noWrap="1" backgroundColor="black" transparent="1"> <convert type="ServiceName">Name</convert> </widget>
Erklärung skin.xml des Service name
- Wie nun bekannt sein sollte, die Postion, den gewünschten Font incl. der Größe und der Farbe der Schrift
Zurück zum Inhaltsverzeichnis:
Elapsed time
Ist das genaue Gegenteil von der Remaining time und zählt die Zeit hoch wie Lange die Aufzeichnung bzw. der Film schon läuft.
<!-- Elapsed time --> <widget source="session.CurrentService" render="Label" position="130,58" size="100,24" font="Regular;24" halign="center" valign="center" foregroundColor="foreyellow" shadowColor="black" shadowOffset="-1,-1" transparent="1" > <convert type="ServicePosition">Position,ShowHours</convert> </widget>
Erklärung skin.xml der Elapsed time
- Wie nun bekannt sein sollte, die Postion, den gewünschten Font incl. der Größe und der Farbe der Schrift
- Mittels dem Render "Label" wird über <convert type="ServicePosition">Position</convert> die bisherige laufzeit der Aufzeichnung ermittelt
Zurück zum Inhaltsverzeichnis:
Remaining time
Gibt die verbleibende Restlaufzeit der Aufzeichnung (des Films) an.
<!-- Remaining time --> <widget source="session.CurrentService" render="Label" position="1000,60" size="100,24" font="Regular;24" halign="center" valign="center" foregroundColor="foreyellow" shadowColor="black" shadowOffset="-1,-1" transparent="1" > <convert type="ServicePosition">Remaining,Negate,ShowHours</convert> </widget>
Erklärung skin.xml der Remaining time
- Wie nun bekannt sein sollte, die Postion, den gewünschten Font incl. der Größe und der Farbe der Schrift
- Mittels dem Render "Label" wird über <convert type="ServicePosition">Remaining</convert> die Restlaufzeit der Aufzeichnung ermittelt
Zurück zum Inhaltsverzeichnis:
movie length
Hier wird nun vor dem ServiceNamen noch die Länge der gesammten Aufzeichnung angegeben.
<!-- movie length --> <widget source="session.CurrentService" render="Label" position="130,89" size="100,24" font="Regular;24" halign="center" valign="center" transparent="1" > <convert type="ServicePosition">Length,ShowHours</convert> </widget>
Erklärung skin.xml der movie length
- Wie nun bekannt sein sollte, die Postion, den gewünschten Font incl. der Größe und der Farbe der Schrift
- Mittels dem Render "Label" wird über <convert type="ServicePosition">Length</convert> die Gesamtlänge der Aufzeichnung ermittelt
Zurück zum Inhaltsverzeichnis:
Chapter Label
Hier wird nun die Informationen über die Kapitel und den Titel dargestellt die ein DVD enthält.
<!-- chapter Label --> <widget name="chapterLabel" position="640,120" size="500,20" font="Regular;20" halign="center" transparent="1" />
Erklärung skin.xml der Chapter Label
- Wie nun bekannt sein sollte, die Postion, den gewünschten Font incl. der Größe und der Farbe der Schrift
Zurück zum Inhaltsverzeichnis:
Audio Label
Hier wird nun die Informationen über die Audioausgabe dargestellt die eine DVD gerade benutzt.
<!-- Audio Label --> <ePixmap position="145,125" size="26,16" pixmap="skin_default/icons/icon_dolby.png" alphatest="on"/> <widget name="audioLabel" position="190,120" size="150,20" font="Regular;20" transparent="1" />
Erklärung skin.xml der Audio Label
- Wie nun bekannt sein sollte, die Postion, den gewünschten Font incl. der Größe und der Farbe der Schrift und das einsetzten einer Grafik
Zurück zum Inhaltsverzeichnis:
Subtitle Label
Hier wird nun die Informationen über die Untertitel dargestellt (wenn Untertitel aktiviert ist) die eine DVD gerade benutzt.
<!-- Subtitle Label --> <widget source="session.CurrentService" render="Pixmap" position="350,125" size="26,16" pixmap="skin_default/icons/icon_txt.png" alphatest="on" > <convert type="ServiceInfo">HasTelext</convert> <convert type="ConditionalShowHide" /> </widget> <widget name="subtitleLabel" position="390,120" size="150,20" font="Regular;20" transparent="1" />
Erklärung skin.xml der Subtitle Label
- Wie nun bekannt sein sollte, die Postion, den gewünschten Font incl. der Größe und der Farbe der Schrift und das einsetzten einer Grafik
Zurück zum Inhaltsverzeichnis:
Angle Pix & Label
Hier weiß ich leider im Moment nicht mehr für was dies war, (es war was exotisches) und vor allem auf welchen DVD ich dies finde :-(((
Daher hier erstmal kein Screenshot, aus fehlendem Wissen und eines Beispielsfilm...
<!-- Angle Pix & Label --> <widget name="anglePix" position="430,125" size="26,16" pixmap="skin_default/icons/icon_view.png" alphatest="on" /> <widget name="angleLabel" position="470,120" size="150,20" font="Regular;20" transparent="1" />
Erklärung skin.xml der Angle Pix & Label
- Wie nun bekannt sein sollte, die Postion, den gewünschten Font incl. der Größe und der Farbe der Schrift und das einsetzten einer Grafik