Text2skin-Skin Referenz

Aus VDR Wiki
Wechseln zu: Navigation, Suche

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

Inhaltsverzeichnis

Elemente

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

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

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

<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" />

<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}"/>

<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" />

<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" />

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

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

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

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

<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" />

<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}"/>

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

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

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

Token

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

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

Volume Display

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

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

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)

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)

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")

Funktionen

not

Negierung einer Funktion.

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

and

Wahr, wenn alle Parameter wahr sind.

and({CanScrollUp},{CanScrollDown})

or

Wahr, wenn mindestens ein Parameter wahr ist.

or({CanScrollUp},{CanScrollDown})

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

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

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

trans

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

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

Attribute

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.


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.

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.