Mercurial > mplayer.hg
changeset 20225:bdd028a5c834
cosmetics: indentation
author | kraymer |
---|---|
date | Sun, 15 Oct 2006 12:53:46 +0000 |
parents | 08ee6acd3f6c |
children | 42140caaf210 |
files | DOCS/xml/de/faq.xml DOCS/xml/de/history.xml DOCS/xml/de/skin.xml DOCS/xml/de/tvinput.xml |
diffstat | 4 files changed, 1715 insertions(+), 1461 deletions(-) [+] |
line wrap: on
line diff
--- a/DOCS/xml/de/faq.xml Sun Oct 15 12:48:18 2006 +0000 +++ b/DOCS/xml/de/faq.xml Sun Oct 15 12:53:46 2006 +0000 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- in sync with r19828 --> +<!-- synced with r19828 --> <chapter id="faq" xreflabel="FAQ"> <title>Häufig gestellte Fragen</title> @@ -198,10 +198,10 @@ <para> Der Linker-Fehler, den du erfährst, sieht höchstwahrscheinlich etwa so aus: <screen> - ld: Undefined symbols: - _LLCStyleInfoCheckForOpenTypeTables referenced from QuartzCore expected to be defined in ApplicationServices - _LLCStyleInfoGetUserRunFeatures referenced from QuartzCore expected to be defined in ApplicationServices - </screen> +ld: Undefined symbols: +_LLCStyleInfoCheckForOpenTypeTables referenced from QuartzCore expected to be defined in ApplicationServices +_LLCStyleInfoGetUserRunFeatures referenced from QuartzCore expected to be defined in ApplicationServices<!-- + --></screen> Dieses Problem ist das Ergebnis der Tatsache, dass Apple-Entwickler 10.4 benutzen, um ihre Software zu compilieren und gleichzeitig die Binärdateien via Softwareupdate an Benutzer von 10.3 weitergeben. @@ -220,9 +220,9 @@ Frameworks also nicht nach z.B. <filename class="directory">/System/Library/Frameworks</filename>! Die Benutzung dieser älteren Kopie ist nur dazu da, die Linker-Fehler zu umgehen!) - <screen> - gunzip < CompatFrameworks.tgz | tar xvf - - </screen> + + <screen>gunzip < CompatFrameworks.tgz | tar xvf - </screen> + In der Datei config.mak solltest du <systemitem>-F/Pfad/in/den/du/entpackt/hast</systemitem> der Variable <systemitem>OPTFLAGS</systemitem> anhängen. @@ -353,9 +353,9 @@ <listitem><para>wiedergegebene/decodierte Frames (zählend vom letzten Spulen)</para></listitem> </varlistentry> <varlistentry><term><systemitem>41%</systemitem></term> - <listitem><para>CPU-Auslastung durch Videocodec - (für Rendern in Scheiben und direktes Rendern - schließt dies video_out mit ein)</para></listitem> + <listitem> + <para>CPU-Auslastung durch Videocodec (für Rendern in Scheiben und direktes Rendern schließt dies video_out mit ein)</para> + </listitem> </varlistentry> <varlistentry><term><systemitem>0%</systemitem></term> <listitem><para>CPU-Auslastung durch video_out</para></listitem> @@ -364,19 +364,24 @@ <listitem><para>CPU-Auslastung durch Audiocodec in Prozent</para></listitem> </varlistentry> <varlistentry><term><systemitem>0</systemitem></term> - <listitem><para>wieviele Frames ausgelassen wurden, - um die A/V-Synchronisation beizubehalten</para></listitem> + <listitem> + <para>wieviele Frames ausgelassen wurden, um die A/V-Synchronisation beizubehalten</para> + </listitem> </varlistentry> <varlistentry><term><systemitem>4</systemitem></term> - <listitem><para>aktuelles Postprocessing-Level - (bei Benutzung der Option <option>-autoq</option>)</para></listitem> + <listitem> + <para>aktuelles Postprocessing-Level (bei Benutzung der Option <option>-autoq</option>)</para> + </listitem> </varlistentry> <varlistentry><term><systemitem>49%</systemitem></term> - <listitem><para>aktuell benutzte Cachegröße (um die 50% ist normal)</para></listitem> + <listitem> + <para>aktuell benutzte Cachegröße (um die 50% ist normal)</para> + </listitem> </varlistentry> <varlistentry><term><systemitem>1.00x</systemitem></term> - <listitem><para>Wiedergabegeschwindigkeit als Faktor der - originalen Geschwindigkeit</para></listitem> + <listitem> + <para>Wiedergabegeschwindigkeit als Faktor der originalen Geschwindigkeit</para> + </listitem> </varlistentry> </variablelist> Die meisten davon existieren zu Debugzwecken, benutze die Option @@ -410,10 +415,8 @@ <qandaentry> <question> <para> - Wie kann ich dafür sorgen, dass sich - <application>MPlayer</application> die Optionen merkt, - die ich für eine bestimmte Datei - wie zum Beispiel <filename>movie.avi</filename> verwende? + Wie kann ich dafür sorgen, dass sich <application>MPlayer</application> die Optionen merkt, + die ich für eine bestimmte Datei wie zum Beispiel <filename>movie.avi</filename> verwende? </para> </question> <answer> @@ -429,7 +432,7 @@ <qandaentry> <question> <para> - Untertitel sind sind sehr schick, die schönsten, die ich je gesehen haben, aber + Untertitel sind sehr schick, die schönsten, die ich je gesehen haben, aber sie verlangsamen die Wiedergabe! Ich weiß, es ist unwahrscheinlich... </para> </question> @@ -456,8 +459,9 @@ Benutzt du FVWM? Versuche folgendes: <orderedlist> <listitem><para>Start -> Einstellungen -> Konfiguration -> Basiskonfiguration</para></listitem> - <listitem><para>Setze <systemitem>Use Applications position hints</systemitem> - auf <systemitem>Ja</systemitem></para></listitem> + <listitem> + <para>Setze <systemitem>Use Applications position hints</systemitem> auf <systemitem>Ja</systemitem></para> + </listitem> </orderedlist> </para> </answer> @@ -531,14 +535,14 @@ (Audiosprache), <option>-sid</option> (Untertitel-ID) oder <option>-slang</option> (Untertitelsprache) verwenden, zum Beispiel: <screen> - <!-- -->mplayer -alang ger -slang ger <replaceable>beispiel.mkv</replaceable> - <!-- -->mplayer -aid 1 -sid 1 <replaceable>beispiel.mkv</replaceable> - <!-- --></screen> +mplayer -alang ger -slang ger <replaceable>beispiel.mkv</replaceable> +mplayer -aid 1 -sid 1 <replaceable>beispiel.mkv</replaceable><!-- + --></screen> Um zu sehen, welche verfügbar sind: <screen> - <!-- -->mplayer -vo null -ao null -frames 0 -v <replaceable>dateiname</replaceable> | grep sid - <!-- -->mplayer -vo null -ao null -frames 0 -v <replaceable>dateiname</replaceable> | grep aid - <!-- --></screen> +mplayer -vo null -ao null -frames 0 -v <replaceable>dateiname</replaceable> | grep sid +mplayer -vo null -ao null -frames 0 -v <replaceable>dateiname</replaceable> | grep aid<!-- + --></screen> </para> </answer> </qandaentry> @@ -852,12 +856,12 @@ <para> Ich habe keinen Ton, wenn ich ein Video abspielen möchte, und bekomme Fehlermeldungen wie diese: <screen> - AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian) - audio_setup: Can't open audio device /dev/dsp: Device or resource busy - couldn't open/init audio device -> NOSOUND - Audio: kein Ton!!! - Starte Wiedergabe...<!-- - --></screen> +AO: [oss] 44100Hz 2ch Signed 16-bit (Little-Endian) +audio_setup: Can't open audio device /dev/dsp: Device or resource busy +couldn't open/init audio device -> NOSOUND +Audio: kein Ton!!! +Starte Wiedergabe...<!-- + --></screen> </para> </question> <answer> @@ -1369,12 +1373,12 @@ Dies ist nicht direkt möglich, du kannst aber folgendes probieren (beachte das <emphasis role="bold">&</emphasis> am Ende des <command>mplayer</command>-Befehls): - <screen><!-- - -->mkfifo encode - mplayer -ao pcm -aofile encode dvd://1 & - lame <replaceable>deine Optionen</replaceable> encode music.mp3 - rm encode<!-- - --></screen> + <screen> +mkfifo encode +mplayer -ao pcm -aofile encode dvd://1 & +lame <replaceable>deine Optionen</replaceable> encode music.mp3 +rm encode<!-- + --></screen> Dies erlaubt dir, jeden Encoder zu verwenden, nicht nur <application>LAME</application>. Ersetze im obigen Befehl einfach <command>lame</command> durch den Audioencoder deiner Wahl. </para>
--- a/DOCS/xml/de/history.xml Sun Oct 15 12:48:18 2006 +0000 +++ b/DOCS/xml/de/history.xml Sun Oct 15 12:53:46 2006 +0000 @@ -1,118 +1,182 @@ <?xml version="1.0" encoding="iso-8859-1"?> <!-- in sync with r20085 --> <appendix id="history"> -<title>Geschichte</title> + <title>Geschichte</title> + + <blockquote> + <para> + Dies begann vor einem Jahr... Ich hatte jede Menge Player unter Linux + ausprobiert (<application>mtv</application>, <application>xmps</application>, + <application>dvdview</application>, <application>livid/oms</application>, + <application>videolan</application>, <application>xine</application>, + <application>xanim</application>, <application>avifile</application>, + <application>xmmp</application>) aber sie haben alle irgendwelche Probleme, + meist mit speziellen Dateien oder mit der Audio-/Video-Synchronisation. + Die meisten von ihnen sind nicht fähig, beides, MPEG-1, MPEG-2 und AVI-(DivX)-Dateien, + abzuspielen. Viele Player haben auch Probleme mit der Bildqualität oder mit der + Geschwindigkeit. Also beschloss ich, einen zu schreiben bzw. zu modifizieren... + </para> + </blockquote> + <para>A'rpi, 2001</para> -<blockquote><para> -Dies begann vor einem Jahr... Ich hatte jede Menge Player unter Linux -ausprobiert (<application>mtv</application>, <application>xmps</application>, -<application>dvdview</application>, <application>livid/oms</application>, -<application>videolan</application>, <application>xine</application>, -<application>xanim</application>, <application>avifile</application>, -<application>xmmp</application>) aber sie haben alle irgendwelche Probleme, -meist mit speziellen Dateien oder mit der Audio-/Video-Synchronisation. -Die meisten von ihnen sind nicht fähig, beides, MPEG-1, MPEG-2 und AVI-(DivX)-Dateien, -abzuspielen. Viele Player haben auch Probleme mit der Bildqualität oder mit der -Geschwindigkeit. Also beschloss ich, einen zu schreiben bzw. zu modifizieren... -</para></blockquote><para>A'rpi, 2001</para> - -<para> -<itemizedlist> -<listitem><para> - <emphasis role="bold"><application>mpg12play</application> v0.1-v0.3</emphasis>: 22.-25. Sep. 2000 + <para> + <itemizedlist> + <listitem> + <para> + <emphasis role="bold"><application>mpg12play</application> v0.1-v0.3</emphasis>: 22.-25. Sep. 2000 + </para> + <para> + Der erste Versuch, zusammengehackt in einer halben Stunde! Ich hatte + libmpeg3 von <ulink url="http://www.heroinewarrior.com"/> bis zur Version 0.3 + verwendet, aber es gab Probleme mit Bildqualität und Geschwindigkeit. + </para> + </listitem> + <listitem> + <para> + <emphasis role="bold"><application>mpg12play</application> v0.5-v0.87</emphasis>: 28. Sep. - 20 Okt. 2000 + </para> + <para> + MPEG-Codec ersetzt durch DVDview von Dirk Farin, es war großartiger + Stoff, aber er war langsam und in C++ geschrieben (A'rpi hasst C++!!!) + </para> + </listitem> + <listitem> + <para> + <emphasis role="bold"><application>mpg12play</application> v0.9-v0.95pre5</emphasis>: 21. Okt. - 2. Nov. 2000 + </para> + <para> + MPEG-Codec war libmpeg2 (mpeg2dec) von Aaron Holtzman und + Michel Lespinasse. Er ist super, optimierter, sehr schneller C-Code mit perfekter + Bildqualität und 100% MPEG-Standard-Konformität. + </para> + </listitem> + <listitem> + <para> + <emphasis role="bold"><application>MPlayer</application> v0.3-v0.9</emphasis>: 18 Nov. - 4. Dez., 2000 + </para> + <para> + Es war ein Paket von zwei Programmen: mpg12play v0.95pre6 und mein + neuer, einfach gestrickter AVI-Player 'avip' basiernd auf dem Win32 DLL-Loader + von avifile. + </para> + </listitem> + <listitem> + <para> + <emphasis role="bold"><application>MPlayer</application> v0.10</emphasis>: 1. Jan. 2001 + </para> + <para> + Der MPEG- und AVI-Player in einer einzigen Binary! + </para> + </listitem> + <listitem> + <para> + <emphasis role="bold"><application>MPlayer</application> v0.11pre series</emphasis>: + </para> + <para> + Einige neue Entwickler kamen dazu, und seit 0.11 ist das <application>MPlayer</application>-Projekt + eine Gemeischaftsarbeit! Unterstützung für ASF-Dateien hinzugefügt sowie OpenDivX-En-/Decodierung + (siehe <ulink url="http://www.projectmayo.com"/>). + </para> + </listitem> + <listitem> + <para> + <emphasis role="bold"><application>MPlayer</application> v0.17a "The IdegCounter"</emphasis> 27. Apr. 2001 + </para> + <para> + Die Release-Version der 0.11pre nach 4 Monaten harter Entwicklungsarbeit! + Probiere sie aus und sei verblüfft! Tausende neuer Features hinzugefügt... + Und natürlich wurde alter Code auch verbessert, Fehler entfernt usw. + </para> + </listitem> + <listitem> + <para> + <emphasis role="bold"><application>MPlayer</application> 0.18 "The BugCounter"</emphasis> 9. Jul. 2001 + </para> + <para> + 2 Monate seit 0.17, und hier ist ein neues Release.. ASF-Unterstützung + vervollständigt, mehr Untertitelformate, libao (ähnlich wie libvo aber für Audio) + eingeführt, stabiler als je zuvor, und so weiter. Es ist ein MUSS! + </para> + </listitem> + <listitem> + <para> + <emphasis role="bold"><application>MPlayer</application> 0.50 "The Faszom(C)ounter"</emphasis> 8. Okt. 2001 + </para> + <para> + Hmm. Wieder ein Release. Tonnen neuer Features, Beta-GUI-Version, + Bugs gefixt, neue vo- und ao-Treiber, auf viele Systeme portiert, einschließlich + Opensource-DivX-Codecs und vieles mehr. Probiers aus! + </para> + </listitem> + <listitem> + <para> + <emphasis role="bold"><application>MPlayer</application> 0.60 "The RTFMCounter"</emphasis> 3. Jan. 2002 + </para> + <para> + MOV/VIVO/RM/FLI/NUV-Dateiformat werden unterstützt, native CRAM-, Cinepak-, + ADPCM-Codecs und Unterstützung für XAnim's Binary-Codecs; Support für DVD-Untertitel, + erstes Release von <application>MEncoder</application>, TV-Grabbing, Cache, + liba52, unzählige Fixes. + </para> + </listitem> + <listitem> + <para> + <emphasis role="bold"><application>MPlayer</application> 0.90pre10 "The BirthdayCounter"</emphasis> 11. Nov. 2002 + </para> + <para> + Obwohl dies kein Release ist, erwähne ich es, denn es kam + 2 Jahre nach <application>MPlayer</application> v0.01 heraus. + Happy birthday, <application>MPlayer</application>! + </para> + </listitem> + <listitem> + <para> + <emphasis role="bold"><application>MPlayer</application> 0.90rc1 "The CodecCounter"</emphasis> 7. Dez. 2002 + </para> + <para> + Wieder kein Release, aber nachdem Unterstützung für Sorenson 3 (QuickTime) + und Windows Media 9 hinzugefügt wurde, ist <application>MPlayer</application> weltweit + der erste Movie-Player mit Support für alle bekannten Video-Formate! + </para> + </listitem> + <listitem> + <para> + <emphasis role="bold"><application>MPlayer</application> 0.90 "The CounterCounter"</emphasis> 6. Apr. 2003 + </para> + <para> + Nach mehr als einem Jahr kamen wir letztendlich zu dem Entschluß, dass + der Code tatsächlich wieder stabil und bereit zur Veröffentlichung als + Release ist. Leider vergaßen wir, die Versionsnummer zu erhöhen, und weitere + widerliche Bugs flossen ein, also sei darauf vorbebereitet... + </para> + </listitem> + <listitem> + <para> + <emphasis role="bold"><application>MPlayer</application> 0.91</emphasis> 13. Aug. 2003 + </para> + <para> + Die oben erwähnten und viele weitere Bugs wurden gefixt. + Dies ist die aktuelltste stabile Version. + </para> + </listitem> + <listitem> + <para> + <emphasis role="bold"><application>MPlayer</application> 1.0pre1 "Development on the beach"</emphasis> 1. Sep. 2003 + </para> + <para> + Obwohl dies kein stabiles Release ist, werde ich es aufführen, weil + es die erste Vorabversion der 1.0-Serie des <application>MPlayer</application> + und dazu ausersehen ist, die <emphasis>großen Fehlerjagdparty</emphasis> + zu unterstützen. + Dies ist ein großer Schritt vorwärts! + </para> + </listitem> + <listitem> + <para> + <emphasis role="bold"><application>MPlayer</application> 1.0</emphasis> Datum noch unbekannt + </para> + </listitem> + </itemizedlist> </para> - <para>Der erste Versuch, zusammengehackt in einer halben Stunde! Ich hatte - libmpeg3 von <ulink url="http://www.heroinewarrior.com"/> bis zur Version 0.3 - verwendet, aber es gab Probleme mit Bildqualität und Geschwindigkeit. - </para></listitem> -<listitem><para> - <emphasis role="bold"><application>mpg12play</application> v0.5-v0.87</emphasis>: 28. Sep. - 20 Okt. 2000 - </para><para>MPEG-Codec ersetzt durch DVDview von Dirk Farin, es war großartiger - Stoff, aber er war langsam und in C++ geschrieben (A'rpi hasst C++!!!) - </para></listitem> -<listitem><para> - <emphasis role="bold"><application>mpg12play</application> v0.9-v0.95pre5</emphasis>: 21. Okt. - 2. Nov. 2000 - </para><para>MPEG-Codec war libmpeg2 (mpeg2dec) von Aaron Holtzman und - Michel Lespinasse. Er ist super, optimierter, sehr schneller C-Code mit perfekter - Bildqualität und 100% MPEG-Standard-Konformität. - </para></listitem> -<listitem><para> - <emphasis role="bold"><application>MPlayer</application> v0.3-v0.9</emphasis>: 18 Nov. - 4. Dez., 2000 - </para><para>Es war ein Paket von zwei Programmen: mpg12play v0.95pre6 und mein - neuer, einfach gestrickter AVI-Player 'avip' basiernd auf dem Win32 DLL-Loader - von avifile. - </para></listitem> -<listitem><para> - <emphasis role="bold"><application>MPlayer</application> v0.10</emphasis>: 1. Jan. 2001 - </para><para>Der MPEG- und AVI-Player in einer einzigen Binary! - </para></listitem> -<listitem><para> - <emphasis role="bold"><application>MPlayer</application> v0.11pre series</emphasis>: - </para><para>Einige neue Entwickler kamen dazu, und seit 0.11 ist das - <application>MPlayer</application>-Projekt eine Gemeischaftsarbeit! Unterstützung für - ASF-Dateien hinzugefügt sowie OpenDivX-En-/Decodierung - (siehe <ulink url="http://www.projectmayo.com"/>). - </para></listitem> -<listitem><para> - <emphasis role="bold"><application>MPlayer</application> v0.17a "The IdegCounter"</emphasis> 27. Apr. 2001 - </para><para>Die Release-Version der 0.11pre nach 4 Monaten harter Entwicklungsarbeit! - Probiere sie aus und sei verblüfft! Tausende neuer Features hinzugefügt... - Und natürlich wurde alter Code auch verbessert, Fehler entfernt usw. - </para></listitem> -<listitem><para> - <emphasis role="bold"><application>MPlayer</application> 0.18 "The BugCounter"</emphasis> 9. Jul. 2001 - </para><para>2 Monate seit 0.17, und hier ist ein neues Release.. ASF-Unterstützung - vervollständigt, mehr Untertitelformate, libao (ähnlich wie libvo aber für Audio) - eingeführt, stabiler als je zuvor, und so weiter. Es ist ein MUSS! - </para></listitem> -<listitem><para> - <emphasis role="bold"><application>MPlayer</application> 0.50 "The Faszom(C)ounter"</emphasis> 8. Okt. 2001 - </para><para>Hmm. Wieder ein Release. Tonnen neuer Features, Beta-GUI-Version, - Bugs gefixt, neue vo- und ao-Treiber, auf viele Systeme portiert, einschließlich - Opensource-DivX-Codecs und vieles mehr. Probiers aus! - </para></listitem> -<listitem><para> - <emphasis role="bold"><application>MPlayer</application> 0.60 "The RTFMCounter"</emphasis> 3. Jan. 2002 - </para><para>MOV/VIVO/RM/FLI/NUV-Dateiformat werden unterstützt, native CRAM-, Cinepak-, - ADPCM-Codecs und Unterstützung für XAnim's Binary-Codecs; Support für DVD-Untertitel, - erstes Release von <application>MEncoder</application>, TV-Grabbing, Cache, - liba52, unzählige Fixes. - </para></listitem> -<listitem><para> - <emphasis role="bold"><application>MPlayer</application> 0.90pre10 "The BirthdayCounter"</emphasis> 11. Nov. 2002 - </para><para>Obwohl dies kein Release ist, erwähne ich es, denn es kam - 2 Jahre nach <application>MPlayer</application> v0.01 heraus. - Happy birthday, <application>MPlayer</application>! - </para></listitem> -<listitem><para> - <emphasis role="bold"><application>MPlayer</application> 0.90rc1 "The CodecCounter"</emphasis> 7. Dez. 2002 - </para><para>Wieder kein Release, aber nachdem Unterstützung für Sorenson 3 (QuickTime) - und Windows Media 9 hinzugefügt wurde, ist <application>MPlayer</application> weltweit - der erste Movie-Player mit Support für alle bekannten Video-Formate! - </para></listitem> -<listitem><para> - <emphasis role="bold"><application>MPlayer</application> 0.90 "The CounterCounter"</emphasis> 6. Apr. 2003 - </para><para>Nach mehr als einem Jahr kamen wir letztendlich zu dem Entschluß, dass - der Code tatsächlich wieder stabil und bereit zur Veröffentlichung als - Release ist. Leider vergaßen wir, die Versionsnummer zu erhöhen, und weitere - widerliche Bugs flossen ein, also sei darauf vorbebereitet... - </para></listitem> -<listitem><para> - <emphasis role="bold"><application>MPlayer</application> 0.91</emphasis> 13. Aug. 2003 - </para><para>Die oben erwähnten und viele weitere Bugs wurden gefixt. - Dies ist die aktuelltste stabile Version. - </para></listitem> -<listitem><para> - <emphasis role="bold"><application>MPlayer</application> 1.0pre1 "Development on the beach"</emphasis> 1. Sep. 2003 - </para><para>Obwohl dies kein stabiles Release ist, werde ich es aufführen, weil - es die erste Vorabversion der 1.0-Serie des <application>MPlayer</application> - und dazu ausersehen ist, die <emphasis>großen Fehlerjagdparty</emphasis> - zu unterstützen. - Dies ist ein großer Schritt vorwärts! - </para></listitem> -<listitem><para> - <emphasis role="bold"><application>MPlayer</application> 1.0</emphasis> Datum noch unbekannt - </para></listitem> -</itemizedlist> -</para> -</appendix> + +</appendix> \ No newline at end of file
--- a/DOCS/xml/de/skin.xml Sun Oct 15 12:48:18 2006 +0000 +++ b/DOCS/xml/de/skin.xml Sun Oct 15 12:53:46 2006 +0000 @@ -1,440 +1,483 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- in sync with r19081 --> +<!-- synced with r19081 --> <appendix id="skin"> -<title><application>MPlayer</application>s Skinformat</title> + <title><application>MPlayer</application>s 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">kein</emphasis> - eingebautes Skin besitzt, also <emphasis role="bold">muss zumindest ein Skin - installiert sein, damit das GUI verwendet werden kann.</emphasis> -</para> + <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">kein</emphasis> + eingebautes Skin besitzt, also <emphasis role="bold">muss 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> + <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> - Jedes 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> + <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> -<sect2 id="skin-overview-formats"> -<title>Bildformate</title> -<para> - Die Bilder müssen Truecolor-PNGs sein (24 oder 32 bpp). -</para> + <para> + Jedes 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 Abspielleiste (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. - Dies bedeutet, dass du sogar Formfenster haben kannst, wenn dein X-Server die - XShape-Extension besitzt. -</para> -</sect2> + <para> + Im Hauptfenster und in der Abspielleiste (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. + Dies 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> + <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">Abspielleitse</link> und das - <link linkend="skin-file-menu">Skin-Menü</link> (das durch einen - Rechtsklick aktiviert werden kann). + <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">Abspielleitse</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">Abspielleiste</emphasis> befindet sich dort, wo du - <application>MPlayer</application> kontrollieren kannst. Der Hintergrund - des Fensters ist eine 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 angeben. -</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> - für mehr Details. -</para><para> - Ein <emphasis role="bold">Potentiometer</emphasis> (hauptsächlich für - die Suchleiste und die Lautstärke-/Balance-Regler) kann durch die Aufteilung - der Grafik in verschiedene untereinander liegende Teile - eine beliebige Anzahl von Phasen haben. Siehe - <link linkend="skin-hpotmeter">hpotmeter</link> und - <link linkend="skin-potmeter">potmeter</link> für Details. -</para><para> - <emphasis role="bold">Labels</emphasis> sind ein wenig speziell: Die Zeichen, - die man zu ihrer Darstellung benötigt, werden von einer Grafikdatei und - die Zeichen in der Grafik 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> für 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> + <itemizedlist> + <listitem> + <para> + Das <emphasis role="bold">Hauptfenster</emphasis> und/oder die + <emphasis role="bold">Abspielleiste</emphasis> befindet sich dort, wo du + <application>MPlayer</application> kontrollieren kannst. Der Hintergrund + des Fensters ist eine 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 angeben. + </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> + für mehr Details. + </para> + <para> + Ein <emphasis role="bold">Potentiometer</emphasis> (hauptsächlich für + die Suchleiste und die Lautstärke-/Balance-Regler) kann durch die Aufteilung + der Grafik in verschiedene untereinander liegende Teile + eine beliebige Anzahl von Phasen haben. Siehe + <link linkend="skin-hpotmeter">hpotmeter</link> und + <link linkend="skin-potmeter">potmeter</link> für Details. + </para> + <para> + <emphasis role="bold">Labels</emphasis> sind ein wenig speziell: Die Zeichen, + die man zu ihrer Darstellung benötigt, werden von einer Grafikdatei und + die Zeichen in der Grafik 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> für 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 - ist (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">Unterfenster</emphasis> ist dort, wo der Film + erscheint. Es kann eine festgelegte Grafik anzeigen, wenn kein Film geladen + ist (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 der gewählten Einträge verwendet. - Wenn du 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> - Ein 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> + <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 der gewählten Einträge verwendet. + Wenn du 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> + Ein 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> + <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 ein Skin zu bauen: -<itemizedlist> -<listitem><para> - Die Konfigurationsdatei genannt <link linkend="skin-file">skin</link> erzählt - <application>MPlayer</application>, wie 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 - ein Menü erzeugen möchtest). -</para></listitem> -</itemizedlist> - Mit Ausnahme der skin-Konfigurationsdatei kannst du die anderen Dateien - benennen, wie es dir beliebt (beachte aber, dass Schrift-Beschreibungsdateien - eine <filename>.fnt</filename>-Erweiterung besitzen müssen). -</para> -</sect2> -</sect1> + <sect2 id="skin-files"> + <title>Dateien</title> + <para> + Du benötigst folgende Dateien, um ein Skin zu bauen: + <itemizedlist> + <listitem> + <para> + Die Konfigurationsdatei genannt <link linkend="skin-file">skin</link> erzählt + <application>MPlayer</application>, wie 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 + ein Menü erzeugen möchtest). + </para> + </listitem> + </itemizedlist> + Mit Ausnahme der skin-Konfigurationsdatei kannst du die anderen Dateien + benennen, 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 - am Zeilenanfang (es sind nur Leer- und Tabulator-Zeichen vor dem - '<literal>;</literal>' erlaubt). -</para> + <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 + 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> + <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> -<para> - Zur Zeit gibt es nur eine Anwendung, somit brauchst du nur einen Abschnitt: - Sein Name ist <emphasis role="bold">movieplayer</emphasis>. -</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> + <para> + Innerhalb dieses Abschnitts wird jedes Fenster durch einen Block folgender + Form beschrieben: +<programlisting><!-- +-->window = <replaceable>Fenstername</replaceable> . . . end </programlisting> -</para> + </para> -<para> - wobei <replaceable>Fenstername</replaceable> einer dieser Zeichenketten 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> - Abspielleiste</para></listitem> -</itemizedlist> -</para> + <para> + wobei <replaceable>Fenstername</replaceable> einer dieser Zeichenketten 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> - Abspielleiste</para></listitem> + </itemizedlist> + </para> -<para> - (Die sub- und menu-Blöcke sind optional - du musst kein Menü erzeugen oder - das Unterfenster dekorieren.) -</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 dieser Form definieren: -<programlisting>Element = Parameter</programlisting> - Wobei <literal>Element</literal> eine Zeichenkette ist, die den Typ des GUI-Elements - identifiziert, <literal>Parameter</literal> ist ein numerischer oder textueller - Wert (oder eine Liste Komma-getrennter Werte). -</para> + <para> + Innerhalb des Fensterblocks kannst du jedes Element für das Fenster durch eine + Zeile dieser Form definieren: + <programlisting>Element = Parameter</programlisting> + Wobei <literal>Element</literal> eine Zeichenkette ist, die 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ür das Hauptfenster ... - end + <para> + Fügt man nun das oben genannte zusammen, sieht die komplette Datei etwa so aus: +<programlisting><!-- +-->section = movieplayer +window = main +; ... Elemente für das Hauptfenster ... +end - window = sub - ; ... Elemente für das Unterfenster ... - end +window = sub +; ... Elemente für das Unterfenster ... +end - window = menu - ; ... Elemente für das Menü ... - end +window = menu +; ... Elemente für das Menü ... +end - window = playbar - ; ... Elemente für die Abspielleiste ... - end +window = playbar +; ... Elemente für die Abspielleiste ... +end end </programlisting> -</para> + </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 Erweiterung der Datei spezifizieren. - Existiert die Datei nicht, versucht <application>MPlayer</application> die Datei - <filename><Dateiname>.<ext></filename> zu laden, wobei - <literal>png</literal> und <literal>PNG</literal> als - <filename><ext></filename> (Erweiterung) probiert werden - (in dieser Reihenfolge). Die erste zutreffende Datei wird verwendet. -</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 Erweiterung der Datei spezifizieren. + Existiert die Datei nicht, versucht <application>MPlayer</application> die Datei + <filename><Dateiname>.<ext></filename> zu laden, wobei + <literal>png</literal> und <literal>PNG</literal> als + <filename><ext></filename> (Erweiterung) probiert 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) - | | | - | | | + <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> +| | | +| | | +(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 du 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> + <para> + Hier ein Beispiel, um es zu verdeutlichen. Angenommen, du hast eine Grafik + mit Namen <filename>main.png</filename>, die du 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 Abspielleiste</title> -<para> - Unten steht eine Liste von Einträgen, die in den Blöcken - '<literal>window = main</literal>' ... '<literal>end</literal>', - und '<literal>window = playbar</literal>' ... '<literal>end</literal>' - genutzt werden können. -</para> + <sect2 id="skin-file-main"> + <title>Hauptfenster und Abspielleiste</title> + <para> + Unten steht eine Liste von Einträgen, die in den Blöcken + '<literal>window = main</literal>' ... '<literal>end</literal>', + und '<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> + <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> + <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> ++---------------+<!-- + --></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-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-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 sich - sein Wert vom Minimum zum Maximum ä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 - des 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 - vertikal in <literal>numphases</literal> Teile wie folgt aufgeteilt werden: - </para> -<informalfigure> -<screen> + <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 sich + sein Wert vom Minimum zum Maximum ä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 des 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 + vertikal in <literal>numphases</literal> Teile wie folgt aufgeteilt werden: + </para> + <informalfigure> + <screen> +------------+ | phase #1 | +------------+ @@ -443,795 +486,939 @@ ... +------------+ | 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> - Standardwert für 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> ++------------+<!-- + --></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> - Standardwert für 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> + </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-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> - (gieb 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 Schriften können - definiert werden. - </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> + (gieb 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 Schriften können + definiert werden. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><literal> - <anchor id="skin-slabel"/>slabel = X, Y, fontid, "text" - </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 "-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-slabel"/>slabel = X, Y, fontid, "text" + </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 "-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, "text" - </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 vom - <literal>align</literal>-Parameter 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 "-Zeichen kann jedoch - nicht Teil des Textes sein). - Das Label wird mittels der über die <literal>fontid</literal> identifizierten - Schrift angezeigt. - Du kannst folgende Variablen im Text verwenden: -</para> + <varlistentry> + <term> + <literal> + <anchor id="skin-dlabel"/>dlabel = X, Y, length, align, fontid, "text" + </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 vom + <literal>align</literal>-Parameter 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 "-Zeichen kann jedoch + nicht Teil des Textes sein). + Das Label wird mittels der über die <literal>fontid</literal> identifizierten + Schrift angezeigt. + Du 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 Streamtyp 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 angehalten 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> + <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 Streamtyp 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 angehalten 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> + </tbody> + </tgroup> + </informaltable> + </listitem> -</varlistentry> -</variablelist> + </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> + <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> + <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>Breite</literal> und <literal>Höhe</literal> - kennzeichnen die Größe des Fensters; sie sind optional (wenn sie fehlen, hat - das Fenster dieselbe Größe wie die Grafik). - </para></listitem> -</varlistentry> + <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>Breite</literal> und <literal>Höhe</literal> + kennzeichnen die Größe des Fensters; sie sind optional (wenn sie fehlen, hat + das Fenster dieselbe 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 Dezimalzahl von 0 bis 255). - </para></listitem> -</varlistentry> -</variablelist> -</sect2> + <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 Dezimalzahl 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> + <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> -<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> -<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-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, Breite, Höhe, Nachricht - </literal></term> - <listitem><para> - Definiert die Position <literal>X,Y</literal> und die Größe eines Menüeintrags - innerhalb der Grafik. <literal>Nachricht</literal> ist die Meldung, die erzeugt - werden soll, wenn die Maustaste über dem Eintrag losgelassen wird. - </para></listitem> -</varlistentry> -</variablelist> -</sect2> -</sect1> + <varlistentry> + <term> + <literal> + <anchor id="skin-menu"/>menu = X, Y, Breite, Höhe, Nachricht + </literal> + </term> + <listitem> + <para> + Definiert die Position <literal>X,Y</literal> und die Größe eines Menüeintrags + innerhalb der Grafik. <literal>Nachricht</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> + <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>"char" = 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> + 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>"char" = 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> + <para> + Dieses Beispiel definiert die Zeichen A, B, C unter Anwendung von + <filename>font.png</filename>. + <programlisting> ; Kann eine "Schrift" anstatt "font.png" sein. image = font.png ; Drei Zeichen reichen zu Demonstrationszwecken :-) "A" = 0,0, 7,13 "B" = 7,0, 7,13 -"C" = 14,0, 7,13 -</programlisting> -</para> +"C" = 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, - so dass Dinge 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> + <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, + so dass Dinge 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> + <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> + <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> + + <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> + </varlistentry> -<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> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evPause</emphasis></term> + <listitem><para> + Formt einen Schalter zusammen mit <literal>evPlaySwitchToPause</literal>. + Sie können dazu benutzt werden, einen gebräuchlichen Play/Pause-Button + zu bekommen. Beide Meldungen sollten den Buttons zugewiesen werden, die + an genau derselben Position innerhalb des Fensters dargestellt werden. + Diese Meldung pausiert das Abspielen und die Grafik für den + <literal>evPlaySwitchToPause</literal>-Button wird gezeigt + (um anzudeuten, dass der Button zum Fortsetzen des Abspielens gedrückt + werden kann). + </para></listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evPause</emphasis></term> - <listitem><para> - Formt einen Schalter zusammen mit <literal>evPlaySwitchToPause</literal>. - Sie können dazu benutzt werden, einen gebräuchlichen Play/Pause-Button - zu bekommen. Beide Meldungen sollten den Buttons zugewiesen werden, die - an genau derselben Position innerhalb des Fensters dargestellt werden. - Diese Meldung pausiert das Abspielen und die Grafik für den - <literal>evPlaySwitchToPause</literal>-Button wird gezeigt - (um anzudeuten, dass der Button zum Fortsetzen des Abspielens gedrückt - werden kann). - </para></listitem> -</varlistentry> + <varlistentry> + <term> + <emphasis role="bold">evPlay</emphasis> + </term> + <listitem> + <para> + Starte das Abspielen. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evPlay</emphasis></term> - <listitem><para> - Starte das Abspielen. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term> + <listitem> + <para> + Das Gegenteil von <literal>evPauseSwitchToPlay</literal>. Diese Meldung + startet das Abspielen und die Grafik für den + <literal>evPauseSwitchToPlay</literal>-Button wird angezeigt + (um anzudeuten, dass der Button zum Pausieren des Abspielvorgangs gedrückt + werden kann). + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term> - <listitem><para> - Das Gegenteil von <literal>evPauseSwitchToPlay</literal>. Diese Meldung - startet das Abspielen und die Grafik für den - <literal>evPauseSwitchToPlay</literal>-Button wird angezeigt - (um anzudeuten, dass der Button zum Pausieren des Abspielvorgangs gedrückt - werden kann). - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evPrev</emphasis></term> + <listitem> + <para> + Springe zum vorherigen Track in der Playliste. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evPrev</emphasis></term> - <listitem><para> - Springe zum vorherigen Track in der Playliste. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evStop</emphasis></term> + <listitem> + <para>Stoppe das Abspielen.</para> + </listitem> + </varlistentry> + </variablelist> -<varlistentry> - <term><emphasis role="bold">evStop</emphasis></term> - <listitem><para> - Stoppe das Abspielen. - </para></listitem> -</varlistentry> -</variablelist> + <variablelist> + <title>Springen:</title> + <varlistentry> + <term><emphasis role="bold">evBackward10sec</emphasis></term> + <listitem> + <para> + Springe 10 Sekunden rückwärts. + </para> + </listitem> + </varlistentry> -<variablelist> -<title>Springen:</title> -<varlistentry> - <term><emphasis role="bold">evBackward10sec</emphasis></term> - <listitem><para> - Springe 10 Sekunden rückwärts. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evBackward1min</emphasis></term> + <listitem> + <para> + Springe 1 Minute rückwärts. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evBackward1min</emphasis></term> - <listitem><para> - Springe 1 Minute rückwärts. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evBackward10min</emphasis></term> + <listitem><para> + Springe 10 Minuten rückwärts. + </para></listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evBackward10min</emphasis></term> - <listitem><para> - Springe 10 Minuten rückwärts. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evForward10sec</emphasis></term> + <listitem> + <para> + Springe 10 Sekunden vorwärts. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evForward10sec</emphasis></term> - <listitem><para> - Springe 10 Sekunden vorwärts. - </para></listitem> -</varlistentry> - -<varlistentry> - <term><emphasis role="bold">evForward1min</emphasis></term> - <listitem><para> - Springe 1 Minute vorwärts. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evForward1min</emphasis></term> + <listitem> + <para> + Springe 1 Minute vorwärts. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evForward10min</emphasis></term> - <listitem><para> - Springe 10 Minuten vorwärts. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evForward10min</emphasis></term> + <listitem> + <para> + Springe 10 Minuten vorwärts. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evSetMoviePosition</emphasis></term> - <listitem><para> - Springe zu Position (kann von einem Potentiometer genutzt werden; - mit dem relativen Wert (0-100%) des Potentiometers). - </para></listitem> -</varlistentry> -</variablelist> + <varlistentry> + <term><emphasis role="bold">evSetMoviePosition</emphasis></term> + <listitem> + <para> + Springe zu Position (kann von einem Potentiometer genutzt werden; + mit dem relativen Wert (0-100%) des Potentiometers). + </para> + </listitem> + </varlistentry> + </variablelist> -<variablelist> -<title>Video-Kontrolle:</title> -<varlistentry> - <term><emphasis role="bold">evHalfSize</emphasis></term> - <listitem><para> - Setze das Filmfenster auf halbe Größe. - </para></listitem> -</varlistentry> -<varlistentry> - <term><emphasis role="bold">evDoubleSize</emphasis></term> - <listitem><para> - Setze das Filmfenster auf doppelte Größe. - </para></listitem> -</varlistentry> -<varlistentry> - <term><emphasis role="bold">evFullScreen</emphasis></term> - <listitem><para> - Schalte Vollbildmodus an/aus. - </para></listitem> -</varlistentry> -<varlistentry> - <term><emphasis role="bold">evNormalSize</emphasis></term> - <listitem><para> - Setze das Filmfenster auf normale Größe. - </para></listitem> -</varlistentry> -</variablelist> + <variablelist> + <title>Video-Kontrolle:</title> + <varlistentry> + <term><emphasis role="bold">evHalfSize</emphasis></term> + <listitem> + <para> + Setze das Filmfenster auf halbe Größe. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis role="bold">evDoubleSize</emphasis></term> + <listitem> + <para> + Setze das Filmfenster auf doppelte Größe. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis role="bold">evFullScreen</emphasis></term> + <listitem> + <para> + Schalte Vollbildmodus an/aus. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><emphasis role="bold">evNormalSize</emphasis></term> + <listitem> + <para> + Setze das Filmfenster auf normale Größe. + </para> + </listitem> + </varlistentry> + </variablelist> -<variablelist> -<title>Audio-Kontrolle:</title> -<varlistentry> - <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term> - <listitem><para> - Verringere die Verzögerung des Audiopuffers. - </para></listitem> -</varlistentry> + <variablelist> + <title>Audio-Kontrolle:</title> + <varlistentry> + <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term> + <listitem> + <para> + Verringere die Verzögerung des Audiopuffers. + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><emphasis role="bold">evDecBalance</emphasis></term> + <listitem> + <para> + Verringere die Balance. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evDecBalance</emphasis></term> - <listitem><para> - Verringere die Balance. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evDecVolume</emphasis></term> + <listitem><para> + Verringere die Lautstärke. + </para></listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evDecVolume</emphasis></term> - <listitem><para> - Verringere die Lautstärke. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term> + <listitem> + <para> + Erhöhe die Verzögerung des Audiopuffers. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term> - <listitem><para> - Erhöhe die Verzögerung des Audiopuffers. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evIncBalance</emphasis></term> + <listitem> + <para> + Erhöhe die Balance. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evIncBalance</emphasis></term> - <listitem><para> - Erhöhe die Balance. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evIncVolume</emphasis></term> + <listitem> + <para> + Erhöhe die Lautstärke. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evIncVolume</emphasis></term> - <listitem><para> - Erhöhe die Lautstärke. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evMute</emphasis></term> + <listitem> + <para> + Schalte den Ton an/aus. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evMute</emphasis></term> - <listitem><para> - Schalte den Ton an/aus. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evSetBalance</emphasis></term> + <listitem> + <para> + Setze die Balance (kann von einem Potentiometer genutzt werden; + mit dem relativen Wert (0-100%) des Potentiometers). + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evSetBalance</emphasis></term> - <listitem><para> - Setze die Balance (kann von einem Potentiometer genutzt werden; - mit dem relativen Wert (0-100%) des Potentiometers). - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evSetVolume</emphasis></term> + <listitem> + <para> + Setze die Lautstärke(kann von einem Potentiometer genutzt werden; + mit dem relativen Wert (0-100%) des Potentiometers). + </para> + </listitem> + </varlistentry> + </variablelist> -<varlistentry> - <term><emphasis role="bold">evSetVolume</emphasis></term> - <listitem><para> - Setze die Lautstärke(kann von einem Potentiometer genutzt werden; - mit dem relativen Wert (0-100%) des Potentiometers). - </para></listitem> -</varlistentry> -</variablelist> + <variablelist> + <title>Verschiedenes:</title> + <varlistentry> + <term><emphasis role="bold">evAbout</emphasis></term> + <listitem> + <para> + Öffne das About-Fenster. + </para> + </listitem> + </varlistentry> -<variablelist> -<title>Verschiedenes:</title> -<varlistentry> - <term><emphasis role="bold">evAbout</emphasis></term> - <listitem><para> - Öffne das About-Fenster. - </para></listitem> -</varlistentry> - -<varlistentry> - <term><emphasis role="bold">evDropSubtitle</emphasis></term> - <listitem><para> - Deaktiviert den aktuell verwendeten Untertitel. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evDropSubtitle</emphasis></term> + <listitem> + <para> + Deaktiviert den aktuell verwendeten Untertitel. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evEqualizer</emphasis></term> - <listitem><para> - Schaltet den Equalizer an/aus. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evEqualizer</emphasis></term> + <listitem> + <para> + Schaltet den Equalizer an/aus. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evExit</emphasis></term> - <listitem><para> - Schließe das Programm. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evExit</emphasis></term> + <listitem> + <para> + Schließe das Programm. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evIconify</emphasis></term> - <listitem><para> - Minimiere das Fenster zu einem Symbol. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evIconify</emphasis></term> + <listitem> + <para> + Minimiere das Fenster zu einem Symbol. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evLoad</emphasis></term> - <listitem><para> - Lade eine Datei (durch Öffnen des Datei-Browser-Fensters, - in dem du die Datei wählen kannst). - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evLoad</emphasis></term> + <listitem> + <para> + Lade eine Datei (durch Öffnen des Datei-Browser-Fensters, + in dem du die Datei wählen kannst). + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evLoadPlay</emphasis></term> - <listitem><para> - Macht dasselbe wie <literal>evLoad</literal>, es startet jedoch - das Abspielen nach dem Laden der Datei automatisch. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evLoadPlay</emphasis></term> + <listitem> + <para> + Macht dasselbe wie <literal>evLoad</literal>, es startet jedoch + das Abspielen nach dem Laden der Datei automatisch. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evLoadSubtitle</emphasis></term> - <listitem><para> - Lädt eine Untertiteldatei (mit dem Dateiwähler) - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evLoadSubtitle</emphasis></term> + <listitem> + <para> + Lädt eine Untertiteldatei (mit dem Dateiwähler) + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evLoadAudioFile</emphasis></term> - <listitem><para> - Lädt eine Audio-Datei (mit dem Dateiwähler) - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evLoadAudioFile</emphasis></term> + <listitem> + <para> + Lädt eine Audio-Datei (mit dem Dateiwähler) + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evNone</emphasis></term> - <listitem><para> - Leere Meldung, besitzt keinen Effekt (außer vielleicht in Subversion-Versionen :-)). - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evNone</emphasis></term> + <listitem> + <para> + Leere Meldung, besitzt keinen Effekt (außer vielleicht in Subversion-Versionen :-)). + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evPlaylist</emphasis></term> - <listitem><para> - Öffne/schließe das Playlisten-Fenster. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evPlaylist</emphasis></term> + <listitem> + <para> + Öffne/schließe das Playlisten-Fenster. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evPlayDVD</emphasis></term> - <listitem><para> - Versucht die DVD im angegebenen DVD-ROM-Laufwerk zu öffnen. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evPlayDVD</emphasis></term> + <listitem> + <para> + Versucht die DVD im angegebenen DVD-ROM-Laufwerk zu öffnen. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evPlayVCD</emphasis></term> - <listitem><para> - Versucht die VCD im angegebenen CD-ROM-Laufwerk zu öffnen. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evPlayVCD</emphasis></term> + <listitem> + <para> + Versucht die VCD im angegebenen CD-ROM-Laufwerk zu öffnen. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evPreferences</emphasis></term> - <listitem><para> - Öffne das Einstellungsfenster. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evPreferences</emphasis></term> + <listitem> + <para> + Öffne das Einstellungsfenster. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evSetAspect</emphasis></term> - <listitem><para> - Setzt das angezeigte Grafikseitenverhältnis. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evSetAspect</emphasis></term> + <listitem> + <para> + Setzt das angezeigte Grafikseitenverhältnis. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evSetURL</emphasis></term> - <listitem><para> - Zeigt das URL-Dialog-Fenster. - </para></listitem> -</varlistentry> + <varlistentry> + <term><emphasis role="bold">evSetURL</emphasis></term> + <listitem> + <para> + Zeigt das URL-Dialog-Fenster. + </para> + </listitem> + </varlistentry> -<varlistentry> - <term><emphasis role="bold">evSkinBrowser</emphasis></term> - <listitem><para> - Öffne das Skin-Browser-Fenster. - </para></listitem> -</varlistentry> -</variablelist> + <varlistentry> + <term><emphasis role="bold">evSkinBrowser</emphasis></term> + <listitem> + <para> + Öffne das Skin-Browser-Fenster. + </para> + </listitem> + </varlistentry> + </variablelist> -</sect1> - -<sect1 id="skin-quality"> -<title>Erstellen von qualitativen Skins</title> + </sect1> -<para> - Jetzt hast du dich über das Herstellen eines Skins für das - <application>MPlayer</application>-GUI informiert, in - <application>Gimp</application> dein bestes gegeben und willst - deinen Skin an uns schicken? - Lies weiter, dann findest du einige Vorgaben dafür, wie häufige Irrtümer - vermieden und hochqualitative Skins erstellt werden können. -</para> + <sect1 id="skin-quality"> + <title>Erstellen von qualitativen Skins</title> + + <para> + Jetzt hast du dich über das Herstellen eines Skins für das + <application>MPlayer</application>-GUI informiert, in + <application>Gimp</application> dein bestes gegeben und willst + deinen Skin an uns schicken? + Lies weiter, dann findest du einige Vorgaben dafür, wie häufige Irrtümer + vermieden und hochqualitative Skins erstellt werden können. + </para> -<para> - Wir wollen, dass Skins, die wir in unser Repository einfügen, - bestimmten Qualitätsstandards entsprechen. Du kannst auch vieles - dazutun, uns das Leben leichter zu machen. -</para> + <para> + Wir wollen, dass Skins, die wir in unser Repository einfügen, + bestimmten Qualitätsstandards entsprechen. Du kannst auch vieles + dazutun, uns das Leben leichter zu machen. + </para> + + <para> + Als ein Beispiel kannst du dir den <systemitem>Blue</systemitem>-Skin + ansehen. Er genügt seit Version 1.5 allen unten aufgelisteten Kriterien. + </para> -<para> - Als ein Beispiel kannst du dir den <systemitem>Blue</systemitem>-Skin - ansehen. Er genügt seit Version 1.5 allen unten aufgelisteten Kriterien. -</para> + <itemizedlist> + <listitem> + <para> + Jeder Skin sollte mit einer + <filename>README</filename>-Datei kommen, die Informationen über + dich, den Autor, Copyright- und Lizenzanmerkungen und alles, was du + sonst noch anfügen willst, enthält. + Willst du ein Changelog, ist diese Datei ein geeigneter Ort dafür. + </para> + </listitem> -<itemizedlist> -<listitem><para> - Jeder Skin sollte mit einer - <filename>README</filename>-Datei kommen, die Informationen über - dich, den Autor, Copyright- und Lizenzanmerkungen und alles, was du - sonst noch anfügen willst, enthält. - Willst du ein Changelog, ist diese Datei ein geeigneter Ort dafür. -</para></listitem> + <listitem> + <para> + Es sollte eine Datei namens <filename>VERSION</filename> + mit nicht mehr als der Versionsnummer des Skins in einer einzigen + Zeile geben (z.B. 1.0). + </para> + </listitem> -<listitem><para> - Es sollte eine Datei namens <filename>VERSION</filename> - mit nicht mehr als der Versionsnummer des Skins in einer einzigen - Zeile geben (z.B. 1.0). -</para></listitem> + <listitem> + <para> + Horizontale und vertikale Regler (wie die für Lautstärke + oder Position) sollten die Mitte des Knaufs sauber in der Mitte + des Reglers zentriert haben. Es sollte möglich sein, den Knauf + an beide Enden des Reglers zu bewegen, jedoch nicht darüber hinaus. + </para> + </listitem> -<listitem><para> - Horizontale und vertikale Regler (wie die für Lautstärke - oder Position) sollten die Mitte des Knaufs sauber in der Mitte - des Reglers zentriert haben. Es sollte möglich sein, den Knauf - an beide Enden des Reglers zu bewegen, jedoch nicht darüber hinaus. -</para></listitem> + <listitem> + <para> + Für Skin-Elemente sollten die richtigen Größen in der skin-Datei + deklariert sein. Ist dies nicht der Fall, kannst du außerhalb + z.B. eines Buttons klicken und trotzdem einen Klick innerhalb + seiner Fläche auslösen und diesen dennoch nicht auslösen. + </para> + </listitem> -<listitem><para> - Für Skin-Elemente sollten die richtigen Größen in der skin-Datei - deklariert sein. Ist dies nicht der Fall, kannst du außerhalb - z.B. eines Buttons klicken und trotzdem einen Klick innerhalb - seiner Fläche auslösen und diesen dennoch nicht auslösen.</para></listitem> + <listitem> + <para> + Die <filename>skin</filename>-Datei sollte sauber + aussehen und keine Tabs enthalten. Mit sauber aussehen ist + gemeint, dass die Zahlen ordentlich in Reihe stehen. + </para> + </listitem> + </itemizedlist> -<listitem><para> - Die <filename>skin</filename>-Datei sollte sauber - aussehen und keine Tabs enthalten. Mit sauber aussehen ist - gemeint, dass die Zahlen ordentlich in Reihe stehen. -</para></listitem> -</itemizedlist> - -</sect1> + </sect1> </appendix>
--- a/DOCS/xml/de/tvinput.xml Sun Oct 15 12:48:18 2006 +0000 +++ b/DOCS/xml/de/tvinput.xml Sun Oct 15 12:53:46 2006 +0000 @@ -1,216 +1,215 @@ <?xml version="1.0" encoding="iso-8859-1"?> <!-- in sync with r17322 --> <chapter id="tv"> - <title>TV</title> - - <sect1 id="tv-input" xreflabel="TV input"> - <title>TV-Input</title> - - <para> - Dieser Abschnitt behandelt das <emphasis role="bold">Anschauen/Grabben von einem - V4L-kompatiblen TV-Empfänger</emphasis>. - Siehe Manpage für eine Beschreibung der TV-Optionen und Tastensteuerungen. - </para> - - - <sect2 id="tv-compilation"> - <title>Compilierung</title> - - <procedure> - <step> - <para> - Zuerst musst du neu compilieren. <filename>./configure</filename> wird die Kernelheader - vom v4l-Kram und die Existenz der <filename>/dev/video*</filename>-Einträge - automatisch erkennen und TV-Unterstützung wird eingebaut werden - (siehe Ausgaben von <filename>./configure</filename>). - </para> - </step> - <step> - <para> - Stelle sicher, dass dein Empfänger mit anderer TV-Software wie zum Beispiel - <application>XawTV</application> unter Linux läuft. - </para> - </step> - </procedure> - </sect2> - - <sect2 id="tv-tips"> - <title>Tipps zum Gebrauch</title> - <para> - Die vollständige Liste der Optionen ist in der Manpage verfügbar. - Hier sind nur ein paar Tipps: - </para> - <itemizedlist> - <listitem> - <para> - Benutze die Option <option>channels</option>. Ein Beispiel: - <screen>-tv channels=26-MTV1,23-TV2</screen> - Erklärung: Durch Verwendung dieser Option sind nur die Kanäle 26 und 23 in Gebrauch, - und es wird beim Kanalwechsel einen netten OSD-Text geben, der den Namen des Kanals - anzeigt. Leerzeichen im Kanalnamen müssen durch das Zeichen "_" ersetzt werden. - </para> - </listitem> - - <listitem> - <para> - Wähle vernünftige Bildabmessungen. Die Abmessungen des resultierenden Bildes sollten durch - 16 teilbar sein. - </para> - </listitem> - - <listitem> - <para> - Wenn du das Video bei einer vertikalen Auflösung höher als halb der vollen - Auflösung einfängst (z.B. 288 für PAL oder 240 für NTSC), dann werden die - 'Frames', die du erhältst, wirklich jeweils ausgelassene Paare von Feldern sein. - Je nach dem, was du mit dem Video anfängst, kannst du es in dieser Form belassen, - (zerstörend) deinterlacen oder die Paare zu einzelnen Feldern machen. - </para> - <para> - Ansonsten wirst du einen Film erhalten, der während schnellbewegten Szenen gestört ist, - und die Bitratenkontrolle wird vermutlich nicht in der Lage sein, die angegebene Bitrate - einzuhalten, da die Interlacing-Artefakte hohe Details produzieren und daher eine Menge - Bandbreite kosten. Du kannst Deinterlacing mit <option>-vf pp=DEINT_TYPE</option> - aktivieren. Normalerweise leistet <option>pp=lb</option> gute Arbeit, aber das ist - Geschmackssache. Schaue nach anderen Deinterlacing-Algorithmen im Handbuch und versuche - es mit denen. - </para> - </listitem> - - <listitem> - <para> - Schneide tote Bereiche ab. Wenn du Video aufnimmst, sind die Bereiche an den Rändern - normalerweise schwarz oder enthalten Rauschen. Diese wiederum verbrauchen unnötige - Bandbreite. Genauer gesagt sind es nicht die schwarzen Bereiche selbst, sondern - die scharfen Übergänge zwischen dem schwarzen und dem helleren Videobild, die das tun. - Aber das ist für den Moment nicht so wichtig. Bevor du mit der Aufnahme beginnst, - passe alle Argumente der Option <option>crop</option> so an, dass der ganze Müll - an den Rändern abgeschnitten wird. Nochmal, vergiss nicht, die resultierenden - Abmessungen vernünftig zu halten. - </para> - </listitem> - - <listitem> - <para> - Achte auf CPU-Load. Es sollte die 90%-Grenze die meiste Zeit über nicht überschreiten. - Wenn du einen großen Aufnahmepuffer hast, kann <application>MEncoder</application> - eine Überlastung für ein paar Sekunden überstehen, aber nicht mehr. - Es ist besser, 3D-OpenGL-Bildschirmschoner und ähnlichen Kram abzustellen. - </para> - </listitem> - - <listitem> - <para> - Spiele nicht mit der Systemuhr herum. <application>MEncoder</application> benutzt - sie für A/V-Synchronisation. Wenn du die Systemuhr anpasst (vor allem rückwärtig), - verwirrt dies <application>MEncoder</application>, und du wirst Frames verlieren. - Das ist ein wichtiger Sachverhalt, wenn du mit einem Netzwerk verbunden bist und - Zeitsynchronisationssoftware wie NTP verwendest. Du musst NTP während des Aufnahmeprozesses - ausschalten, wenn du zuverlässig aufnehmen möchtest. - </para> - </listitem> - - <listitem> - <para> - Ändere das <option>outfmt</option> nicht, es sei denn, du weißt, was du tust, oder - deine Karte/Treiber den Standard (YV12-Farbraum) wirklich nicht unterstützt. - In älteren Versionen von <application>MPlayer</application>/<application>MEncoder</application> - war es notwendig, das Ausgabeformat anzugeben. Diese Sache sollte in aktuellen Releases - behoben sein, und <option>outfmt</option> wird nicht weiter benötigt. Die Standardeinstellung - genügt den meisten Zwecken. Zum Beispiel, wenn du mit - <systemitem class="library">libavcodec</systemitem> nach DivX aufnimmst und - <option>outfmt=RGB24</option> angibst, um die Qualität der aufgenommenen Bilder zu erhöhen, - so wird das aufgenommene Bild später tatsächlich zurück zu YV12 konvertiert. - Die einzige Sache, die du erreichst, ist eine massive Verschwendung von CPU-Power. - </para> - </listitem> - - <listitem> - <para> - Um den Farbraum I420 anzugeben (<option>outfmt=i420</option>), musst du die Option - <option>-vc rawi420</option> hinzufügen. Das liegt an einem Konflikt mit einem - Intel Indeo Videocodec. - </para> - </listitem> - - <listitem> - <para> - Es gibt viele Möglichkeiten, Audio aufzunehmen. Du kannst den Ton grabben entweder - mit deiner Soundkarte über ein externes Kabel zwischen Videokarte und Line-In oder - durch Benutzung des eingebauten ADC im bt878-Chip. In letzterem Falle musst den den - Treiber <emphasis role="bold">btaudio</emphasis> laden. Lies die Datei - <filename>linux/Documentation/sound/btaudio</filename> (im Kernel-Tree, nicht - in dem von <application>MPlayer</application>) für ein paar Anweisungen, - wie dieser Treiber verwendet wird. - </para> - </listitem> - - <listitem> - <para> - Wenn <application>MEncoder</application> das Audiogerät nicht öffnen kann, - stelle sicher, dass es wirklich verfügbar ist. Es kann Ärger geben mit Soundservern - wie aRts (KDE) oder ESD (GNOME). Wenn du eine Vollduplex-Soundkarte hast - (fast jede vernünftige Karte unterstützt dies heutzutage) und du KDE laufen hast, - probiere die Option "Vollduplex" im Eigenschaftenmenü des Soundservers. - </para> - </listitem> - </itemizedlist> - </sect2> - - - <sect2 id="tv-examples"> - <title>Beispiele</title> - - <informalexample> - <para> - Dummy-Ausgabe zu AAlib :) - <screen>mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://</screen> - </para> - </informalexample> - - <informalexample> - <para> - Input von Standard-V4L: - <screen>mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://</screen> - </para> - </informalexample> - - <informalexample> - <para> - Ein gehobenes Beispiel. Dies sorgt dafür, dass <application>MEncoder</application> - das volle PAL-Bild einfängt, die Ränder abschneidet und einen Deinterlacer mit einem linearen - Blendalgorithmus auf das Bild anwendet. Der Ton wird mit dem LAME-Codec bei konstanter Bitrate - von 64kbps komprimiert. Diese Einstellungen eigenen sich für das Einfangen von Filmen. - <screen><!-- --->mencoder -tv driver=v4l:width=768:height=576 \ + <title>TV</title> + + <sect1 id="tv-input" xreflabel="TV input"> + <title>TV-Input</title> + + <para> + Dieser Abschnitt behandelt das <emphasis role="bold">Anschauen/Grabben von einem V4L-kompatiblen TV-Empfänger</emphasis>. + Siehe Manpage für eine Beschreibung der TV-Optionen und Tastensteuerungen. + </para> + + + <sect2 id="tv-compilation"> + <title>Compilierung</title> + + <procedure> + <step> + <para> + Zuerst musst du neu compilieren. <filename>./configure</filename> wird die Kernelheader + vom v4l-Kram und die Existenz der <filename>/dev/video*</filename>-Einträge + automatisch erkennen und TV-Unterstützung wird eingebaut werden + (siehe Ausgaben von <filename>./configure</filename>). + </para> + </step> + <step> + <para> + Stelle sicher, dass dein Empfänger mit anderer TV-Software wie zum Beispiel + <application>XawTV</application> unter Linux läuft. + </para> + </step> + </procedure> + </sect2> + + <sect2 id="tv-tips"> + <title>Tipps zum Gebrauch</title> + <para> + Die vollständige Liste der Optionen ist in der Manpage verfügbar. + Hier sind nur ein paar Tipps: + </para> + <itemizedlist> + <listitem> + <para> + Benutze die Option <option>channels</option>. Ein Beispiel: + <screen>-tv channels=26-MTV1,23-TV2</screen> + Erklärung: Durch Verwendung dieser Option sind nur die Kanäle 26 und 23 in Gebrauch, + und es wird beim Kanalwechsel einen netten OSD-Text geben, der den Namen des Kanals + anzeigt. Leerzeichen im Kanalnamen müssen durch das Zeichen "_" ersetzt werden. + </para> + </listitem> + + <listitem> + <para> + Wähle vernünftige Bildabmessungen. Die Abmessungen des resultierenden Bildes sollten durch + 16 teilbar sein. + </para> + </listitem> + + <listitem> + <para> + Wenn du das Video bei einer vertikalen Auflösung höher als halb der vollen + Auflösung einfängst (z.B. 288 für PAL oder 240 für NTSC), dann werden die + 'Frames', die du erhältst, wirklich jeweils ausgelassene Paare von Feldern sein. + Je nach dem, was du mit dem Video anfängst, kannst du es in dieser Form belassen, + (zerstörend) deinterlacen oder die Paare zu einzelnen Feldern machen. + </para> + <para> + Ansonsten wirst du einen Film erhalten, der während schnellbewegten Szenen gestört ist, + und die Bitratenkontrolle wird vermutlich nicht in der Lage sein, die angegebene Bitrate + einzuhalten, da die Interlacing-Artefakte hohe Details produzieren und daher eine Menge + Bandbreite kosten. Du kannst Deinterlacing mit <option>-vf pp=DEINT_TYPE</option> + aktivieren. Normalerweise leistet <option>pp=lb</option> gute Arbeit, aber das ist + Geschmackssache. Schaue nach anderen Deinterlacing-Algorithmen im Handbuch und versuche + es mit denen. + </para> + </listitem> + + <listitem> + <para> + Schneide tote Bereiche ab. Wenn du Video aufnimmst, sind die Bereiche an den Rändern + normalerweise schwarz oder enthalten Rauschen. Diese wiederum verbrauchen unnötige + Bandbreite. Genauer gesagt sind es nicht die schwarzen Bereiche selbst, sondern + die scharfen Übergänge zwischen dem schwarzen und dem helleren Videobild, die das tun. + Aber das ist für den Moment nicht so wichtig. Bevor du mit der Aufnahme beginnst, + passe alle Argumente der Option <option>crop</option> so an, dass der ganze Müll + an den Rändern abgeschnitten wird. Nochmal, vergiss nicht, die resultierenden + Abmessungen vernünftig zu halten. + </para> + </listitem> + + <listitem> + <para> + Achte auf CPU-Load. Es sollte die 90%-Grenze die meiste Zeit über nicht überschreiten. + Wenn du einen großen Aufnahmepuffer hast, kann <application>MEncoder</application> + eine Überlastung für ein paar Sekunden überstehen, aber nicht mehr. + Es ist besser, 3D-OpenGL-Bildschirmschoner und ähnlichen Kram abzustellen. + </para> + </listitem> + + <listitem> + <para> + Spiele nicht mit der Systemuhr herum. <application>MEncoder</application> benutzt + sie für A/V-Synchronisation. Wenn du die Systemuhr anpasst (vor allem rückwärtig), + verwirrt dies <application>MEncoder</application>, und du wirst Frames verlieren. + Das ist ein wichtiger Sachverhalt, wenn du mit einem Netzwerk verbunden bist und + Zeitsynchronisationssoftware wie NTP verwendest. Du musst NTP während des Aufnahmeprozesses + ausschalten, wenn du zuverlässig aufnehmen möchtest. + </para> + </listitem> + + <listitem> + <para> + Ändere das <option>outfmt</option> nicht, es sei denn, du weißt, was du tust, oder + deine Karte/Treiber den Standard (YV12-Farbraum) wirklich nicht unterstützt. + In älteren Versionen von <application>MPlayer</application>/<application>MEncoder</application> + war es notwendig, das Ausgabeformat anzugeben. Diese Sache sollte in aktuellen Releases + behoben sein, und <option>outfmt</option> wird nicht weiter benötigt. Die Standardeinstellung + genügt den meisten Zwecken. Zum Beispiel, wenn du mit + <systemitem class="library">libavcodec</systemitem> nach DivX aufnimmst und + <option>outfmt=RGB24</option> angibst, um die Qualität der aufgenommenen Bilder zu erhöhen, + so wird das aufgenommene Bild später tatsächlich zurück zu YV12 konvertiert. + Die einzige Sache, die du erreichst, ist eine massive Verschwendung von CPU-Power. + </para> + </listitem> + + <listitem> + <para> + Um den Farbraum I420 anzugeben (<option>outfmt=i420</option>), musst du die Option + <option>-vc rawi420</option> hinzufügen. Das liegt an einem Konflikt mit einem + Intel Indeo Videocodec. + </para> + </listitem> + + <listitem> + <para> + Es gibt viele Möglichkeiten, Audio aufzunehmen. Du kannst den Ton grabben entweder + mit deiner Soundkarte über ein externes Kabel zwischen Videokarte und Line-In oder + durch Benutzung des eingebauten ADC im bt878-Chip. In letzterem Falle musst den den + Treiber <emphasis role="bold">btaudio</emphasis> laden. Lies die Datei + <filename>linux/Documentation/sound/btaudio</filename> (im Kernel-Tree, nicht + in dem von <application>MPlayer</application>) für ein paar Anweisungen, + wie dieser Treiber verwendet wird. + </para> + </listitem> + + <listitem> + <para> + Wenn <application>MEncoder</application> das Audiogerät nicht öffnen kann, + stelle sicher, dass es wirklich verfügbar ist. Es kann Ärger geben mit Soundservern + wie aRts (KDE) oder ESD (GNOME). Wenn du eine Vollduplex-Soundkarte hast + (fast jede vernünftige Karte unterstützt dies heutzutage) und du KDE laufen hast, + probiere die Option "Vollduplex" im Eigenschaftenmenü des Soundservers. + </para> + </listitem> + </itemizedlist> + </sect2> + + + <sect2 id="tv-examples"> + <title>Beispiele</title> + + <informalexample> + <para> + Dummy-Ausgabe zu AAlib :) + <screen>mplayer -tv driver=dummy:width=640:height=480 -vo aa tv://</screen> + </para> + </informalexample> + + <informalexample> + <para> + Input von Standard-V4L: + <screen>mplayer -tv driver=v4l:width=640:height=480:outfmt=i420 -vc rawi420 -vo xv tv://</screen> + </para> + </informalexample> + + <informalexample> + <para> + Ein gehobenes Beispiel. Dies sorgt dafür, dass <application>MEncoder</application> + das volle PAL-Bild einfängt, die Ränder abschneidet und einen Deinterlacer mit einem linearen + Blendalgorithmus auf das Bild anwendet. Der Ton wird mit dem LAME-Codec bei konstanter Bitrate + von 64kbps komprimiert. Diese Einstellungen eigenen sich für das Einfangen von Filmen. + <screen> +mencoder -tv driver=v4l:width=768:height=576 \ -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 \ -oac mp3lame -lameopts cbr:br=64 \ -vf crop=720:544:24:16,pp=lb -o <replaceable>output.avi</replaceable> tv://<!-- - --></screen> - </para> - </informalexample> - - <informalexample> - <para> - Dies wird zusätzlich die Bildabmessungen auf 384x288 ändern und das Video mit - einer Bitrate von 250kbps im hochqualitativen Modus encodieren. - Die Option vqmax lockert den Quantisierungsparameter und erlaubt dem Videokompressor, eine - sehr niedrige Bitrate zu erlangen, sogar auf Kosten der Qualität. Dies kann verwendet werden - für das Einfangen von langen TV-Serien, wo die Videoqualität nicht so wichtig ist. - <screen><!-- --->mencoder -tv driver=v4l:width=768:height=576 \ + --></screen> + </para> + </informalexample> + + <informalexample> + <para> + Dies wird zusätzlich die Bildabmessungen auf 384x288 ändern und das Video mit + einer Bitrate von 250kbps im hochqualitativen Modus encodieren. + Die Option vqmax lockert den Quantisierungsparameter und erlaubt dem Videokompressor, eine + sehr niedrige Bitrate zu erlangen, sogar auf Kosten der Qualität. Dies kann verwendet werden + für das Einfangen von langen TV-Serien, wo die Videoqualität nicht so wichtig ist. + <screen> +mencoder -tv driver=v4l:width=768:height=576 \ -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=350:vhq:vqmax=31:keyint=300 \ -oac mp3lame -lameopts cbr:br=48 \ -vf crop=720:540:24:18,pp=lb,scale=384:288 -sws 1 -o <replaceable>output.avi</replaceable> tv://<!-- - --></screen> - Es ist außerdem möglich, in der Option <option>-tv</option> kleinere Bildabmessungen - anzugeben und die Softwareskalierung auszulassen, aber dieser Ansatz nutzt die maximal - verfügbaren Informationen und ist ein wenig resistenter gegen Störungen. Die bt8x8-Chips - können das Mitteln der Pixel auf Grund einer Hardwarebeschränkung nur in horizontaler - Richtung durchführen. - </para> - </informalexample> - </sect2> - </sect1> - -</chapter> + --></screen> + Es ist außerdem möglich, in der Option <option>-tv</option> kleinere Bildabmessungen + anzugeben und die Softwareskalierung auszulassen, aber dieser Ansatz nutzt die maximal + verfügbaren Informationen und ist ein wenig resistenter gegen Störungen. Die bt8x8-Chips + können das Mitteln der Pixel auf Grund einer Hardwarebeschränkung nur in horizontaler + Richtung durchführen. + </para> + </informalexample> + </sect2> + </sect1> + +</chapter> \ No newline at end of file