Text2skin-Skin Referenz

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
 
(101 dazwischenliegende Versionen von 12 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Box Hinweis|
 
Diese Dokumentation gilt für die kommende "1.0" Version des [[text2skin-plugin]]s.
 
}}
 
{{Box Warnung|
 
Dies ist nur eine erste Fassung. Sie ist weder vollständig noch Fehlerfrei! --[[Benutzer:Monroe|Monroe]] 13:27, 13. Dez 2004 (CET)
 
}}
 
 
Dies ist eine Kurzreferenz des auf XML-basierenden Skin-Formates des [[text2skin-plugin|text2skin]] Plugins.
 
Dies ist eine Kurzreferenz des auf XML-basierenden Skin-Formates des [[text2skin-plugin|text2skin]] Plugins.
 
==Farben==
 
Farben werden im RGB-Format mit Transparenz angegeben. Also etwa
 
color=#AARRGGBB
 
 
* A = Alphawert (Transparenz)
 
* R = Rotwert
 
* G = Grünwert
 
* B = Blauwert
 
 
Ein paar Beispiele
 
        AARRGGBB
 
color=#00000000 ''= Schwarz, voll transparent (durchsichtig)''
 
color=#FF000000 ''= Schwarz, volle Deckkraft''
 
color=#7F000000 ''= Schwarz, halb durchscheinend''
 
color=#7FFFFFFF ''= Weiß, halb durchscheinend''
 
 
und natürlich alle möglichen Zwischentöne und Transparenzen.
 
 
==Fonts==
 
Es gibt drei vorgegebene Fonts
 
* Osd
 
* Fix
 
* Sml
 
 
Wenn man die Freetype-Bibliothek installiert hat und beim compilieren aktiviert hat, lässt sich zusätzlich jeder TrueType-Font verwenden, der unter
 
* '''/etc/vdr/plugins/text2skin/fonts/'''
 
oder
 
* '''/etc/vdr/plugins/text2skin/SkinName/'''
 
installiert ist.
 
 
In der Skindatei gibt man den Fontnamen,
 
font="Osd"
 
oder, bei Truetype-Fonts, den Font-Dateinamen und die gewünschte Größe
 
font="helmetr.ttf:20"
 
an
 
  
 
==Elemente==
 
==Elemente==
 
===<skin>===
 
===<skin>===
Danach folgt das oberste Element (das Wurzelelement) des Skins '''<skin>'''. Alle weiteren Elemente liegen verschachtelt in diesem
+
Dies ist das Wurzelelement des Skins. Alle weiteren Elemente liegen verschachtelt in diesem.
 
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
Zeile 52: Zeile 10:
 
!Beschreibung
 
!Beschreibung
 
|-
 
|-
| version    || VERSION              || Version des Skin-Formates
+
| version    || VERSION              || Version des Skin-Formates (fester Wert, aktuell "1.0")
 
|-
 
|-
 
| name      || NAME                  || Name der im VDR-OSD erscheinen soll
 
| name      || NAME                  || Name der im VDR-OSD erscheinen soll
Zeile 59: Zeile 17:
 
* relative
 
* relative
 
* absolute  
 
* absolute  
| Kennzeichnet, ob das Skin relativ (relative) zum VDR-Setup oder absolut (absolute) auf einer Fläche von 720x576 zeichnen soll
+
| Kennzeichnet, ob das Skin relativ (relative) zum VDR-Setup (OSD links, oben, Breite, Höhe) oder absolut (absolute) auf eine Fläche von 720x576 gezeichnet werden soll
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!Beispiel
 
!Beispiel
Zeile 80: Zeile 38:
 
!width=20%|Attribut
 
!width=20%|Attribut
 
!width=20%|Wert
 
!width=20%|Wert
!Beschreibung
+
!width=80%|Beschreibung
 
|-
 
|-
 
| id ||  
 
| id ||  
Zeile 90: Zeile 48:
 
* replaySmall
 
* replaySmall
 
* menu
 
* menu
 +
* audioTracks
 
| Bezeichnet den Typ der OSD-Darstellung
 
| Bezeichnet den Typ der OSD-Darstellung
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
Zeile 108: Zeile 67:
  
 
===<window>===
 
===<window>===
Jeder Display-Container beginnt mit der Vorgabe von Zeichenflächen, auf denen dann die Elemente plaziert werden können.
+
Jeder Display-Container beginnt mit der Vorgabe von Zeichenflächen, auf denen dann die Elemente platziert werden können.
 
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!width=20%|Attribut
 
!width=20%|Attribut
 
!width=20%|Wert
 
!width=20%|Wert
!Beschreibung
+
!width=80%|Beschreibung
 
|-
 
|-
 
| x1  || ZAHL || Position der linken Kante
 
| x1  || ZAHL || Position der linken Kante
Zeile 123: Zeile 82:
 
| y2  || ZAHL || Position der unteren Kante  
 
| y2  || ZAHL || Position der unteren Kante  
 
|-
 
|-
| bpp || ZAHL || Farbtiefe des Zeichenfläche
+
| bpp || ZAHL || Farbtiefe des Zeichenfläche, 4 = 16Farben, 8 = 256Farben
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!Beispiel
 
!Beispiel
Zeile 148: Zeile 107:
 
!width=20%|Attribut
 
!width=20%|Attribut
 
!width=20%|Wert
 
!width=20%|Wert
!Beschreibung
+
!width=80%|Beschreibung
 
|-
 
|-
| x1       || ZAHL     || Position der linken Kante
+
| x1                                     || ZAHL           || Position der linken Kante
 
|-
 
|-
| y1       || ZAHL     || Position der oberen Kante
+
| y1                                     || ZAHL           || Position der oberen Kante
 
|-     
 
|-     
| x2       || ZAHL     || Position der rechten Kante
+
| x2                                     || ZAHL           || Position der rechten Kante
 
|-
 
|-
| y2       || ZAHL     || Position der unteren Kante
+
| y2                                     || ZAHL           || Position der unteren Kante
 
|-
 
|-
| condition || FUNKTION || Komplexe Bedingung
+
| condition                               || FUNKTION/TOKEN || Komplexe Bedingung
 
|-
 
|-
| color     || STRING   ||  
+
| color                                   || STRING         || Füllfarbe des Rechtecks
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!Beispiel
 
!Beispiel
Zeile 170: Zeile 129:
 
|}
 
|}
  
===<text>===
+
===<ellipse>===
Ein statischer oder zusammengesetzter Text.
+
Zeichnet einen gefüllten Kreis, eine Ellipse oder Teile davon.
 
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!width=20%|Attribut
 
!width=20%|Attribut
 
!width=20%|Wert
 
!width=20%|Wert
!Beschreibung
+
!width=80%|Beschreibung
 
|-
 
|-
| x1       || ZAHL     || Position der linken Kante
+
| x1                                     || ZAHL           || Position der linken Kante
 
|-
 
|-
| y1       || ZAHL     || Position der oberen Kante
+
| y1                                     || ZAHL           || Position der oberen Kante
 
|-
 
|-
| y2        || ZAHL     || Position der rechten Kante
+
| x2                                      || ZAHL           || Position der rechten Kante
 
|-
 
|-
| x2        || ZAHL     || Position der unteren Kante
+
| y2                                      || ZAHL           || Position der unteren Kante
 
|-
 
|-
| condition || FUNKTION || Komplexe Bedingung
+
| condition                               || FUNKTION/TOKEN || Komplexe Bedingung
 
|-
 
|-
| color     || STRING   ||  
+
| color                                   || STRING         || Füllfarbe der Ellipse
 
|-
 
|-
| align    ||  
+
| arc                                    || ZAHL          || Kreisbogen
* center
+
|- bgcolor=#efefef
* right
+
!Beispiel
* left
+
|
| Ausrichtung des Textes (Blocksatz, Rechtsbündig, Linksbündig)
+
|
 +
|-
 +
|colspan=3|
 +
<ellipse x1="5" y1="7" x2="14" y2="15" color="GraphLight" condition="{IsMenuCurrent}"/>
 +
|}
 +
 
 +
===<slope>===
 +
Eine Kurve.
 +
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 +
|- bgcolor=#efefef
 +
!width=20%|Attribut
 +
!width=20%|Wert
 +
!width=80%|Beschreibung
 +
|-
 +
| x1                                      || ZAHL          || Position der linken Kante
 +
|-
 +
| y1                                      || ZAHL          || Position der oberen Kante
 +
|-
 +
| y2                                      || ZAHL          || Position der rechten Kante
 +
|-
 +
| x2                                      || ZAHL          || Position der unteren Kante
 +
|-
 +
| condition                              || FUNKTION/TOKEN || Komplexe Bedingung
 +
|-
 +
| color                                  || STRING        || Farbe der Kurve
 
|-
 
|-
| font      || FUNKTION || Name des [[#Fonts|Fonts]]
+
| arc                                    || ZAHL          || Richtung
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!Beispiel
 
!Beispiel
Zeile 203: Zeile 186:
 
|-
 
|-
 
|colspan=3|
 
|colspan=3|
<text x1="42" x2="571" y1="-113" y2="-86" color="#FF000000" font="Osd">{ReplayTitle}</text>
+
  <slope x1="10" x2="100" y1="10" y2="100" arc="1" color="#CC000066" />
 
|}
 
|}
  
Zeile 212: Zeile 195:
 
!width=20%|Attribut
 
!width=20%|Attribut
 
!width=20%|Wert
 
!width=20%|Wert
!Beschreibung
+
!width=80%|Beschreibung
 
|-
 
|-
| x         || ZAHL     || Position der linken Kante
+
| x                                         || ZAHL           || Position der linken Kante (keine Skalierung)
 
|-
 
|-
| y         || ZAHL     || Position der oberen Kante
+
| y                                         || ZAHL           || Position der oberen Kante (keine Skalierung)
 
|-
 
|-
| x1       || ZAHL     || Position der linken Kante (wie x)
+
| x1                                       || ZAHL           || Position der linken Kante (wenn skaliert werden soll)
 
|-
 
|-
| y1       || ZAHL     || Position der oberen Kante (wie y)
+
| y1                                       || ZAHL           || Position der oberen Kante (wenn skaliert werden soll)
 
|-
 
|-
| x2       || ZAHL     || Position der rechten Kante (wenn skaliert werden soll)
+
| x2                                       || ZAHL           || Position der rechten Kante (wenn skaliert werden soll)
 
|-
 
