summaryrefslogtreecommitdiffstats
path: root/DOCS/xml/de/skin.xml
diff options
context:
space:
mode:
authorkraymer <kraymer@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-06-05 05:02:47 +0000
committerkraymer <kraymer@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-06-05 05:02:47 +0000
commit5c8cb3d02201dbbb0ed95ff5b5a2b9296df621b6 (patch)
treed711421be35b37c011c3ccf312de280e67eac681 /DOCS/xml/de/skin.xml
parent5a368332d968ad1dc86f306a7542ffab1f224666 (diff)
downloadmpv-5c8cb3d02201dbbb0ed95ff5b5a2b9296df621b6.tar.bz2
mpv-5c8cb3d02201dbbb0ed95ff5b5a2b9296df621b6.tar.xz
initial import of some missing German xml translation, review(s) pending
Translation was done by Kurt Lettmaier (k . lettmaier @at@ onlinehome.de ), thank you! git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18569 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS/xml/de/skin.xml')
-rw-r--r--DOCS/xml/de/skin.xml1244
1 files changed, 1244 insertions, 0 deletions
diff --git a/DOCS/xml/de/skin.xml b/DOCS/xml/de/skin.xml
new file mode 100644
index 0000000000..0113329e51
--- /dev/null
+++ b/DOCS/xml/de/skin.xml
@@ -0,0 +1,1244 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- in sync with rev 1.15 $ -->
+<appendix id="skin">
+<title><application>MPlayer</application> Skinformat</title>
+
+<sect1 id="skin-overview">
+<title>Überblick</title>
+<para>
+ Es hat nicht wirklich etwas mit dem Skinformat zu tun, aber du solltest
+ wissen, dass <application>MPlayer</application> <emphasis role="bold">keinen</emphasis>
+ eingebauten Skin besitzt, also <emphasis role="bold">muß zumindest ein Skin
+ installiert sein, damit das GUI verwendet werden kann.</emphasis>
+</para>
+
+<sect2 id="skin-overview-directories">
+<title>Verzeichnisse</title>
+<para>
+ Die nach Skins durchsuchten Verzeichnisse sind (der Reihe nach):
+<orderedlist>
+<listitem><para>
+ <filename class="directory">$(DATADIR)/skins/</filename>
+</para></listitem>
+<listitem><para>
+ <filename class="directory">$(PREFIX)/share/mplayer/skins/</filename>
+</para></listitem>
+<listitem><para>
+ <filename class="directory">~/.mplayer/skins/</filename>
+</para></listitem>
+</orderedlist>
+</para>
+
+<para>
+ Beachte, dass der erste Pfad je nach Art der
+ <application>MPlayer</application>-Konfiguration variieren kann
+ (siehe Argumente <option>--prefix</option> und <option>--datadir</option>
+ des <command>configure</command>-Scripts).
+</para>
+
+<para>
+ Jeder Skin wird in sein eigenes Verzeichnis unterhalb einem der oben
+ aufgeführten Verzeichnisse installiert, zum Beispiel:
+<screen>$(PREFIX)/share/mplayer/skins/default/</screen>
+</para>
+</sect2>
+
+<sect2 id="skin-overview-formats">
+<title>Bildformate</title>
+<para>
+ Die Bilder müssen Truecolor-PNGs sein (24 oder 32 bpp).
+</para>
+
+<para>
+ Im Hauptfenster und in der Abspilleiste (siehe unten) kannst du Bilder
+ mit 'Transparenz' verwenden: Mit der Farbe #FF00FF (Magenta) gefüllte Bereiche
+ sind beim Betrachten mit <application>MPlayer</application> voll transparent.
+ Die bedeutet, dass du sogar Formfenster haben kannst, wenn dein X-Server die
+ XShape-Extension besitzt.
+</para>
+</sect2>
+
+<sect2 id="skin-overview-components">
+<title>Skin-Komponenten</title>
+<para>
+ Skins sind ziemlich frei im Format (im Unterschied zu den Skins mit festem
+ Format von <application>Winamp</application>/<application>XMMS</application>
+ zum Beispiel), somit liegt es an dir, einen tollen zu kreieren.
+</para>
+
+<para>
+ Zur Zeit sind vier Fenster zu dekorieren: das
+ <link linkend="skin-file-main">Hauptfenster</link>, das
+ <link linkend="skin-file-subwindow">Unterfenster</link>, die
+ <link linkend="skin-file-main">Abspielleise</link> und das
+ <link linkend="skin-file-menu">Skin-Menü</link> (das durch einen
+ Rechtsklick aktiviert werden kann).
+
+<itemizedlist>
+<listitem><para>
+ Das <emphasis role="bold">Hauptfenster</emphasis> und/oder die
+ <emphasis role="bold">Abspielleise</emphasis> befindet sich dort, wo du
+ <application>MPlayer</application> kontrollieren kannst. Der Hintergrund
+ des Fensters ist ein Grafik.
+ Ins Fenster können (und müssen) diverse Elemente platziert werden:
+ <emphasis>Buttons</emphasis>, <emphasis>Potentiometer</emphasis> (Schieberegler)
+ und <emphasis>Labels</emphasis>.
+ Für jedes Element, musst du dessen Position und Größe.
+</para><para>
+ Ein <emphasis role="bold">Button</emphasis> besitzt drei Zustände (gedrückt,
+ losgelassen, deaktiviert), deshalb muss seine Grafik vertikal in drei Teile
+ getrennt werden. Siehe Eintrag <link linkend="skin-button">Button</link>
+ mit mehr Details.
+</para><para>
+ Ein <emphasis role="bold">Potentiometer</emphasis> (hauptsächlich für
+ die Suchleiste und die Lautstärke-/Balance-Regler) kann eine beliebige
+ Anzahl von Phasen by dividing its Grafik
+ into different parts below each other. See
+ <link linkend="skin-hpotmeter">hpotmeter</link> and
+ <link linkend="skin-potmeter">Potentiometer</link> for details.
+</para><para>
+ <emphasis role="bold">Labels</emphasis> sind ein wenig speziell: Die Zeichen,
+ die manzu ihrer Darzustellung benötigt, werden von einer Grafikdatei, und
+ die Zeichen in der Grafik werden durch eine
+ <link linkend="skin-fonts">Schrift-Beschreibungsdatei</link> festgelegt.
+ Letztere ist eine Volltextdatei, welche die x-,y-Position und Größe jedes
+ Zeichens in der Grafik beschreibt (die Grafikdatei und ihre
+ Schrift-Beschreibungsdatei bilden <emphasis>zusammen</emphasis> eine Schrift).
+ Siehe
+ <link linkend="skin-dlabel">dlabel</link>
+ und
+ <link linkend="skin-slabel">slabel</link> fpr Details.
+</para>
+<note>
+<para>
+ Alle Grafiken können wie im Abschnitt über die
+ <link linkend="skin-overview-formats">Grafikformate</link> erklärt
+ volle Transparenz besitzen. Wenn der X-Server keine XShape-Extension
+ unterstützt, werden die als transparent markierten Teile schwarz.
+ Wenn du dieses Feature gerne nutzen möchtest, muss die Breite der
+ Hintergrundgrafik des Hauptfensters durch 8 teilbar sein.
+</para>
+</note>
+</listitem>
+
+<listitem><para>
+ Das <emphasis role="bold">Unterfenster</emphasis> ist dort wo der Film
+ erscheint. Es kann eine festgelegte Grafik anzeigen, wenn kein Film geladen
+ iat (es ist ziemlich langweilig, ein leeres Fenster vor sich zu haben :-))
+ <emphasis role="bold">Beachte:</emphasis> Transparenz ist hier
+ <emphasis role="bold">nicht erlaubt</emphasis>.
+</para></listitem>
+
+<listitem><para>
+ Das <emphasis role="bold">Skin-Menü</emphasis> ist ganz einfach ein
+ Weg, <application>MPlayer</application> mittels der Menüeinträge zu
+ kontrollieren. Zwei Grafiken sind für das Menü erforderlich:
+ eine davon ist die Basisgrafik, die den Normalzustand des Menüs darstellt,
+ die andere wird zur Anzeige des gewählten Einträge verwendet.
+ Wenn due das Menü aufklappst, wird die erste Grafik angezeigt. Bewegst du
+ die Maus über die Menüeinträge, wird der aktuell gewählte Eintrag aus der
+ zweiten Grafik über den Menüeintrag unterhalb des Mauszeigers kopiert
+ (die zweite Grafik wird nie als Ganzes angezeigt).
+</para><para>
+ Rin Menüeintrag wird definiert durch seine Position und Größe innerhalb
+ der Grafik (sieh nach mehr Details im Abschnitt über das
+ <link linkend="skin-file-menu">Skin-Menü</link>).
+</para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+ Eine wichtige Sache wurde noch nicht aufgeführt: Damit Buttons, Potentiometer und
+ Menüeinträge funktionieren, muss <application>MPlayer</application> wissen, was
+ er machen soll, wenn sie angeklickt werden.
+ Dies geschieht mittels <link linkend="skin-gui">Meldungen</link> (Ereignisse).
+ Für diese Elemente musst du die beim Klick auf sie zu generierenden Meldungen
+ definieren.
+</para>
+</sect2>
+
+<sect2 id="skin-files">
+<title>Dateien</title>
+<para>
+ Du benötigst folgende Dateien, um einen Skin zu bauen:
+<itemizedlist>
+<listitem><para>
+ Die Konfigurationsdatei genannt <link linkend="skin-file">skin</link> erzählt
+ <application>MPlayer</application>, wie er unterschiedliche Teile des Skins
+ zusammengefügt werden und was er tun soll, wenn du irgendwo innerhalb des Fenster
+ hinklickst.
+</para></listitem>
+<listitem><para>
+ Die Hintergrundgrafik fürs Hauptfenster.
+</para></listitem>
+<listitem><para>
+ Grafiken für die Elemente im Hauptfenster (einschließlich einer oder mehrerer
+ Schrift-Beschreibungsdateien zum zeichnen der Labels).
+</para></listitem>
+<listitem><para>
+ Die Grafik, die im Unterfenster angezeigt werden soll (optional).
+</para></listitem>
+<listitem><para>
+ Zwei Grafiken für das Skin-Menü (sie werden nur gebraucht, wenn du want
+ ein Menü erzeugst).
+</para></listitem>
+</itemizedlist>
+ Mit Ausnahme der skin-Konfigurationsdatei, kannst du die anderen Dateien
+ benenne, wie es dir beliebt (beachte aber, dass Schrift-Beschreibungsdateien
+ eine <filename>.fnt</filename>-Erweiterung besitzen müssen).
+</para>
+</sect2>
+</sect1>
+
+<sect1 id="skin-file">
+<title>Die skin-Datei</title>
+<para>
+ Wie oben erwähnt, ist dies die skin-Konfigurationsdatei. Sie ist
+ Zeilen-orientiert;
+ Kommentarzeilen beginnen mit einem '<literal>;</literal>' Semikolon-Zeichen
+ am Zeilenanfang (es sind nur Leer- und Tabulator-Zeichen vor dem
+ '<literal>;</literal>' erlaubt).
+</para>
+
+<para>
+ Die Datei ist in Abschnitte unterteilt. Jeder Abschnitt beschreibt den Skin
+ für eine Anwendung und besitzt folgende Form:
+<programlisting>
+section = <replaceable>abschnittsname</replaceable>
+.
+.
+.
+end
+</programlisting>
+</para>
+
+<para>
+ Zur Zeit gibt es nur eine Anwendung, somit brauchst du nur einen Abschnitt:
+ sein Name ist <emphasis role="bold">movieplayer</emphasis>.
+</para>
+
+<para>
+ Innerhalb dieses Abschnitts wird jedes Fenster durch einen Block folgender
+ Form beschrieben:
+<programlisting>
+window = <replaceable>fenstername</replaceable>
+.
+.
+.
+end
+</programlisting>
+</para>
+
+<para>
+ wobei <replaceable>fenstername</replaceable> einer dieser Strings sein
+ kann:
+<itemizedlist>
+<listitem><para><emphasis role="bold">main</emphasis> - für das Hauptfenster</para></listitem>
+<listitem><para><emphasis role="bold">sub</emphasis> - für das Unterfenster</para></listitem>
+<listitem><para><emphasis role="bold">menu</emphasis> - für das Skin-Menü</para></listitem>
+<listitem><para><emphasis role="bold">playbar</emphasis> - Abspielleise</para></listitem>
+</itemizedlist>
+</para>
+
+<para>
+ (Die sub- und menu-Blöcke sind optional - du musst kein Menü erzeugen oder
+ das Unterfenster dekorieren.)
+</para>
+
+<para>
+ Innerhalb des Fensterblocks kannst du jedes Element für das Fenster durch eine
+ Zeile in dieser Form definieren:
+<programlisting>item = parameter</programlisting>
+ Wobei <literal>item</literal> ein String ist, der den Typ des GUI-elements
+ identifiziert, <literal>parameter</literal> ist ein numerischer oder textueller
+ Wert (oder eine Liste Komma-getrennter Werte).
+</para>
+
+<para>
+ Fügt man nun das oben genannte zusammen, sieht die komplette Datei etwa so aus:
+<programlisting>
+section = movieplayer
+ window = main
+ ; ... Elemente fürs Hauptfenster ...
+ end
+
+ window = sub
+ ; ... Elemente fürs Unterfenster ...
+ end
+
+ window = menu
+ ; ... Elemente fürs Menü ...
+ end
+
+ window = playbar
+ ; ... Elemente für die Abspielleise ...
+ end
+end
+</programlisting>
+</para>
+
+<para>
+ Der Name einer Grafikdatei muss ohne führende Pfadangaben angegeben werden -
+ Grafiken werden im Verzeichnis <filename class="directory">skins</filename>
+ gesucht.
+ Du kannst (musst aber nicht) die Erweiterungder Datei spezifizieren.
+ Existiert die Datei nicht, versucht <application>MPlayer</application> die
+ <filename>&lt;dateiname&gt;.&lt;ext&gt;</filename> zu laden, wobwei
+ <literal>png</literal> und <literal>PNG</literal> als
+ <filename>&lt;ext&gt;</filename> (Erweiterung) versucht werden
+ (in dieser Reihenfolge). Die erste zutreffende Datei wird verwendet.
+</para>
+
+<para>
+ Zum Schluss einige Worte zur Positionierung.
+ Hauptfenster und Unterfenster können in verschiedenen Ecken des Bilschirms
+ über die <literal>X</literal>- und <literal>Y</literal>-Koordinaten
+ platziert werden. <literal>0</literal> ist oben oder links,
+ <literal>-1</literal> bedeutet zentriert und <literal>-2</literal> ist
+ rechts oder unten, wie in dieser Illustration gezeigt:
+</para>
+<informalfigure>
+<screen>
+(0, 0)----(-1, 0)----(-2, 0)
+ | | |
+ | | |
+(0,-1)----(-1,-1)----(-2,-1)
+ | | |
+ | | |
+(0,-2)----(-1,-2)----(-2,-2)
+</screen>
+</informalfigure>
+
+<para>
+ Hier ein Beispiel, um es zu verdeutlichen. Angenommen du hast eine Grafik
+ mit Namen <filename>main.png</filename>, die für das Hauptfenster nutzt:
+ <programlisting>base = main, -1, -1</programlisting>
+ <application>MPlayer</application> versucht, die Dateien
+ <filename>main</filename>,
+ <filename>main.png</filename>,
+ <filename>main.PNG</filename>
+ zu laden.
+</para>
+
+
+<sect2 id="skin-file-main">
+<title>Hauptfenster und Abspielleise</title>
+<para>
+ Unten steht eine Liste von Einträgen, die in den Blöcken
+ '<literal>window = main</literal>' ... '<literal>end</literal>',
+ und the '<literal>window = playbar</literal>' ... '<literal>end</literal>'
+ genutzt werden können.
+</para>
+
+<variablelist>
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-main-base"/>base = image, X, Y
+ </literal></term>
+ <listitem><para>
+ Lässt dich die Hintergrundgrafik fürs Hauptfenster spezifizieren.
+ Das Fenster wird an der angegebenen Position <literal>X,Y</literal> auf
+ dem Bildschirm erscheinen. Es wird die Größe der Grafik besitzen.
+</para>
+<note>
+<para>
+ Diese Koordinaten funktionieren im Moment nicht beim Anzeigefenster.
+</para>
+</note>
+<warning>
+<para>
+ Transparente Bereiche innerhalb der Grafik (mit der Farbe #FF00FF) erscheinen
+ auf X-Servern ohne die XShape-Extension schwarz. Die Breite der Grafik muss
+ durch 8 teilbar sein.
+</para>
+</warning>
+ </listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-button"/>button = image, X, Y, width, height, message
+ </literal></term>
+ <listitem><para>
+ Platziere einen Button mit der Größe <literal>width</literal> * <literal>height</literal>
+ an Position <literal>X,Y</literal>. Die angegebene <literal>message</literal> wird
+ erzeugt, wenn der Button angeklickt wird. Die mittels <literal>image</literal>
+ festgelegte Grafik muss drei untereinander liegende Teile aufweisen (entsprechend
+ der möglichen Zustände des Buttons), etwa so:
+</para>
+<informalfigure>
+<screen>
++---------------+
+| gedrückt |
++---------------+
+| losgelassen |
++---------------+
+| deaktiviert |
++---------------+
+</screen>
+</informalfigure>
+ </listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-decoration"/>decoration = enable|disable
+ </literal></term>
+ <listitem><para>
+ Aktiviere oder deaktiviere die Fenstermanager-Dekoration des Hauptfensters.
+ Standard ist <emphasis role="bold">disable</emphasis>.
+ </para>
+<note>
+<para>
+ Dies funktioniert nicht beim Anzeigefenster, dort braucht man es nicht.
+</para>
+</note>
+ </listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-hpotmeter"/>hpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
+ </literal></term>
+ <listitem><para>
+
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-vpotmeter"/>vpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
+ </literal></term>
+ <listitem>
+ <para>
+ Platziere einen horizontal (hpotmeter) oder vertikal (vpotmeter) Potentiometer mit
+ der Größe <literal>width</literal> * <literal>height</literal> an Position
+ <literal>X,Y</literal>. Die Grafik kann in unterschiedliche Teile für die
+ verschiedenen Phasen des Potentiometers aufgeteilt werden (du kannst zum Beispiel
+ eines für die Lautstärkeregelung haben, das von rot nach grün wechselt während
+ sein Wert sich vom Minimum zum Mmaximum ändert.).
+ <literal>hpotmeter</literal> kann einen Button besitzen, der horizontal gezogen
+ werden kann. Die Parameter sind:
+ </para>
+ <itemizedlist>
+ <listitem><para><literal>button</literal> - die für den Button zu verwendende
+ Grafik (muss drei untereinander liegende Teile aufweisen, wie im Fall des
+ <link linkend="skin-button">Buttons</link>)
+ </para></listitem>
+ <listitem><para><literal>bwidth</literal>, <literal>bheight</literal> - Größe
+ de Buttons
+ </para></listitem>
+ <listitem><para><literal>phases</literal> - die für die verschiedenen Phasen
+ zu verwendende Grafik des hpotmeter. Ein spezieller Wert von <literal>NULL</literal>
+ kann benutzt werden, wenn du keine solche Grafik anwenden willst. Die Grafik muss
+ in vertikal <literal>numphases</literal> Teile wie folgt aufgeteilt werden:
+ </para>
+<informalfigure>
+<screen>
++------------+
+| phase #1 |
++------------+
+| phase #2 |
++------------+
+ ...
++------------+
+| phase #n |
++------------+
+</screen>
+</informalfigure>
+ </listitem>
+ <listitem><para><literal>numphases</literal> - Anzahl der Phasen, die in der
+ <literal>phases</literal>-Grafik untergebracht sind
+ </para></listitem>
+ <listitem><para><literal>default</literal> - Standard Wert fürs hpotmeter
+ (im Bereich <literal>0</literal> bis <literal>100</literal>)
+ </para></listitem>
+ <listitem><para><literal>X</literal>, <literal>Y</literal> - Position fürs hpotmeter
+ </para></listitem>
+ <listitem><para><literal>width</literal>, <literal>height</literal> - Breite und Höhe
+ des <literal>hpotmeter</literal>
+ </para></listitem>
+ <listitem><para><literal>message</literal> - die Meldung, die erzeugt werden soll,
+ wenn der Wert des <literal>hpotmeter</literal> geändert wird
+ </para></listitem>
+ </itemizedlist>
+
+ </listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-potmeter"/>potmeter = phases, numphases, default, X, Y, width, height, message
+ </literal></term>
+ <listitem><para>
+ Ein <literal>hpotmeter</literal> ohne einen Button. (ich schätze, es ist dazu
+ bestimmt, herumgedreht zu werden, reagiert aber nur auf horizontales Ziehen.)
+ Eine Beschreibung der Parameter findest du unter
+ <link linkend="skin-hpotmeter">hpotmeter</link>.
+ <literal>phases</literal> können <literal>NULL</literal> sein, dies ist aber ziemlich
+ sinnlos, da du nicht sehen kannst, wo das <literal>Potentiometer</literal> hingesetzt
+ wurde.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-font"/>font = fontfile, fontid
+ </literal></term>
+ <listitem><para>
+ Definiert eine Schrift. <literal>fontfile</literal> ist der Name der
+ Schrift-Beschreibungsdatei mit der Erweiterung <filename>.fnt</filename>
+ (geib hier keine Erweiterung an).
+ <literal>fontid</literal> wird verwendet, um auf die Schrift zu verweisen
+ (siehe <link linkend="skin-dlabel">dlabel</link>
+ und <link linkend="skin-slabel">slabel</link>). Bis zu 25 Schrift können
+ definiert werden.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-slabel"/>slabel = X, Y, fontid, &quot;text&quot;
+ </literal></term>
+ <listitem><para>
+ Platziere ein statisches Label an Position <literal>X,Y</literal>.
+ <literal>text</literal> wird mittels der identifizierten
+ <literal>fontid</literal> angezeigt. Der Text ist einfach ein
+ eine Ausgangszeichenkette (<literal>$x</literal>-Variablen funktionieren nicht),
+ eingeschlossen von doppelten Anführungszeichen (das &quot;-Zeichen kann jedoch
+ nicht Teil des Textes sein).
+ Das Label wird mittels der über die <literal>fontid</literal> identifizierten
+ Schrift angezeigt.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-dlabel"/>dlabel = X, Y, length, align, fontid, &quot;text&quot;
+ </literal></term>
+ <listitem>
+<para>
+ Platziere ein dynamisches Label an Position <literal>X,Y</literal>.
+ Das Label wird als dynamisch bezeichnet, weil sein Text periodisch
+ aktualisiert wird. Die Maximallänge des Labels wird mit dem
+ Wert <literal>length</literal> vorgegeben (seine Höhe ist die der
+ Zeichen).
+ Wird der anzuzeigende Text breiter als dieser Wert, wird er gescrollt,
+ andernfalls wird er innerhalb des mittels des Wertes des
+ <literal>align</literal>-Parameters festgelegten Zwischenraums ausgerichtet:
+ <literal>0</literal> steht für rechts,
+ <literal>1</literal> steht für zentriert,
+ <literal>2</literal> steht für links.
+</para>
+<para>
+ Der anzuzeigende Text wird mit <literal>text</literal> festgelegt:
+ Er muss zwischen doppelten Anführungszeichen stehen (das &quot;-Zeichen kann jedoch
+ nicht Teil des Textes sein).
+ Das Label wird mittels der über die <literal>fontid</literal> identifizierten
+ Schrift angezeigt.
+ Kannst folgende Variablen im Text verwenden:
+</para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+ <row><entry>Variable</entry><entry>Bedeutung</entry></row>
+</thead>
+<tbody>
+<row>
+<entry>$1</entry>
+<entry>Abspieldauer im <emphasis>hh:mm:ss</emphasis>-Format</entry>
+</row>
+<row>
+<entry>$2</entry>
+<entry>Abspieldauer im <emphasis>mmmm:ss</emphasis>-Format</entry>
+</row>
+<row>
+<entry>$3</entry>
+<entry>Abspieldauer im <emphasis>hh</emphasis>-Format (Stunden)</entry>
+</row>
+<row>
+<entry>$4</entry>
+<entry>Abspieldauer im <emphasis>mm</emphasis>-Format (Minuten)</entry>
+</row>
+<row>
+<entry>$5</entry>
+<entry>Abspieldauer im <emphasis>ss</emphasis>-Format (Sekunden)</entry>
+</row>
+<row>
+<entry>$6</entry>
+<entry>Filmlänge im <emphasis>hh:mm:ss</emphasis>-Format</entry>
+</row>
+<row>
+<entry>$7</entry>
+<entry>Filmlänge im <emphasis>mmmm:ss</emphasis>-Format</entry>
+</row>
+<row>
+<entry>$8</entry>
+<entry>Abspieldauer im <emphasis>h:mm:ss</emphasis>-Format</entry>
+</row>
+<row>
+<entry>$v</entry>
+<entry>Lautstärke im <emphasis>xxx.xx</emphasis>%-Format</entry>
+</row>
+<row>
+<entry>$V</entry>
+<entry>Lautstärke im <emphasis>xxx.xx</emphasis>-Format</entry>
+</row>
+<row>
+<entry>$b</entry>
+<entry>Balance im <emphasis>xxx.xx</emphasis>%-Format</entry>
+</row>
+<row>
+<entry>$B</entry>
+<entry>Balance in <emphasis>xxx.xx</emphasis>-Format</entry>
+</row>
+<row>
+<entry>$$</entry>
+<entry>das $-Zeichen</entry>
+</row>
+<row>
+<entry>$a</entry>
+<entry>ein dem Audio-Typ entsprechendes Zeichen (Nichts: <literal>n</literal>,
+Mono: <literal>m</literal>, Stereo: <literal>t</literal>)</entry>
+</row>
+<row>
+<entry>$t</entry>
+<entry>Track-Nummer (in der Playliste)</entry>
+</row>
+<row>
+<entry>$o</entry>
+<entry>Dateiname</entry>
+</row>
+<row>
+<entry>$f</entry>
+<entry>Dateiname in kleinbuchstaben</entry>
+</row>
+<row>
+<entry>$F</entry>
+<entry>Dateiname in GROSSBUCHSTABEN</entry>
+</row>
+<row>
+<entry>$T</entry>
+<entry>Ein dem Stream-Typen entsprechendes Zeichen (Datei: <literal>f</literal>,
+Video-CD: <literal>v</literal>, DVD: <literal>d</literal>, URL: <literal>u</literal>)</entry>
+</row>
+<row>
+<entry>$p</entry>
+<entry>Das <keycap>p</keycap>-Zeichen (wenn ein Film abgespielt wird und die Schrift
+das Zeichen <keycap>p</keycap> enthält)</entry>
+</row>
+<row>
+<entry>$s</entry>
+<entry>Das <keycap>s</keycap>-Zeichen (wenn ein Film angehallten wird und die Schrift
+das Zeichen <keycap>s</keycap> enthält)</entry>
+</row>
+<row>
+<entry>$e</entry>
+<entry>Das <keycap>e</keycap>-Zeichen (wenn ein Film pausiert wird und die Schrift
+das Zeichen <keycap>e</keycap> enthält)</entry>
+</row>
+<row>
+<entry>$x</entry>
+<entry>Filmbreite</entry>
+</row>
+<row>
+<entry>$y</entry>
+<entry>Filmhöhe</entry>
+</row>
+<row>
+<entry>$C</entry>
+<entry>Name des verwendeten Codecs</entry>
+</row>
+
+</tbody>
+</tgroup>
+</informaltable>
+</listitem>
+
+</varlistentry>
+</variablelist>
+
+<note><para>
+ Die Variablen <literal>$a, $T, $p, $s</literal> und <literal>$e</literal>
+ geben alle Zeichen zurück, die als spezielle Symbole angezeigt werden sollen
+ (zum Beispiel steht <keycap>e</keycap> für das Pause-Symbol, welches gewöhnlich
+ etwa so || aussieht).
+ Du solltest eine Schrift für normale Zeichen und eine weitere Schrift für
+ Symbole haben. Schau in den Abschnitt über
+ <link linkend="skin-fonts-symbols">Symbole</link>
+ für mehr Informationen.
+</para></note>
+</sect2>
+
+<sect2 id="skin-file-subwindow">
+<title>Unterfenster</title>
+<para>
+ Die folgenden Einträge können in diesem Block verwendet werden
+'<literal>window = sub</literal>' . . . '<literal>end</literal>'.
+</para>
+
+<variablelist>
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-sub-base"/>base = image, X, Y, breite, hoehe
+ </literal></term>
+ <listitem><para>
+ Die im Fenster anzuzeigende Grafik. Das Fenster wird an der angegebenen
+ Position <literal>X,Y</literal> auf dem Bildschirm erscheinen
+ (<literal>0,0</literal> ist die obere linke Ecke).
+ Du kannst <literal>-1</literal> für zentriert und <literal>-2</literal>
+ für rechts (<literal>X</literal>) und unten (<literal>Y</literal>) festlegen.
+ Das Fenster wird so groß sein wie die Grafik.
+ <literal>width</literal> und <literal>height</literal>
+ kennzeichnen die Größe des Fensters; sie sind optional (wenn sie fehlen, hat
+ das Fenster die selbe Größe wie die Grafik).
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-background"/>background = R, G, B
+ </literal></term>
+ <listitem><para>
+ Lässt dich die Hintergrundfarbe setzen. Dies ist von Nutzen, wenn die Grafik
+ kleiner ist als das Fenster.
+ <literal>R</literal>, <literal>G</literal> und <literal>B</literal>
+ spezifizieren die Rot-, Grün- und Blau-Komponenten der Farbe (jede davon ist
+ eine Dzimalzahl von 0 bis 255).
+ </para></listitem>
+</varlistentry>
+</variablelist>
+</sect2>
+
+<sect2 id="skin-file-menu">
+<title>Skin-Menü</title>
+<para>
+ Wie bereits zuvor erwähnt, wird das Menü mittels zweier Grafiken dargestellt.
+ Normale Menüeinträge werden aus der Grafik entnommen, die durch das Element
+ <literal>base</literal> festgelegt sind, während der aktuell gewählte Eintrag
+ aus der Grafik entnommen wird, die durch das Element <literal>selected</literal>
+ spezifiziert wurde. Du musst Position und Größe jedes Menüeintrags mittels des
+ Elements <literal>menu</literal> definieren.
+</para>
+
+<para>
+ Die folgenden Einträge können im Block
+ '<literal>window = menu</literal>'. . .'<literal>end</literal>' genutzt werden.
+</para>
+
+<variablelist>
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-menu-base"/>base = image
+ </literal></term>
+ <listitem><para>
+ Die Grafik für normale Menüeinträge.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-selected"/>selected = image
+ </literal></term>
+ <listitem><para>
+ Die Grafik, die das Menü mit allen gewählten Einträgen anzeigt.
+ </para></listitem>
+</varlistentry>
+
+<varlistentry>
+ <term><literal>
+ <anchor id="skin-menu"/>menu = X, Y, width, height, message
+ </literal></term>
+ <listitem><para>
+ Definiert die Position <literal>X,Y</literal> und die Größe eines Menüeintrags
+ innerhalb der Grafik. <literal>message</literal> ist die Meldung, die erzeugt
+ werden soll, wenn die Maustaste über dem Eintrag losgelassen wird.
+ </para></listitem>
+</varlistentry>
+</variablelist>
+</sect2>
+</sect1>
+
+<sect1 id="skin-fonts">
+<title>Schriften</title>
+<para>
+ Wie im Abschnitt über die Skin-Teile beschrieben, wird eine Schrift durch eine
+ Grafik und eine Beschreibungsdatei definiert. Du kannst die Zeichen irgendwo
+ innerhalb der Grafik platzieren, aber stell sicher, dass Position und Größe
+ der Zeichen in der Beschreibungsdatei exakt angegeben sind.
+</para>
+
+<para>
+ Die Schrift-Beschreibungsdatei (mit Erweiterung <filename>.fnt</filename>)
+ kann mit '<literal>;</literal>' beginnende Kommentarzeilen enthalten.
+ Die Datei muss eine Zeile in der Form enthalten
+ <anchor id="skin-font-image"/>
+ <programlisting>image = <replaceable>image</replaceable></programlisting>
+ Wobei <literal><replaceable>image</replaceable></literal> der Name der für
+ die Schrift anzuwendenden Grafikdatei ist (du musst keine Erweiterung angeben).
+ <anchor id="skin-font-char"/>
+<programlisting>&quot;char&quot; = X, Y, width, hight</programlisting>
+ Hier legen <literal>X</literal> und <literal>Y</literal> die Position des
+ <literal>char</literal>-Zeichens innerhalb der Grafik fest
+ (<literal>0,0</literal> steht für die obere linke Ecke).
+ <literal>width</literal> und <literal>height</literal> sind die Maße der
+ Zeichen in Pixel.
+</para>
+
+<para>
+ Dieses Beispiel definiert die Zeichen A, B, C unter Anwendung von
+ <filename>font.png</filename>.
+<programlisting>
+; Kann eine &quot;Schrift&quot; anstatt &quot;font.png&quot; sein.
+image = font.png
+
+; Drei Zeichen reichen zu Demonstrationszwecken :-)
+&quot;A&quot; = 0,0, 7,13
+&quot;B&quot; = 7,0, 7,13
+&quot;C&quot; = 14,0, 7,13
+</programlisting>
+</para>
+
+<sect2 id="skin-fonts-symbols">
+<title>Symbole</title>
+<para>
+ Einige Zeichen haben spezielle Bedeutungen, wenn sie von bestimmten
+ Variablen in <link linkend="skin-dlabel">dlabel</link> zurückgegeben
+ werden. Diese Zeichen sind dazu gedacht, als Symbole angezeigt zu werden,
+ sodass Sachen wie ein hübsches DVD-Logo an Stelle des Zeichens
+ '<literal>d</literal>' für einen DVD-Stream angezeigt werden können.
+</para>
+<para>
+ Die folgende Tabelle listet alle Zeichen auf, die zum Anzeigen von
+ Symbolen genutzt werden können (und daher eine andere Schrift benötigen).
+</para>
+
+<informaltable>
+<tgroup cols="2">
+<thead>
+ <row><entry>Zeichen</entry><entry>Symbol</entry></row>
+</thead>
+<tbody>
+<row><entry><keycap>p</keycap></entry><entry>Play</entry></row>
+<row><entry><keycap>s</keycap></entry><entry>Stop</entry></row>
+<row><entry><keycap>e</keycap></entry><entry>Pause</entry></row>
+<row><entry><keycap>n</keycap></entry><entry>Kein Sound</entry></row>
+<row><entry><keycap>m</keycap></entry><entry>Mono-Sound</entry></row>
+<row><entry><keycap>t</keycap></entry><entry>Stereo-Sound</entry></row>
+<row><entry><keycap>f</keycap></entry><entry>Stream ist eine Datei</entry></row>
+<row><entry><keycap>v</keycap></entry><entry>Stream ist eine Video-CD</entry></row>
+<row><entry><keycap>d</keycap></entry><entry>Stream ist eine DVD</entry></row>
+<row><entry><keycap>u</keycap></entry><entry>Stream ist eine URL</entry></row>
+</tbody>
+</tgroup>
+</informaltable>
+</sect2>
+</sect1>
+
+<sect1 id="skin-gui">
+<title>GUI-Meldungen</title>
+<para>
+ Dies sind die Meldungen, die von Buttons, Potentiometern und
+ Menüeinträgen generiert werden können.
+</para>
+<note>
+<para>
+ Einige der Meldungen funktionieren vielleicht nicht wie erwartet
+ (oder vielleicht auch gar nicht).
+ Wie du weißt, befindet sich das GUI in der Entwicklung.
+</para>
+</note>
+
+<variablelist>
+<title>Playback-Kontrolle:</title>
+<varlistentry>
+ <term><emphasis role="bold">evNext</emphasis></term>
+ <listitem><para>
+ Springe zum nächsten Track in der Playliste.
+ </para></listitem>
+<