Text2skin-Skin Referenz

Aus VDR Wiki
Wechseln zu: Navigation, Suche
Hinweis
Hinweis

Diese Dokumentation gilt für die kommende "1.0" Version des text2skin-plugins.


Warnung
Warnung

Dies ist nur eine erste Fassung. Sie ist weder vollständig noch Fehlerfrei! --Monroe 13:27, 13. Dez 2004 (CET)


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
name NAME Name der im VDR-OSD erscheinen soll
screenBase
  • relative
  • absolute
Kennzeichnet, ob das Skin relativ (relative) zum VDR-Setup oder absolut (absolute) auf einer Fläche von 720x576 zeichnen 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
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 plaziert 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
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 Farbe mit des Rechteck's
Beispiel
<rectangle x1="20" x2="99" y1="-83" y2="-44" color="#00000000" />

<text>

Ein statischer oder zusammengesetzter Text.

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
align
  • center
  • right
  • left
Ausrichtung des Textes (Blocksatz, 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>

<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 Transparenz von 0-255
color STRING
bgColor STRING
path STRING/TOKEN Bild-datei
Beispiel
<image x="0" y="-70" path="Aluminium_volumebar.png" />
<image x="585" y="138" condition="{CanScrollUp}" path="symbols/arrowup.xpm" color="#AFFFFF00" />

<ellipse>

Zeichnet einen (Teil-)Kreis, oder eine Ellipse.

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 Ellipse
arc ZAHL Kreisbogen
Beispiel
;-(

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

<progress>

Eine Fortschrittsanzeige

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

<scrolltext>

Ein mehrzeiliger Text.

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 des Textes
align
  • center
  • right
  • left
Ausrichtung des Textes (Blocksatz, 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
y2 ZAHL Position der rechten Kante
x2 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" />

<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
y2 ZAHL Position der rechten Kante
x2 ZAHL Position der unteren Kante
condition FUNKTION/TOKEN Komplexe Bedingung
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
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")

Channel Display

Token Bemerkung Beschreibung
ChannelNumber
ChannelName
ChannelShortName
ChannelBouquet
ChannelPortal
ChannelSource
PresentStartDateTime (* auch in #Menu Display)
PresentVPSDateTime (* auch in #Menu Display)
PresentEndDateTime (* auch in #Menu Display)
PresentDuration (* auch in #Menu Display)
PresentProgress (* auch in #Menu Display)
PresentRemaining (* auch in #Menu Display)
PresentTitle (* auch in #Menu Display)
PresentShortText (* auch in #Menu Display)
PresentDescription (* auch in #Menu Display)
FollowingStartDateTime
FollowingVPSDateTime
FollowingEndDateTime
FollowingDuration
FollowingTitle
FollowingShortText
FollowingDescription
ButtonRed (* auch in #Menu Display, #Replay Display)
ButtonGreen (* auch in #Menu Display, #Replay Display)
ButtonYellow (* auch in #Menu Display, #Replay Display)
ButtonBlue (* auch in #Menu Display, #Replay Display)
Language
HasTeletext
HasMultilang
HasDolby
IsEncrypted
IsRadio
IsRecording
HasVPS (* auch in #Menu Display)
HasTimer (* auch in #Menu Display)
IsRunning (* auch in #Menu Display)

Volume Display

Token Bemerkung Beschreibung
VolumeCurrent
VolumeTotal
IsMute

Message Display

Token Bemerkung Beschreibung
Message
MessageStatus
MessageInfo
MessageWarning
MessageError

Replay Display

Token Bemerkung Beschreibung
ReplayTitle
ReplayPositionIndex
ReplayDurationIndex
ReplayPrompt
IsPlaying
IsFastForward
IsFastRewind
IsSlowForward
IsSlowRewind
IsPausing
ReplayPosition
ReplayDuration
ReplayRemaining
ReplayMode
ButtonRed (* auch in #Channel Display, #Menu Display)
ButtonGreen (* auch in #Channel Display, #Menu Display)
ButtonYellow (* auch in #Channel Display, #Menu Display)
ButtonBlue (* auch in #Channel Display, #Menu Display)

Menu Display

Token Bemerkung Beschreibung
MenuTitle Attribut: "clean"
MenuGroup
IsMenuGroup
MenuItem
IsMenuItem
MenuCurrent
IsMenuCurrent
MenuText Attribut: "clean"
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
CanScrollDown
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)
HasVPS (* auch in #Channel Display)
HasTimer (* auch in #Channel Display)
IsRunning (* auch in #Channel Display)

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

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