|-
| y2       || ZAHL     || Position der unteren Kante (wenn skaliert werden soll)
+
| y2                                       || ZAHL           || Position der unteren Kante (wenn skaliert werden soll)
 
|-
 
|-
| condition || FUNKTION || Komplexe Bedingung
+
| condition                                 || FUNKTION/TOKEN || Komplexe Bedingung
 +
|-
 +
| alpha                                    || ZAHL          || Überlagerte Transparenz von 0-255
 +
|-
 +
| colors                                    || ZAHL          || Maximale Anzahl der Farben im Ergebnisbild (wenn skaliert werden soll)
 
|-
 
|-
| alpha    || ZAHL    || Transparenz von 0-255
+
| color                                    || STRING        || Austauschfarbe für Farbe 1 des Bildes
 
|-
 
|-
| color    || STRING   ||  
+
| bgColor                                  || STRING         || Austauschfarbe für Farbe 0 des Bildes
 
|-
 
|-
| bgColor  || STRING   ||  
+
| maskColor                                || STRING       || Maskenfarbe (wird beim Zeichnen ausgelassen)
 
|-
 
|-
| path     || FUNKTION ||  
+
| path                                     || STRING/TOKEN  || Pfad zur Bilddatei
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!Beispiel
 
!Beispiel
Zeile 245: Zeile 232:
 
|}
 
|}
  
===<ellipse>===
+
===<text>===
Zeichnet einen (Teil-)Kreis, oder eine Ellipse.
+
Ein statischer oder zusammengesetzter Text.
 
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!width=20%|Attribut
 
!width=20%|Attribut
 
!width=20%|Wert
 
!width=20%|Wert
!Beschreibung
+
!width=80%|Beschreibung
 
|-
 
|-
| x1       || ZAHL     || Position der linken Kante
+
| x1                                     || ZAHL           || Position der linken Kante
 
|-
 
|-
| y1       || ZAHL     || Position der oberen Kante
+
| y1                                     || ZAHL           || Position der oberen Kante
 
|-
 
|-
| y2        || ZAHL     || Position der rechten Kante
+
| x2                                      || ZAHL           || Position der rechten Kante
 
|-
 
|-
| x2        || ZAHL     || Position der unteren Kante
+
| y2                                      || ZAHL           || Position der unteren Kante
 
|-
 
|-
| condition || FUNKTION || Komplexe Bedingung
+
| condition                               || FUNKTION/TOKEN || Komplexe Bedingung
 
|-
 
|-
| color     || STRING   ||  
+
| color                                   || STRING         || Textfarbe
 +
|-
 +
| align                                  ||
 +
* center
 +
* right
 +
* left
 +
| Ausrichtung des Textes (Zentriert, Rechtsbündig, Linksbündig)
 
|-
 
|-
| arc      || ZAHL    ||  
+
| [[Text2skin-Skin_Referenz#font|font]]  || STRING        || Name des Fonts
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!Beispiel
 
!Beispiel
Zeile 272: Zeile 265:
 
|-
 
|-
 
|colspan=3|
 
|colspan=3|
   
+
  <text x1="42" x2="571" y1="-113" y2="-86" color="#FF000000" font="Osd">{ReplayTitle}</text>
 
|}
 
|}
  
===<slope>===
+
===<marquee>===
Eine Kurve.
+
Alternative zu [[#<text>|<text>]]. Scrollt überlange Texte hin und her.
 
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!width=20%|Attribut
 
!width=20%|Attribut
 
!width=20%|Wert
 
!width=20%|Wert
!Beschreibung
+
!width=80%|Beschreibung
 
|-
 
|-
| x1       || ZAHL     || Position der linken Kante
+
| x1                                     || ZAHL           || Position der linken Kante
 
|-
 
|-
| y1       || ZAHL     || Position der oberen Kante
+
| y1                                     || ZAHL           || Position der oberen Kante
 
|-
 
|-
| y2       || ZAHL     || Position der rechten Kante
+
| y2                                     || ZAHL           || Position der rechten Kante
 
|-
 
|-
| x2       || ZAHL     || Position der unteren Kante
+
| x2                                     || ZAHL           || Position der unteren Kante
 
|-
 
|-
| condition || FUNKTION || Komplexe Bedingung
+
| condition                               || FUNKTION/TOKEN || Komplexe Bedingung
 
|-
 
|-
| color     || STRING   ||  
+
| [[Text2skin-Skin_Referenz#color|color]] || STRING         || Textfarbe
 +
|-
 +
| delay                                  || ZAHL          || Verzögerung des Scrollens in ms (Laufgeschwindigkeit)
 +
|-
 +
| align                                  ||  
 +
* center
 +
* right
 +
* left
 +
| Ausrichtung des Textes (Zentriert, Rechtsbündig, Linksbündig)
 
|-
 
|-
| arc      || ZAHL    ||  
+
| [[Text2skin-Skin_Referenz#font|font]]  || STRING        || Name des Fonts
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!Beispiel
 
!Beispiel
Zeile 302: Zeile 303:
 
|-
 
|-
 
|colspan=3|
 
|colspan=3|
   
+
  <marquee x1="130" x2="480" y1="423" y2="445" color="Text" font="Sml">{ReplayTitle}</marquee>
 
|}
 
|}
  
===<progress>===
+
===<blink>===
Eine Fortschrittsanzeige
+
Alternative zu [[#<text>|<text>]]. Stellt Text blinkend dar.
 
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!width=20%|Attribut
 
!width=20%|Attribut
 
!width=20%|Wert
 
!width=20%|Wert
!Beschreibung
+
!width=80%|Beschreibung
 
|-
 
|-
| x1       || ZAHL     || Position der linken Kante
+
| x1                                           || ZAHL           || Position der linken Kante
 
|-
 
|-
| y1       || ZAHL     || Position der oberen Kante
+
| y1                                           || ZAHL           || Position der oberen Kante
 
|-
 
|-
| y2       || ZAHL     || Position der rechten Kante
+
| y2                                           || ZAHL           || Position der rechten Kante
 
|-
 
|-
| x2       || ZAHL     || Position der unteren Kante
+
| x2                                           || ZAHL           || Position der unteren Kante
 +
|-
 +
| condition                                    || FUNKTION/TOKEN || Komplexe Bedingung
 
|-
 
|-
| condition || FUNKTION || Komplexe Bedingung
+
| [[Text2skin-Skin_Referenz#color|color]]      || STRING        || Textfarbe
 
|-
 
|-
| color     || STRING   ||  
+
| [[Text2skin-Skin_Referenz#color|blinkColor]] || STRING         || Highlightfarbe (Optional: Ansonsten wird an/aus geblinkt)
 
|-
 
|-
| bgColor  || STRING  ||  
+
| delay                                        || ZAHL          || Pause zwischen Umschalten
 
|-
 
|-
| mark      || STRING  ||  
+
| align                                        ||  
|-
+
* center
| active    || STRING  ||
+
* right
|-
+
* left
| keep      || STRING  ||
+
| Ausrichtung des Textes (Zentriert, Rechtsbündig, Linksbündig)
|-
+
| current  || FUNKTION ||
+
 
|-
 
|-
| total    || FUNKTION ||  
+
| [[Text2skin-Skin_Referenz#font|font]]        || STRING        || Name des Fonts
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!Beispiel
 
!Beispiel
Zeile 342: Zeile 343:
 
|-
 
|-
 
|colspan=3|
 
|colspan=3|
  <progress x1="19" x2="556" y1="-17" y2="-7" color="#AF000000" current="{VolumeCurrent}" total="{VolumeTotal}" />
+
  <blink x1="30" x2="80" y1="90" y2="80" color="Text" blinkColor="Green" delay="800" font="Sml"
 +
        condition="{IsRunning}">{PresentStartDateTime:%H\:%M}</blink>
 
|}
 
|}
  
Zeile 351: Zeile 353:
 
!width=20%|Attribut
 
!width=20%|Attribut
 
!width=20%|Wert
 
!width=20%|Wert
!Beschreibung
+
!width=80%|Beschreibung
 
|-
 
|-
| x1       || ZAHL     || Position der linken Kante
+
| x1                                     || ZAHL           || Position der linken Kante
 +
|-
 +
| y1                                      || ZAHL          || Position der oberen Kante
 
|-
 
|-
| y1        || ZAHL     || Position der oberen Kante
+
| x2                                      || ZAHL           || Position der rechten Kante
 
|-
 
|-
| y2       || ZAHL     || Position der rechten Kante
+
| y2                                     || ZAHL           || Position der unteren Kante
 
|-
 
|-
| x2        || ZAHL    || Position der unteren Kante
+
| condition                              || FUNKTION/TOKEN || Komplexe Bedingung
 
|-
 
|-
| condition || FUNKTION || Komplexe Bedingung
+
| color                                   || STRING         || Farbe des Textes
|-
+
| color     || STRING   ||  
+
 
|-
 
|-
| align     ||  
+
| align                                   ||  
 
* center
 
* center
 
* right
 
* right
 
* left
 
* left
| Ausrichtung des Textes (Blocksatz, Rechtsbündig, Linksbündig)
+
| Ausrichtung des Textes (Zentriert, Rechtsbündig, Linksbündig)
 
|-
 
|-
| font     || FUNKTION || Name des [[#Fonts|Fonts]]
+
| font                                   || STRING        || Name des Fonts
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!Beispiel
 
!Beispiel
Zeile 390: Zeile 392:
 
!width=20%|Attribut
 
!width=20%|Attribut
 
!width=20%|Wert
 
!width=20%|Wert
!Beschreibung
+
!width=80%|Beschreibung
 
|-
 
|-
| x1       || ZAHL     || Position der linken Kante
+
| x1                                       || ZAHL           || Position der linken Kante
 
|-
 
|-
| y1       || ZAHL     || Position der oberen Kante
+
| y1                                       || ZAHL           || Position der oberen Kante
 
|-
 
|-
| y2        || ZAHL     || Position der rechten Kante
+
| x2                                        || ZAHL           || Position der rechten Kante
 
|-
 
|-
| x2        || ZAHL     || Position der unteren Kante
+
| y2                                        || ZAHL           || Position der unteren Kante
 
|-
 
|-
| condition || FUNKTION || Komplexe Bedingung
+
| condition                                 || FUNKTION/TOKEN || Komplexe Bedingung
 
|-
 
|-
| color     || STRING   ||  
+
| [[Text2skin-Skin_Referenz#color|color]]  || STRING         || Farbe des Balkens
 
|-
 
|-
| bgColor   || STRING   ||  
+
| [[Text2skin-Skin_Referenz#color|bgColor]] || STRING         || Farbe des Hintergrunds
 +
|- bgcolor=#efefef
 +
!Beispiel
 +
|
 +
|
 
|-
 
|-
| mark      || STRING  ||  
+
|colspan=3|
 +
<scrollbar x1="585" x2="608" y1="162" y2="-110" color="#AFFFFF00" bgColor="#8F2B1B9E" />
 +
|}
 +
 
 +
===<progress>===
 +
Eine Fortschrittsanzeige
 +
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 +
|- bgcolor=#efefef
 +
!width=20%|Attribut
 +
!width=20%|Wert
 +
!width=80%|Beschreibung
 
|-
 
|-
| active    || STRING  ||  
+
| x1                                        || ZAHL          || Position der linken Kante
 
|-
 
|-
| keep      || STRING  ||  
+
| y1                                        || ZAHL          || Position der oberen Kante
 
|-
 
|-
| current  || FUNKTION ||  
+
| x2                                        || ZAHL          || Position der rechten Kante
 
|-
 
|-
| total    || FUNKTION ||  
+
| y2                                        || ZAHL          || Position der unteren Kante
 +
|-
 +
| condition                                || FUNKTION/TOKEN || Komplexe Bedingung
 +
|-
 +
| [[Text2skin-Skin_Referenz#color|color]]  || STRING        || Farbe des Balkens
 +
|-
 +
| [[Text2skin-Skin_Referenz#color|bgColor]] || STRING        || Farbe des Hintergrunds
 +
|-
 +
| [[Text2skin-Skin_Referenz#color|mark]]    || STRING        || Farbe der Schnittmarkierungen
 +
|-
 +
| [[Text2skin-Skin_Referenz#color|active]]  || STRING        || Farbe des aktiven Bereiches
 +
|-
 +
| [[Text2skin-Skin_Referenz#color|keep]]    || STRING        || Farbe des Bereiches der nicht herausgeschnitten wird
 +
|-
 +
| current                                  || ZAHL/TOKEN    || Aktueller Indexwert
 +
|-
 +
| total                                    || ZAHL/TOKEN    || Maximaler Indexwert
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!Beispiel
 
!Beispiel
Zeile 421: Zeile 453:
 
|-
 
|-
 
|colspan=3|
 
|colspan=3|
  <scrollbar x1="585" x2="608" y1="162" y2="-110" color="#AFFFFF00" bgColor="#8F2B1B9E"/>
+
  <progress x1="19" x2="556" y1="-17" y2="-7" color="#AF000000" current="{VolumeCurrent}" total="{VolumeTotal}" />
 +
<progress x1="129" x2="478" y1="487" y2="502" color="#FFCE7B00" bgColor="Blue" mark="Black" active="Black" keep="Black" current="{ReplayPositionIndex}"  total="{ReplayDurationIndex}"/>
 
|}
 
|}
  
Zeile 430: Zeile 463:
 
!width=20%|Attribut
 
!width=20%|Attribut
 
!width=20%|Wert
 
!width=20%|Wert
!Beschreibung
+
!width=80%|Beschreibung
|-
+
| x1        || ZAHL    || Position der linken Kante
+
|-
+
| y1        || ZAHL    || Position der oberen Kante
+
|-   
+
| y2        || ZAHL    || Position der rechten Kante
+
|-
+
| x2        || ZAHL    || Position der unteren Kante
+
 
|-
 
|-
 
| condition || FUNKTION || Komplexe Bedingung
 
| condition || FUNKTION || Komplexe Bedingung
Zeile 448: Zeile 473:
 
|colspan=3|
 
|colspan=3|
 
  <block condition="file('logos/{ChannelName}.mng')">  
 
  <block condition="file('logos/{ChannelName}.mng')">  
   <rectangle x1="4" x2="67" y1="4" y2="51" color="#AF000000"/>
+
   <rectangle x1="4" x2="67" y1="4" y2="51" color="#AF000000" />
   <image x="0" y="0" path="logos/{ChannelName}.mng"/>
+
   <image x="0" y="0" path="logos/{ChannelName}.mng" />
 
  </block>
 
  </block>
 
|}
 
|}
Zeile 459: Zeile 484:
 
!width=20%|Attribut
 
!width=20%|Attribut
 
!width=20%|Wert
 
!width=20%|Wert
!Beschreibung
+
!width=80%|Beschreibung
 
|-
 
|-
| x1        || ZAHL     || Position der linken Kante
+
| x1        || ZAHL           || Position der linken Kante
 
|-
 
|-
| y1        || ZAHL     || Position der oberen Kante
+
| y1        || ZAHL           || Position der oberen Kante
 
|-     
 
|-     
| y2       || ZAHL     || Position der rechten Kante
+
| x2       || ZAHL           || Position der rechten Kante
 
|-
 
|-
| x2       || ZAHL     || Position der unteren Kante
+
| y2       || ZAHL           || Position der unteren Kante
 
|-
 
|-
| condition || FUNKTION || Komplexe Bedingung
+
| condition || FUNKTION/TOKEN || Komplexe Bedingung (möglich, macht aber wenig Sinn)
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!Beispiel
 
!Beispiel
Zeile 492: Zeile 517:
 
!width=20%|Attribut
 
!width=20%|Attribut
 
!width=20%|Wert
 
!width=20%|Wert
!Beschreibung
+
!width=80%|Beschreibung
 
|-
 
|-
| x1        || ZAHL    || Position der linken Kante
+
| condition || FUNKTION/TOKEN || Komplexe Bedingung (möglich, macht aber wenig Sinn)
|-
+
| y1        || ZAHL    || Position der oberen Kante
+
|-
+
| y2        || ZAHL    || Position der rechten Kante
+
|-
+
| x2        || ZAHL    || Position der unteren Kante
+
|-
+
| condition || FUNKTION || Komplexe Bedingung
+
 
|-
 
|-
| height    || ZAHL     ||  
+
| height    || ZAHL           || Höhe eines Listeneintrags
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!Beispiel
 
!Beispiel
Zeile 515: Zeile 532:
 
   <text x1="25" x2="569" y1="3" y2="27" color="#AF00FFFF" font="Sml">{MenuGroup}</text>
 
   <text x1="25" x2="569" y1="3" y2="27" color="#AF00FFFF" font="Sml">{MenuGroup}</text>
 
   <text x1="25" x2="569" y1="3" y2="27" color="#AFFFFFFF" font="Sml">{MenuItem}</text>
 
   <text x1="25" x2="569" y1="3" y2="27" color="#AFFFFFFF" font="Sml">{MenuItem}</text>
   <rectangle x1="0" x2="579" y1="0" y2="27" color="#FF2B1B9E" condition="{IsMenuCurrent}"/>
+
   <rectangle x1="0" x2="579" y1="0" y2="27" color="#FF2B1B9E" condition="{IsMenuCurrent}" />
 
   <text x1="22" x2="569" y1="0" y2="27" color="#AFFFFFFF" font="Osd">{MenuCurrent}</text>
 
   <text x1="22" x2="569" y1="0" y2="27" color="#AFFFFFFF" font="Osd">{MenuCurrent}</text>
 
   <text x1="0" x2="25" y1="0" y2="27" color="#AFFFFFFF" font="Osd">-&gt;</text>
 
   <text x1="0" x2="25" y1="0" y2="27" color="#AFFFFFFF" font="Osd">-&gt;</text>
Zeile 526: Zeile 543:
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!width=20%|Token
 
!width=20%|Token
!Beschreibung
+
!width=20%|Bemerkung
 +
!width=80%|Beschreibung
 +
|-
 +
| DateTime              || (s.h. "man strftime")            || Aktuelles Datum/Uhrzeit
 +
|-
 +
| IsRecording            ||                                  || Wahr wenn eine Aufzeichnung stattfindet
 +
|-
 +
| CurrentRecording      ||                                  || Liefert im Zwei-Sekunden-Takt alle aktuell laufenden Aufnahmen<br/>Attribut: Zahl, um n-te laufende Aufnahme zu wählen
 
|-
 
|-
| DateTime ||  
+
| FreeDiskSpace          ||                                 || Aktueller Restspeicherplatz als Zahl in MB<br/>Attribut: Rückgabe als formatierte Zeit
 
|}
 
|}
  
Zeile 535: Zeile 559:
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!width=20%|Token
 
!width=20%|Token
!Beschreibung
+
!width=20%|Bemerkung
 +
!width=80%|Beschreibung
 
|-
 
|-
| ChannelNumber          ||  
+
| ChannelNumber          ||                                 || Kanalnummer ("Kanalnummer-" wenn gerade eine Eingabe stattfindet)
 
|-
 
|-
| ChannelName            ||  
+
| ChannelName            ||                                 || Kanalname oder Gruppenname
 
|-
 
|-
| ChannelShortName      ||  
+
| ChannelShortName      ||                                 || Kurzname des Kanals, wenn vorhanden
 
|-
 
|-
| ChannelBouquet        ||  
+
| ChannelBouquet        ||                                 || Provider/Bouquetname, wenn vorhanden
 
|-
 
|-
| PresentStartDateTime  ||  
+
| ChannelPortal          ||                                 || Portalname, wenn vorhanden
 
|-
 
|-
| PresentVPSDateTime    ||  
+
| ChannelSource          ||                                 || Signalquelle (z.B. "S19.2E")
 
|-
 
|-
| PresentEndDateTime    ||  
+
| PresentStartDateTime  || (* auch in [[#Menu Display]])    || Startzeit des aktuellen Titels
 
|-
 
|-
| PresentDuration        ||  
+
| PresentVPSDateTime    || (* auch in [[#Menu Display]])    || VPS-Startzeit des aktuellen Titels, wenn vorhanden
 
|-
 
|-
| PresentProgress        ||  
+
| PresentEndDateTime    || (* auch in [[#Menu Display]])    || Ende-Zeit des aktuellen Titels
 
|-
 
|-
| PresentTitle          ||  
+
| PresentDuration        || (* auch in [[#Menu Display]])    || Dauer des aktuellen Titels
 
|-
 
|-
| PresentShortText      ||  
+
| PresentProgress        || (* auch in [[#Menu Display]])    || Bisherige Laufzeit des aktuellen Titels
 
|-
 
|-
| PresentDescription    ||  
+
| PresentRemaining      || (* auch in [[#Menu Display]])    || Restzeit des aktuellen Titels
 
|-
 
|-
| FollowingStartDateTime ||  
+
| PresentTitle          || (* auch in [[#Menu Display]])    || Titel/Überschrift des aktuellen Titels
 
|-
 
|-
| FollowingVPSDateTime  ||  
+
| PresentShortText      || (* auch in [[#Menu Display]])    || Kurztext/Episode des aktuellen Titels
 
|-
 
|-
| FollowingEndDateTime  ||  
+
| PresentDescription    || (* auch in [[#Menu Display]])    || Beschreibung des aktuellen Titels
 
|-
 
|-
| FollowingDuration      ||  
+
| PresentHasTimer (alt: HasTimer)|| (* auch in [[#Menu Display]])|| Wahr wenn der aktuelle Titel von einem Timer erfasst wird
 
|-
 
|-
| FollowingTitle        ||  
+
| PresentIsRunning (alt: IsRunning)|| (* auch in [[#Menu Display]])|| Wahr wenn der aktuelle Titel den Status "running" hat
 
|-
 
|-
| FollowingShortText    ||  
+
| PresentHasVPS          || (* auch in [[#Menu Display]])    || Wahr wenn die Sendung eine eigene VPS-Zeit hat
 
|-
 
|-
| FollowingDescription  ||  
+
| FollowingStartDateTime ||                                 || Startzeit des folgenden Titels
 
|-
 
|-
| Language              ||  
+
| FollowingVPSDateTime  ||                                 || VPS-Startzeit des folgenden Titels, wenn vorhanden
 
|-
 
|-
| HasTeletext            ||  
+
| FollowingEndDateTime  ||                                 || Ende-Zeit des folgenden Titels
 
|-
 
|-
| HasMultilang          ||  
+
| FollowingDuration      ||                                 || Dauer des folgenden Titels
 
|-
 
|-
| HasDolby              ||  
+
| FollowingTitle        ||                                 || Titel/Überschrift des folgenden Titels
 
|-
 
|-
| IsEncrypted            ||  
+
| FollowingShortText    ||                                 || Kurztext/Episode des folgenden Titels
 
|-
 
|-
| IsRadio                ||  
+
| FollowingDescription  ||                                 || Beschreibung des folgenden Titels
 
|-
 
|-
| IsRecording            ||  
+
| FollowingHasTimer      ||                                 || Wahr wenn der folgende Titel von einem Timer erfasst wird
 
|-
 
|-
| HasVPS                ||  
+
| FollowingIsRunning    ||                                 || Wahr wenn der folgende Titel den Status "running" hat
 
|-
 
|-
| HasTimer              ||  
+
| FollowingHasVPS        ||                                 || Wahr wenn der folgende Titel eine eigene VPS-Zeit hat
 
|-
 
|-
| IsRunning             ||  
+
| ButtonRed             || (* auch in [[#Menu Display]], [[#Replay Display]])    ||  Beschriftung des roten Buttons, wenn vorhanden
 +
|-
 +
| ButtonGreen            || (* auch in [[#Menu Display]], [[#Replay Display]])    ||  Beschriftung des grünen Buttons, wenn vorhanden
 +
|-
 +
| ButtonYellow          || (* auch in [[#Menu Display]], [[#Replay Display]])    ||  Beschriftung des gelben Buttons, wenn vorhanden
 +
|-
 +
| ButtonBlue            || (* auch in [[#Menu Display]], [[#Replay Display]])    ||  Beschriftung des blauen Buttons, wenn vorhanden
 +
|-
 +
| Language              ||                                  || Sprache (noch nur "Audio 1", "Audio 2" oder "Digital Audio")
 +
|-
 +
| ChannelHasTeletext (alt: HasTeletext)||                    || Wahr wenn der Sender Videotext ausstrahlt
 +
|-
 +
| ChannelHasMultilang (alt: HasMultilang)||                  || Wahr wenn der Sender mehrere Tonspuren ausstrahlt
 +
|-
 +
| ChannelHasDolby (alt: HasDolby)||                          || Wahr wenn der Sender Mehrkanal-Digitalton ausstrahlt
 +
|-
 +
| ChannelIsEncrypted (alt: IsEncrypted)||                    || Wahr wenn der Sender verschlüsselt ist
 +
|-
 +
| ChannelIsRadio (alt: IsRadio)||                            || Wahr wenn der Sender ein Radiosender ist
 +
|-
 +
| ChannelHasVPS (alt: HasVPS)||                              || Wahr wenn der Sender VPS ausstrahlen kann
 
|}
 
|}
  
Zeile 600: Zeile 645:
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!width=20%|Token
 
!width=20%|Token
!Beschreibung
+
!width=20%|Bemerkung
 +
!width=80%|Beschreibung
 
|-
 
|-
| VolumeCurrent ||  
+
| VolumeCurrent         ||                                 || Aktueller Lautstärkewert (0-VolumeTotal) (numerisch)
 
|-
 
|-
| VolumeTotal   ||  
+
| VolumeTotal           ||                                 || Maximaler Lautstärkewert
 
|-
 
|-
| IsMute       ||  
+
| VolumeIsMute (alt: IsMute)||                               || Wahr wenn Stummschaltung aktiv ist
 
|}
 
|}
  
Zeile 613: Zeile 659:
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!width=20%|Token
 
!width=20%|Token
!Beschreibung
+
!width=20%|Bemerkung
 +
!width=80%|Beschreibung
 
|-
 
|-
| Message       ||  
+
| Message               || (* auch in allen anderen Displays) || Text der aktuellen Nachricht (Typ egal), wenn vorhanden
 
|-
 
|-
| MessageStatus ||  
+
| MessageStatus         || (* auch in allen anderen Displays) || Text der aktuellen Nachricht, wenn vorhanden und vom Typ Statusnachricht
 
|-
 
|-
| MessageInfo   ||  
+
| MessageInfo           || (* auch in allen anderen Displays) || Text der aktuellen Nachricht, wenn vorhanden und vom Typ Information
 
|-
 
|-
| MessageWarning ||  
+
| MessageWarning         || (* auch in allen anderen Displays) || Text der aktuellen Nachricht, wenn vorhanden und vom Typ Warnung
 
|-
 
|-
| MessageError   ||  
+
| MessageError           || (* auch in allen anderen Displays) || Text der aktuellen Nachricht, wenn vorhanden und vom Typ Fehler
 
|}
 
|}
  
Zeile 630: Zeile 677:
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!width=20%|Token
 
!width=20%|Token
!Beschreibung
+
!width=20%|Bemerkung
 +
!width=80%|Beschreibung
 
|-
 
|-
| ReplayTitle         ||  
+
| ReplayTitle           || Attribut: clean                  || Titel der aktuell laufenden Wiedergabe
 
|-
 
|-
| ReplayPositionIndex ||  
+
| ReplayPositionIndex   ||                                 || Position in der Wiedergabe (numerisch, analog zu PresentProgress)
 
|-
 
|-
| ReplayDurationIndex ||  
+
| ReplayDurationIndex   ||                                 || Dauer der Wiedergabe (numerisch, analog zu PresentDuration)
 
|-
 
|-
| ReplayPrompt       ||  
+
| ReplayRemaining       ||                                 || Restzeit der Wiedergabe (numerisch, analog zu PresentRemaining)
 
|-
 
|-
| IsPlaying           ||  
+
| ReplayPrompt           ||                                 || Eingabeaufforderung, wenn vorhanden (z.B. "Springen: --:--")
 
|-
 
|-
| IsFastForward      ||  
+
| ReplayIsPlaying (alt: IsPlaying)|| Attribut: 0 = kein Multispeed, 1-3 = Multispeed, keines = egal || Wahr wenn die Wiedergabe normal abläuft
 
|-
 
|-
| IsFastRewind        ||  
+
| ReplayIsFastForward (alt: IsFastForward)|| Attribut: 0 = kein Multispeed, 1-3 = Multispeed, keines = egal || Wahr wenn schneller Vorlauf aktiv ist
 
|-
 
|-
| IsSlowForward      ||  
+
| ReplayIsFastRewind (alt: IsFastRewind)|| Attribut: 0 = kein Multispeed, 1-3 = Multispeed, keines = egal || Wahr wenn schneller Rücklauf aktiv ist
 
|-
 
|-
| IsSlowRewind        ||  
+
| ReplayIsSlowForward (alt: IsSlowForward)|| Attribut: 0 = kein Multispeed, 1-3 = Multispeed, keines = egal || Wahr wenn Vorwärts-Zeitlupe aktiv ist
 
|-
 
|-
| IsPausing          ||  
+
| ReplayIsSlowRewind (alt: IsSlowRewind)|| Attribut: 0 = kein Multispeed, 1-3 = Multispeed, keines = egal || Wahr wenn Rückwärts-Zeitlupe aktiv ist
 
|-
 
|-
| ReplayPosition      ||  
+
| ReplayIsPausing (alt: IsPausing)||                         || Wahr wenn die Wiedergabe pausiert ist
 
|-
 
|-
| ReplayDuration      ||  
+
| ReplayPosition        ||                                 || Position in der Wiedergabe, fertig formatiert, mit Frames auf Schnittmarken, sonst ohne Frames
 
|-
 
|-
| ReplayMode         ||  
+
| ReplayDuration        ||                                  || Dauer der Wiedergabe, fertig formatiert
 +
|-
 +
| ReplayMode             ||                                  || Art der Wiedergabe (z.B. "dvd", "vcd", "normal", ...)
 +
|-
 +
| ButtonRed              || (* auch in [[#Channel Display]], [[#Menu Display]]) || Text des roten Button, wenn vorhanden
 +
|-
 +
| ButtonGreen            || (* auch in [[#Channel Display]], [[#Menu Display]]) || Text des grünen Button, wenn vorhanden
 +
|-
 +
| ButtonYellow          || (* auch in [[#Channel Display]], [[#Menu Display]]) || Text des gelben Button, wenn vorhanden
 +
|-
 +
| ButtonBlue            || (* auch in [[#Channel Display]], [[#Menu Display]]) || Text des blauen Button, wenn vorhanden
 +
|-
 +
| ReplayIsShuffle        ||                                  || Wahr wenn die Wiedergabe im Zufalls-Modus ist (derzeit nur MP3)
 +
|-
 +
| ReplayIsLoop          ||                                  || Wahr wenn die Wiedergabe im Wiederholungs-Modus ist (derzeit nur MP3)
 
|}
 
|}
  
===Menu Page===
+
===Menu Display===
 
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 
|- bgcolor=#efefef
 
|- bgcolor=#efefef
 
!width=20%|Token
 
!width=20%|Token
!Beschreibung
+
!width=20%|Bemerkung
 +
!width=80%|Beschreibung
 
|-
 
|-
| MenuTitle     ||  
+
| MenuTitle             || Attribut: "clean", "rest"        || Titelzeile der Menüseite oder gefilterter Titel mit "clean", oder Rest des gefilterten Titels mit "rest"
 
|-
 
|-
| MenuGroup     ||  
+
| MenuGroup             ||                                 || Text des aktuellen Listeneintrags, wenn es sich um eine Gruppe/Trenner handelt
 
|-
 
|-
| IsMenuGroup   ||  
+
| IsMenuGroup           ||                                 || Wahr wenn aktuell gezeichneter Eintrag eine Gruppe/Trenner ist
 
|-
 
|-
| MenuItem     ||  
+
| MenuItem               ||                                 || Text des aktuellen Listeneintrags, wenn es sich um einen normalen Eintrag handelt
 
|-
 
|-
| IsMenuItem   ||  
+
| IsMenuItem             ||                                 || Wahr wenn der aktuell gezeichnete Eintrag ein normaler Eintrag ist
 
|-
 
|-
| MenuCurrent   ||  
+
| MenuCurrent           || Attribut: "clean"                || Text des aktuellen Listeneintrags, wenn es sich um den ausgewählten Eintrag handelt
 
|-
 
|-
| IsMenuCurrent ||  
+
| IsMenuCurrent         ||                                 || Wahr wenn der aktuell gezeichnete Eintrag der zur Zeit ausgewählte ist
 
|-
 
|-
| MenuText     ||  
+
| MenuText               ||                                 || Textseite, die statt der Liste angezeigt werden soll (z.B. Ausgabe im Befehle-Menü)
 
|-
 
|-
| ButtonRed     ||  
+
| ButtonRed             || (* auch in [[#Channel Display]], [[#Replay Display]]) ||  
 
|-
 
|-
| ButtonGreen   ||  
+
| ButtonGreen           || (* auch in [[#Channel Display]], [[#Replay Display]]) ||  
 
|-
 
|-
| ButtonYellow ||  
+
| ButtonYellow           || (* auch in [[#Channel Display]], [[#Replay Display]]) ||
 
|-
 
|-
| ButtonBlue   ||  
+
| ButtonBlue             || (* auch in [[#Channel Display]], [[#Replay Display]]) ||  
 
|-
 
|-
| CanScrollUp   ||  
+
| CanScrollUp           ||                                 || Wahr wenn ein Scrolltext angezeigt wird, der aktuell nach oben gescrollt werden kann
 
|-
 
|-
| CanScrollDown ||  
+
| CanScrollDown         ||                                 || Wahr wenn ein Scrolltext angezeigt wird, der aktuell nach unten gescrollt werden kann
 +
|-
 +
| PresentStartDateTime  || (* auch in [[#Channel Display]]) ||
 +
|-
 +
| PresentVPSDateTime    || (* auch in [[#Channel Display]]) ||
 +
|-
 +
| PresentEndDateTime    || (* auch in [[#Channel Display]]) ||
 +
|-
 +
| PresentDuration        || (* auch in [[#Channel Display]]) ||
 +
|-
 +
| PresentProgress        || (* auch in [[#Channel Display]]) ||
 +
|-
 +
| PresentRemaining      || (* auch in [[#Channel Display]]) ||
 +
|-
 +
| PresentTitle          || (* auch in [[#Channel Display]]) ||
 +
|-
 +
| PresentShortText      || (* auch in [[#Channel Display]]) ||
 +
|-
 +
| PresentDescription    || (* auch in [[#Channel Display]]) ||
 +
|-
 +
| PresentHasVPS          || (* auch in [[#Channel Display]]) ||
 +
|-
 +
| PresentHasTimer (alt: HasTimer)|| (* auch in [[#Channel Display]]) ||
 +
|-
 +
| PresentIsRunning (alt: IsRunning)|| (* auch in [[#Channel Display]]) ||
 +
|-
 +
| ChannelHasVPS (alt: HasVPS)|| (* auch in [[#Channel Display]]) ||
 +
|}
 +
 
 +
===Audio Tracks Display===
 +
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 +
|- bgcolor=#efefef
 +
!width=20%|Token
 +
!width=20%|Bemerkung
 +
!width=80%|Beschreibung
 +
|-
 +
| MenuTitle              ||                                  || Titelzeile der Audiotrack-Liste
 +
|-
 +
| AudioTrack            || (* auch in allen anderen Displays)|| Bezeichnung des aktuell eingestellten Audio-Track
 +
|-
 +
| AudioChannel          || (* auch in allen anderen Displays)|| Bezeichnung des geschalteten Kanals ("stereo", "left" oder "right")
 
|}
 
|}
  
 
==Funktionen==
 
==Funktionen==
 
===not===
 
===not===
 +
Negierung einer Funktion.
 +
not(equal({PresentStartDateTime},{PresentVPSDateTime}))
  
 
===and===
 
===and===
 +
Wahr, wenn alle Parameter wahr sind.
 +
and({CanScrollUp},{CanScrollDown})
  
 
===or===
 
===or===
 +
Wahr, wenn mindestens ein Parameter wahr ist.
 +
or({CanScrollUp},{CanScrollDown})
  
 
===equal===
 
===equal===
 +
Wahr, wenn beide Parameter gleich sind.
 +
equal('Kanäle', trans('Channels'))
 +
 +
===ne===
 +
Wahr, wenn beide Parameter ungleich (not equal) sind.
 +
ne({ReplayMode}, 'normal')
 +
 +
===gt===
 +
Wahr, wenn der erste Parameter größer als (greater than) der zweite ist.
 +
  gt({FreeDiskSpace},5000)
 +
 +
===ge===
 +
Wahr, wenn der erste Parameter größer oder gleich (greater/equal) dem zweiten ist.
 +
  ge({FreeDiskSpace},5000)
 +
 +
===lt===
 +
Wahr, wenn der erste Parameter kleiner als (less than) der zweite ist.
 +
  lt({FreeDiskSpace},5000)
 +
 +
===le===
 +
Wahr, wenn der erste Parameter kleiner oder gleich (less/equal) dem zweiten ist.
 +
  le({FreeDiskSpace},5000)
  
 
===file===
 
===file===
 +
Liefert den Parameter zurück, wenn die dort angegebene Datei existiert.
 +
file('logos/{ChannelName}.png')
  
 
===trans===
 
===trans===
 +
Liefert die Übersetzung (nach i18n) des Parameters; falsch, wenn keine Übersetzung gefunden wurde.
 +
equal('Kanäle', trans('Channels'))
 +
 +
==Attribute==
 +
===x/y Koordinaten===
 +
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 +
|- bgcolor=#efefef
 +
!width=10%|Attribut
 +
!width=10%|Wertebereich
 +
!width=40%|Bedeutung absolute Mode
 +
!width=40%|Bedeutung relative Mode
 +
|-
 +
| x1  || -720..-1, 0..+719  || links, bezogen auf Gesamtfläche || links, bezogen auf OSD Position
 +
|-
 +
| y1  || -576..-1, 0..+575  || oben,  bezogen auf Gesamtfläche || oben,  bezogen auf OSD Position
 +
|-
 +
| x2  || -720..-1, 0..+719  || rechts bezogen auf Gesamtfläche || links, bezogen auf OSD Position
 +
|-
 +
| y2  || -576..-1, 0..+575  || unten  bezogen auf Gesamtfläche || links, bezogen auf OSD Position
 +
|-
 +
| x    || -720..-1, 0..+719  || links (unscaliert), bezogen auf Gesamtfläche || links (unscaliert), bezogen auf OSD Position
 +
|-
 +
| y    || -576..-1, 0..+575  || oben  (unscaliert), bezogen auf Gesamtfläche || oben  (unscaliert), bezogen auf OSD Position
 +
|}
 +
 +
Die Koordinaten x1, y1, x2, y2, x, y beziehen sich im 'absolute' Mode auf die gesamte darstellbare Bildfläche von 720x576 Pixeln. Im 'relative' Mode beziehen sich alle Angaben stattdessen auf die OSD-Fläche, welche je nach Einstellungen im VDR-Setup (OSD Links, Rechts, Höhe, Breite, 4:3, 16:9) in Größe und Position variiert. Positive Werte (inklusive Null) für x{n} und y{n} sind als Offset zur linken oberen Ecke zu verstehen, negative Werte als Offset zur rechten unteren Ecke. x-Werte sind horizontale Angaben, y-Werte vertikale.
 +
 +
{{Box Hinweis|
 +
Wenn möglich sollten Skins im 'relative' Mode mit x1, y1, x, y als positiven Werten angegeben werden und x2, y2 als negativen Werten. So wird gewährleistet, dass das erstellte Skin immer vollständig dargestellt werden kann.
 +
}}
 +
 +
===arc===
 +
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;"
 +
|- bgcolor=#efefef
 +
!width=10%|Attribut
 +
!width=10%|Wert
 +
!width=40%|Bedeutung
 +
!width=40%|
 +
|-
 +
| arc  || 0      || Bei ellipse: volle Ellipse      || Bei slope: horizontal, steigend, unten
 +
|-
 +
|      || 1      || Bei ellipse: erster Quadrant    || Bei slope: horizontal, steigend, oben
 +
|-
 +
|      || 2      || Bei ellipse: zweiter Quadrant  || Bei slope: horizontal, fallend, unten
 +
|-
 +
|      || 3      || Bei ellipse: dritter Quadrant  || Bei slope: horizontal, fallend, oben
 +
|-
 +
|      || 4      || Bei ellipse: vierter Quadrant  || Bei slope: vertikal, steigend, rechts
 +
|-
 +
|      || 5      || Bei ellipse: rechte Hälfte      || Bei slope: vertikal, steigend, links
 +
|-
 +
|      || 6      || Bei ellipse: obere Hälfte      || Bei slope: vertikal, fallend, rechts
 +
|-
 +
|      || 7      || Bei ellipse: linke Hälfte      || Bei slope: vertikal, fallend, links
 +
|-
 +
|      || 8      || Bei ellipse: untere Hälfte      ||
 +
|-
 +
|      || -1..-8 || Bei ellipse: s.o., invertiert  ||
 +
|}
 +
[[Bild: Skin-ref-01.jpg|thumb|left|50px|]]
 +
[[Bild: Skin-ref-02.jpg|thumb|left|20px|]]
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
Abbildungen der Formen von Ellipse und Slope siehe Thumbnails.
 +
 +
===color===
 +
Betrifft auch: bgColor, blinkColor, mark, active, keep
 +
 +
Farben werden im RGB-Format mit Transparenz angegeben. Also etwa
 +
color="#AARRGGBB"
 +
Farben können auch als symbolischer Wert angegeben werden, welcher in der .colors-Datei des Skins aufgelöst wird. Z.B.
 +
color="MenuTextFg"
 +
 +
* A = Alphawert (eigentlich Deckkraft, oft auch Transparenz)
 +
* R = Rotwert
 +
* G = Grünwert
 +
* B = Blauwert
 +
 +
Ein paar Beispiele
 +
        AARRGGBB
 +
color="#00000000" ''= Schwarz, voll transparent (durchsichtig)''
 +
color="#FF000000" ''= Schwarz, volle Deckkraft''
 +
color="#7F000000" ''= Schwarz, halb durchscheinend''
 +
color="#7FFFFFFF" ''= Weiß, halb durchscheinend''
 +
 +
und natürlich alle möglichen Zwischentöne und Transparenzen.
 +
 +
===font===
 +
Es gibt drei vorgegebene Fonts
 +
* Osd
 +
* Fix
 +
* Sml
 +
 +
Wenn man die Freetype-Bibliothek installiert hat und beim compilieren aktiviert hat, lässt sich zusätzlich jeder TrueType-Font verwenden, der unter
 +
* '''/etc/vdr/plugins/text2skin/fonts/'''
 +
oder
 +
* '''/etc/vdr/plugins/text2skin/SkinName/'''
 +
installiert ist.
 +
 +
In der Skindatei gibt man den Fontnamen,
 +
font="Osd"
 +
oder, bei Truetype-Fonts, den Font-Dateinamen und die gewünschte Größe und Breite (optional)
 +
font="helmetr.ttf:Größe[,Breite]"
 +
an.
 +
 +
[[Kategorie:XML-Skins]]
 +
[[Kategorie:Entwicklung]]

Aktuelle Version vom 29. August 2013, 21:22 Uhr

Dies ist eine Kurzreferenz des auf XML-basierenden Skin-Formates des text2skin Plugins.

Inhaltsverzeichnis

[Bearbeiten] Elemente

[Bearbeiten] <skin>

Dies ist das Wurzelelement des Skins. Alle weiteren Elemente liegen verschachtelt in diesem.

Attribut Wert Beschreibung
version VERSION Version des Skin-Formates (fester Wert, aktuell "1.0")
name NAME Name der im VDR-OSD erscheinen soll
screenBase
  • relative
  • absolute
Kennzeichnet, ob das Skin relativ (relative) zum VDR-Setup (OSD links, oben, Breite, Höhe) oder absolut (absolute) auf eine Fläche von 720x576 gezeichnet werden soll
Beispiel
<?xml version="1.0"?>
<skin version="1.0" name="brushed Aluminium" screenBase="relative">
  .
  .
  .
</skin>

[Bearbeiten] <display>

Das OSD von VDR hat mehrere "Darstellungen". Die wichtigsten wären das Hauptmenu und die Kanalinfo-Anzeige. Für jeden Bereich, der mit dem Skin gestaltet werden soll muss ein <display> Container erstellt werden.

Attribut Wert Beschreibung
id
  • channelInfo
  • channelSmall
  • volume
  • message
  • replayInfo
  • replaySmall
  • menu
  • audioTracks
Bezeichnet den Typ der OSD-Darstellung
Beispiel
<?xml version="1.0"?>
<skin version="1.0" name="brushed Aluminium" screenBase="relative">
  <display id="replayInfo">
   .
   .
   .
  </display>
</skin>

[Bearbeiten] <window>

Jeder Display-Container beginnt mit der Vorgabe von Zeichenflächen, auf denen dann die Elemente platziert werden können.

Attribut Wert Beschreibung
x1 ZAHL Position der linken Kante
y1 ZAHL Position der oberen Kante
x2 ZAHL Position der rechten Kante
y2 ZAHL Position der unteren Kante
bpp ZAHL Farbtiefe des Zeichenfläche, 4 = 16Farben, 8 = 256Farben
Beispiel
<?xml version="1.0"?>
<skin version="1.0" name="brushed Aluminium" screenBase="relative">
  <display id="replayInfo">
    <window x1="0" x2="619" y1="-113" y2="-84" bpp="4" />
    <window x1="20" x2="99" y1="-83" y2="-44" bpp="4" />
     .
     .
     .
  </display>
</skin>

[Bearbeiten] <rectangle>

Zeichnet ein gefülltes Rechteck.

Attribut Wert Beschreibung
x1 ZAHL Position der linken Kante
y1 ZAHL Position der oberen Kante
x2 ZAHL Position der rechten Kante
y2 ZAHL Position der unteren Kante
condition FUNKTION/TOKEN Komplexe Bedingung
color STRING Füllfarbe des Rechtecks
Beispiel
<rectangle x1="20" x2="99" y1="-83" y2="-44" color="#00000000" />

[Bearbeiten] <ellipse>

Zeichnet einen gefüllten Kreis, eine Ellipse oder Teile davon.

Attribut Wert Beschreibung
x1 ZAHL Position der linken Kante
y1 ZAHL Position der oberen Kante
x2 ZAHL Position der rechten Kante
y2 ZAHL Position der unteren Kante
condition FUNKTION/TOKEN Komplexe Bedingung
color STRING Füllfarbe der Ellipse
arc ZAHL Kreisbogen
Beispiel
<ellipse x1="5" y1="7" x2="14" y2="15" color="GraphLight" condition="{IsMenuCurrent}"/>

[Bearbeiten] <slope>

Eine Kurve.

Attribut Wert Beschreibung
x1 ZAHL Position der linken Kante
y1 ZAHL Position der oberen Kante
y2 ZAHL Position der rechten Kante
x2 ZAHL Position der unteren Kante
condition FUNKTION/TOKEN Komplexe Bedingung
color STRING Farbe der Kurve
arc ZAHL Richtung
Beispiel
 <slope x1="10" x2="100" y1="10" y2="100" arc="1" color="#CC000066" />

[Bearbeiten] <image>

Anzeige eines Bildes

Attribut Wert Beschreibung
x ZAHL Position der linken Kante (keine Skalierung)
y ZAHL Position der oberen Kante (keine Skalierung)
x1 ZAHL Position der linken Kante (wenn skaliert werden soll)
y1 ZAHL Position der oberen Kante (wenn skaliert werden soll)
x2 ZAHL Position der rechten Kante (wenn skaliert werden soll)
y2 ZAHL Position der unteren Kante (wenn skaliert werden soll)
condition FUNKTION/TOKEN Komplexe Bedingung
alpha ZAHL Überlagerte Transparenz von 0-255
colors ZAHL Maximale Anzahl der Farben im Ergebnisbild (wenn skaliert werden soll)
color STRING Austauschfarbe für Farbe 1 des Bildes
bgColor STRING Austauschfarbe für Farbe 0 des Bildes
maskColor STRING Maskenfarbe (wird beim Zeichnen ausgelassen)
path STRING/TOKEN Pfad zur Bilddatei
Beispiel
<image x="0" y="-70" path="Aluminium_volumebar.png" />
<image x="585" y="138" condition="{CanScrollUp}" path="symbols/arrowup.xpm" color="#AFFFFF00" />

[Bearbeiten] <text>

Ein statischer oder zusammengesetzter Text.

Attribut Wert Beschreibung
x1 ZAHL Position der linken Kante
y1 ZAHL Position der oberen Kante
x2 ZAHL Position der rechten Kante
y2 ZAHL Position der unteren Kante
condition FUNKTION/TOKEN Komplexe Bedingung
color STRING Textfarbe
align
  • center
  • right
  • left
Ausrichtung des Textes (Zentriert, Rechtsbündig, Linksbündig)
font STRING Name des Fonts
Beispiel
<text x1="42" x2="571" y1="-113" y2="-86" color="#FF000000" font="Osd">{ReplayTitle}</text>

[Bearbeiten] <marquee>

Alternative zu <text>. Scrollt überlange Texte hin und her.

Attribut Wert Beschreibung
x1 ZAHL Position der linken Kante
y1 ZAHL Position der oberen Kante
y2 ZAHL Position der rechten Kante
x2 ZAHL Position der unteren Kante
condition FUNKTION/TOKEN Komplexe Bedingung
color STRING Textfarbe
delay ZAHL Verzögerung des Scrollens in ms (Laufgeschwindigkeit)
align
  • center
  • right
  • left
Ausrichtung des Textes (Zentriert, Rechtsbündig, Linksbündig)
font STRING Name des Fonts
Beispiel
<marquee x1="130" x2="480" y1="423" y2="445" color="Text" font="Sml">{ReplayTitle}</marquee>

[Bearbeiten] <blink>

Alternative zu <text>. Stellt Text blinkend dar.

Attribut Wert Beschreibung
x1 ZAHL Position der linken Kante
y1 ZAHL Position der oberen Kante
y2 ZAHL Position der rechten Kante
x2 ZAHL Position der unteren Kante
condition FUNKTION/TOKEN Komplexe Bedingung
color STRING Textfarbe
blinkColor STRING Highlightfarbe (Optional: Ansonsten wird an/aus geblinkt)
delay ZAHL Pause zwischen Umschalten
align
  • center
  • right
  • left
Ausrichtung des Textes (Zentriert, Rechtsbündig, Linksbündig)
font STRING Name des Fonts
Beispiel
<blink x1="30" x2="80" y1="90" y2="80" color="Text" blinkColor="Green" delay="800" font="Sml"
       condition="{IsRunning}">{PresentStartDateTime:%H\:%M}</blink>

[Bearbeiten] <scrolltext>

Ein mehrzeiliger Text.

Attribut Wert Beschreibung
x1 ZAHL Position der linken Kante
y1 ZAHL Position der oberen Kante
x2 ZAHL Position der rechten Kante
y2 ZAHL Position der unteren Kante
condition FUNKTION/TOKEN Komplexe Bedingung
color STRING Farbe des Textes
align
  • center
  • right
  • left
Ausrichtung des Textes (Zentriert, Rechtsbündig, Linksbündig)
font STRING Name des Fonts
Beispiel
<scrolltext x1="24" y1="138" y2="-72" x2="583" font="helmetr.ttf:20" color="#AFFFFF00">
{PresentShortText}
{PresentDescription}
</scrolltext>

[Bearbeiten] <scrollbar>

Eine Scrollleiste.

Attribut Wert Beschreibung
x1 ZAHL Position der linken Kante
y1 ZAHL Position der oberen Kante
x2 ZAHL Position der rechten Kante
y2 ZAHL Position der unteren Kante
condition FUNKTION/TOKEN Komplexe Bedingung
color STRING Farbe des Balkens
bgColor STRING Farbe des Hintergrunds
Beispiel
<scrollbar x1="585" x2="608" y1="162" y2="-110" color="#AFFFFF00" bgColor="#8F2B1B9E" />

[Bearbeiten] <progress>

Eine Fortschrittsanzeige

Attribut Wert Beschreibung
x1 ZAHL Position der linken Kante
y1 ZAHL Position der oberen Kante
x2 ZAHL Position der rechten Kante
y2 ZAHL Position der unteren Kante
condition FUNKTION/TOKEN Komplexe Bedingung
color STRING Farbe des Balkens
bgColor STRING Farbe des Hintergrunds
mark STRING Farbe der Schnittmarkierungen
active STRING Farbe des aktiven Bereiches
keep STRING Farbe des Bereiches der nicht herausgeschnitten wird
current ZAHL/TOKEN Aktueller Indexwert
total ZAHL/TOKEN Maximaler Indexwert
Beispiel
<progress x1="19" x2="556" y1="-17" y2="-7" color="#AF000000" current="{VolumeCurrent}" total="{VolumeTotal}" />
<progress x1="129" x2="478" y1="487" y2="502" color="#FFCE7B00" bgColor="Blue" mark="Black" active="Black" keep="Black" current="{ReplayPositionIndex}"  total="{ReplayDurationIndex}"/>

[Bearbeiten] <block>

Ein <block></block> fasst mehrere Objekte zusammen

Attribut Wert Beschreibung
condition FUNKTION Komplexe Bedingung
Beispiel
<block condition="file('logos/{ChannelName}.mng')"> 
 <rectangle x1="4" x2="67" y1="4" y2="51" color="#AF000000" />
 <image x="0" y="0" path="logos/{ChannelName}.mng" />
</block>

[Bearbeiten] <list>

Definiert die Liste im Menü.

Attribut Wert Beschreibung
x1 ZAHL Position der linken Kante
y1 ZAHL Position der oberen Kante
x2 ZAHL Position der rechten Kante
y2 ZAHL Position der unteren Kante
condition FUNKTION/TOKEN Komplexe Bedingung (möglich, macht aber wenig Sinn)
Beispiel
<list x1="24" y1="62" x2="569" y2="-82">
  <item height="28"/>
  <text x1="25" x2="569" y1="3" y2="27" color="#AF00FFFF" font="Sml">{MenuGroup}</text>
  <text x1="25" x2="569" y1="3" y2="27" color="#AFFFFFFF" font="Sml">{MenuItem}</text>
  <rectangle x1="0" x2="579" y1="0" y2="27" color="#FF2B1B9E" condition="{IsMenuCurrent}" />
  <text x1="22" x2="569" y1="0" y2="27" color="#AFFFFFFF" font="Osd">{MenuCurrent}</text>
  <text x1="0" x2="25" y1="0" y2="27" color="#AFFFFFFF" font="Osd">-></text>
</list>

[Bearbeiten] <item>

Definiert ein Item der Liste.

Attribut Wert Beschreibung
condition FUNKTION/TOKEN Komplexe Bedingung (möglich, macht aber wenig Sinn)
height ZAHL Höhe eines Listeneintrags
Beispiel
<list x1="24" y1="62" x2="569" y2="-82">
  <item height="28" />
  <text x1="25" x2="569" y1="3" y2="27" color="#AF00FFFF" font="Sml">{MenuGroup}</text>
  <text x1="25" x2="569" y1="3" y2="27" color="#AFFFFFFF" font="Sml">{MenuItem}</text>
  <rectangle x1="0" x2="579" y1="0" y2="27" color="#FF2B1B9E" condition="{IsMenuCurrent}" />
  <text x1="22" x2="569" y1="0" y2="27" color="#AFFFFFFF" font="Osd">{MenuCurrent}</text>
  <text x1="0" x2="25" y1="0" y2="27" color="#AFFFFFFF" font="Osd">-></text>
</list>

[Bearbeiten] Token

[Bearbeiten] Allgemein

Token Bemerkung Beschreibung
DateTime (s.h. "man strftime") Aktuelles Datum/Uhrzeit
IsRecording Wahr wenn eine Aufzeichnung stattfindet
CurrentRecording Liefert im Zwei-Sekunden-Takt alle aktuell laufenden Aufnahmen
Attribut: Zahl, um n-te laufende Aufnahme zu wählen
FreeDiskSpace Aktueller Restspeicherplatz als Zahl in MB
Attribut: Rückgabe als formatierte Zeit

[Bearbeiten] Channel Display

Token Bemerkung Beschreibung
ChannelNumber Kanalnummer ("Kanalnummer-" wenn gerade eine Eingabe stattfindet)
ChannelName Kanalname oder Gruppenname
ChannelShortName Kurzname des Kanals, wenn vorhanden
ChannelBouquet Provider/Bouquetname, wenn vorhanden
ChannelPortal Portalname, wenn vorhanden
ChannelSource Signalquelle (z.B. "S19.2E")
PresentStartDateTime (* auch in #Menu Display) Startzeit des aktuellen Titels
PresentVPSDateTime (* auch in #Menu Display) VPS-Startzeit des aktuellen Titels, wenn vorhanden
PresentEndDateTime (* auch in #Menu Display) Ende-Zeit des aktuellen Titels
PresentDuration (* auch in #Menu Display) Dauer des aktuellen Titels
PresentProgress (* auch in #Menu Display) Bisherige Laufzeit des aktuellen Titels
PresentRemaining (* auch in #Menu Display) Restzeit des aktuellen Titels
PresentTitle (* auch in #Menu Display) Titel/Überschrift des aktuellen Titels
PresentShortText (* auch in #Menu Display) Kurztext/Episode des aktuellen Titels
PresentDescription (* auch in #Menu Display) Beschreibung des aktuellen Titels
PresentHasTimer (alt: HasTimer) (* auch in #Menu Display) Wahr wenn der aktuelle Titel von einem Timer erfasst wird
PresentIsRunning (alt: IsRunning) (* auch in #Menu Display) Wahr wenn der aktuelle Titel den Status "running" hat
PresentHasVPS (* auch in #Menu Display) Wahr wenn die Sendung eine eigene VPS-Zeit hat
FollowingStartDateTime Startzeit des folgenden Titels
FollowingVPSDateTime VPS-Startzeit des folgenden Titels, wenn vorhanden
FollowingEndDateTime Ende-Zeit des folgenden Titels
FollowingDuration Dauer des folgenden Titels
FollowingTitle Titel/Überschrift des folgenden Titels
FollowingShortText Kurztext/Episode des folgenden Titels
FollowingDescription Beschreibung des folgenden Titels
FollowingHasTimer Wahr wenn der folgende Titel von einem Timer erfasst wird
FollowingIsRunning Wahr wenn der folgende Titel den Status "running" hat
FollowingHasVPS Wahr wenn der folgende Titel eine eigene VPS-Zeit hat
ButtonRed (* auch in #Menu Display, #Replay Display) Beschriftung des roten Buttons, wenn vorhanden
ButtonGreen (* auch in #Menu Display, #Replay Display) Beschriftung des grünen Buttons, wenn vorhanden
ButtonYellow (* auch in #Menu Display, #Replay Display) Beschriftung des gelben Buttons, wenn vorhanden
ButtonBlue (* auch in #Menu Display, #Replay Display) Beschriftung des blauen Buttons, wenn vorhanden
Language Sprache (noch nur "Audio 1", "Audio 2" oder "Digital Audio")
ChannelHasTeletext (alt: HasTeletext) Wahr wenn der Sender Videotext ausstrahlt
ChannelHasMultilang (alt: HasMultilang) Wahr wenn der Sender mehrere Tonspuren ausstrahlt
ChannelHasDolby (alt: HasDolby) Wahr wenn der Sender Mehrkanal-Digitalton ausstrahlt
ChannelIsEncrypted (alt: IsEncrypted) Wahr wenn der Sender verschlüsselt ist
ChannelIsRadio (alt: IsRadio) Wahr wenn der Sender ein Radiosender ist
ChannelHasVPS (alt: HasVPS) Wahr wenn der Sender VPS ausstrahlen kann

[Bearbeiten] Volume Display

Token Bemerkung Beschreibung
VolumeCurrent Aktueller Lautstärkewert (0-VolumeTotal) (numerisch)
VolumeTotal Maximaler Lautstärkewert
VolumeIsMute (alt: IsMute) Wahr wenn Stummschaltung aktiv ist

[Bearbeiten] Message Display

Token Bemerkung Beschreibung
Message (* auch in allen anderen Displays) Text der aktuellen Nachricht (Typ egal), wenn vorhanden
MessageStatus (* auch in allen anderen Displays) Text der aktuellen Nachricht, wenn vorhanden und vom Typ Statusnachricht
MessageInfo (* auch in allen anderen Displays) Text der aktuellen Nachricht, wenn vorhanden und vom Typ Information
MessageWarning (* auch in allen anderen Displays) Text der aktuellen Nachricht, wenn vorhanden und vom Typ Warnung
MessageError (* auch in allen anderen Displays) Text der aktuellen Nachricht, wenn vorhanden und vom Typ Fehler

[Bearbeiten] Replay Display

Token Bemerkung Beschreibung
ReplayTitle Attribut: clean Titel der aktuell laufenden Wiedergabe
ReplayPositionIndex Position in der Wiedergabe (numerisch, analog zu PresentProgress)
ReplayDurationIndex Dauer der Wiedergabe (numerisch, analog zu PresentDuration)
ReplayRemaining Restzeit der Wiedergabe (numerisch, analog zu PresentRemaining)
ReplayPrompt Eingabeaufforderung, wenn vorhanden (z.B. "Springen: --:--")
ReplayIsPlaying (alt: IsPlaying) Attribut: 0 = kein Multispeed, 1-3 = Multispeed, keines = egal Wahr wenn die Wiedergabe normal abläuft
ReplayIsFastForward (alt: IsFastForward) Attribut: 0 = kein Multispeed, 1-3 = Multispeed, keines = egal Wahr wenn schneller Vorlauf aktiv ist
ReplayIsFastRewind (alt: IsFastRewind) Attribut: 0 = kein Multispeed, 1-3 = Multispeed, keines = egal Wahr wenn schneller Rücklauf aktiv ist
ReplayIsSlowForward (alt: IsSlowForward) Attribut: 0 = kein Multispeed, 1-3 = Multispeed, keines = egal Wahr wenn Vorwärts-Zeitlupe aktiv ist
ReplayIsSlowRewind (alt: IsSlowRewind) Attribut: 0 = kein Multispeed, 1-3 = Multispeed, keines = egal Wahr wenn Rückwärts-Zeitlupe aktiv ist
ReplayIsPausing (alt: IsPausing) Wahr wenn die Wiedergabe pausiert ist
ReplayPosition Position in der Wiedergabe, fertig formatiert, mit Frames auf Schnittmarken, sonst ohne Frames
ReplayDuration Dauer der Wiedergabe, fertig formatiert
ReplayMode Art der Wiedergabe (z.B. "dvd", "vcd", "normal", ...)
ButtonRed (* auch in #Channel Display, #Menu Display) Text des roten Button, wenn vorhanden
ButtonGreen (* auch in #Channel Display, #Menu Display) Text des grünen Button, wenn vorhanden
ButtonYellow (* auch in #Channel Display, #Menu Display) Text des gelben Button, wenn vorhanden
ButtonBlue (* auch in #Channel Display, #Menu Display) Text des blauen Button, wenn vorhanden
ReplayIsShuffle Wahr wenn die Wiedergabe im Zufalls-Modus ist (derzeit nur MP3)
ReplayIsLoop Wahr wenn die Wiedergabe im Wiederholungs-Modus ist (derzeit nur MP3)

[Bearbeiten] Menu Display

Token Bemerkung Beschreibung
MenuTitle Attribut: "clean", "rest" Titelzeile der Menüseite oder gefilterter Titel mit "clean", oder Rest des gefilterten Titels mit "rest"
MenuGroup Text des aktuellen Listeneintrags, wenn es sich um eine Gruppe/Trenner handelt
IsMenuGroup Wahr wenn aktuell gezeichneter Eintrag eine Gruppe/Trenner ist
MenuItem Text des aktuellen Listeneintrags, wenn es sich um einen normalen Eintrag handelt
IsMenuItem Wahr wenn der aktuell gezeichnete Eintrag ein normaler Eintrag ist
MenuCurrent Attribut: "clean" Text des aktuellen Listeneintrags, wenn es sich um den ausgewählten Eintrag handelt
IsMenuCurrent Wahr wenn der aktuell gezeichnete Eintrag der zur Zeit ausgewählte ist
MenuText Textseite, die statt der Liste angezeigt werden soll (z.B. Ausgabe im Befehle-Menü)
ButtonRed (* auch in #Channel Display, #Replay Display)
ButtonGreen (* auch in #Channel Display, #Replay Display)
ButtonYellow (* auch in #Channel Display, #Replay Display)
ButtonBlue (* auch in #Channel Display, #Replay Display)
CanScrollUp Wahr wenn ein Scrolltext angezeigt wird, der aktuell nach oben gescrollt werden kann
CanScrollDown Wahr wenn ein Scrolltext angezeigt wird, der aktuell nach unten gescrollt werden kann
PresentStartDateTime (* auch in #Channel Display)
PresentVPSDateTime (* auch in #Channel Display)
PresentEndDateTime (* auch in #Channel Display)
PresentDuration (* auch in #Channel Display)
PresentProgress (* auch in #Channel Display)
PresentRemaining (* auch in #Channel Display)
PresentTitle (* auch in #Channel Display)
PresentShortText (* auch in #Channel Display)
PresentDescription (* auch in #Channel Display)
PresentHasVPS (* auch in #Channel Display)
PresentHasTimer (alt: HasTimer) (* auch in #Channel Display)
PresentIsRunning (alt: IsRunning) (* auch in #Channel Display)
ChannelHasVPS (alt: HasVPS) (* auch in #Channel Display)

[Bearbeiten] Audio Tracks Display

Token Bemerkung Beschreibung
MenuTitle Titelzeile der Audiotrack-Liste
AudioTrack (* auch in allen anderen Displays) Bezeichnung des aktuell eingestellten Audio-Track
AudioChannel (* auch in allen anderen Displays) Bezeichnung des geschalteten Kanals ("stereo", "left" oder "right")

[Bearbeiten] Funktionen

[Bearbeiten] not

Negierung einer Funktion.

not(equal({PresentStartDateTime},{PresentVPSDateTime}))

[Bearbeiten] and

Wahr, wenn alle Parameter wahr sind.

and({CanScrollUp},{CanScrollDown})

[Bearbeiten] or

Wahr, wenn mindestens ein Parameter wahr ist.

or({CanScrollUp},{CanScrollDown})

[Bearbeiten] equal

Wahr, wenn beide Parameter gleich sind.

equal('Kanäle', trans('Channels'))

[Bearbeiten] ne

Wahr, wenn beide Parameter ungleich (not equal) sind.

ne({ReplayMode}, 'normal')

[Bearbeiten] gt

Wahr, wenn der erste Parameter größer als (greater than) der zweite ist.

 gt({FreeDiskSpace},5000)

[Bearbeiten] ge

Wahr, wenn der erste Parameter größer oder gleich (greater/equal) dem zweiten ist.

 ge({FreeDiskSpace},5000)

[Bearbeiten] lt

Wahr, wenn der erste Parameter kleiner als (less than) der zweite ist.

 lt({FreeDiskSpace},5000)

[Bearbeiten] le

Wahr, wenn der erste Parameter kleiner oder gleich (less/equal) dem zweiten ist.

 le({FreeDiskSpace},5000)

[Bearbeiten] file

Liefert den Parameter zurück, wenn die dort angegebene Datei existiert.

file('logos/{ChannelName}.png')

[Bearbeiten] trans

Liefert die Übersetzung (nach i18n) des Parameters; falsch, wenn keine Übersetzung gefunden wurde.

equal('Kanäle', trans('Channels'))

[Bearbeiten] Attribute

[Bearbeiten] x/y Koordinaten

Attribut Wertebereich Bedeutung absolute Mode Bedeutung relative Mode
x1 -720..-1, 0..+719 links, bezogen auf Gesamtfläche links, bezogen auf OSD Position
y1 -576..-1, 0..+575 oben, bezogen auf Gesamtfläche oben, bezogen auf OSD Position
x2 -720..-1, 0..+719 rechts bezogen auf Gesamtfläche links, bezogen auf OSD Position
y2 -576..-1, 0..+575 unten bezogen auf Gesamtfläche links, bezogen auf OSD Position
x -720..-1, 0..+719 links (unscaliert), bezogen auf Gesamtfläche links (unscaliert), bezogen auf OSD Position
y -576..-1, 0..+575 oben (unscaliert), bezogen auf Gesamtfläche oben (unscaliert), bezogen auf OSD Position

Die Koordinaten x1, y1, x2, y2, x, y beziehen sich im 'absolute' Mode auf die gesamte darstellbare Bildfläche von 720x576 Pixeln. Im 'relative' Mode beziehen sich alle Angaben stattdessen auf die OSD-Fläche, welche je nach Einstellungen im VDR-Setup (OSD Links, Rechts, Höhe, Breite, 4:3, 16:9) in Größe und Position variiert. Positive Werte (inklusive Null) für x{n} und y{n} sind als Offset zur linken oberen Ecke zu verstehen, negative Werte als Offset zur rechten unteren Ecke. x-Werte sind horizontale Angaben, y-Werte vertikale.

Hinweis
Hinweis

Wenn möglich sollten Skins im 'relative' Mode mit x1, y1, x, y als positiven Werten angegeben werden und x2, y2 als negativen Werten. So wird gewährleistet, dass das erstellte Skin immer vollständig dargestellt werden kann.


[Bearbeiten] arc

Attribut Wert Bedeutung
arc 0 Bei ellipse: volle Ellipse Bei slope: horizontal, steigend, unten
1 Bei ellipse: erster Quadrant Bei slope: horizontal, steigend, oben
2 Bei ellipse: zweiter Quadrant Bei slope: horizontal, fallend, unten
3 Bei ellipse: dritter Quadrant Bei slope: horizontal, fallend, oben
4 Bei ellipse: vierter Quadrant Bei slope: vertikal, steigend, rechts
5 Bei ellipse: rechte Hälfte Bei slope: vertikal, steigend, links
6 Bei ellipse: obere Hälfte Bei slope: vertikal, fallend, rechts
7 Bei ellipse: linke Hälfte Bei slope: vertikal, fallend, links
8 Bei ellipse: untere Hälfte
-1..-8 Bei ellipse: s.o., invertiert
Skin-ref-01.jpg
Skin-ref-02.jpg






Abbildungen der Formen von Ellipse und Slope siehe Thumbnails.

[Bearbeiten] color

Betrifft auch: bgColor, blinkColor, mark, active, keep

Farben werden im RGB-Format mit Transparenz angegeben. Also etwa

color="#AARRGGBB"

Farben können auch als symbolischer Wert angegeben werden, welcher in der .colors-Datei des Skins aufgelöst wird. Z.B.

color="MenuTextFg"
  • A = Alphawert (eigentlich Deckkraft, oft auch Transparenz)
  • R = Rotwert
  • G = Grünwert
  • B = Blauwert

Ein paar Beispiele

        AARRGGBB
color="#00000000" = Schwarz, voll transparent (durchsichtig)
color="#FF000000" = Schwarz, volle Deckkraft
color="#7F000000" = Schwarz, halb durchscheinend
color="#7FFFFFFF" = Weiß, halb durchscheinend

und natürlich alle möglichen Zwischentöne und Transparenzen.

[Bearbeiten] font

Es gibt drei vorgegebene Fonts

  • Osd
  • Fix
  • Sml

Wenn man die Freetype-Bibliothek installiert hat und beim compilieren aktiviert hat, lässt sich zusätzlich jeder TrueType-Font verwenden, der unter

  • /etc/vdr/plugins/text2skin/fonts/

oder

  • /etc/vdr/plugins/text2skin/SkinName/

installiert ist.

In der Skindatei gibt man den Fontnamen,

font="Osd"

oder, bei Truetype-Fonts, den Font-Dateinamen und die gewünschte Größe und Breite (optional)

font="helmetr.ttf:Größe[,Breite]"

an.