view DOCS/xml/pl/skin.xml @ 11423:dffc970f1922

FIXING A/V SYNC WHEN ENCODING, from an old mail by Rich: http://mplayerhq.hu/pipermail/mplayer-users/2002-July/018339.html
author diego
date Mon, 10 Nov 2003 10:12:35 +0000 (2003-11-10)
parents 321222d19de6
children 5f94bdba470f
line wrap: on
line source
<?xml version="1.0" encoding="iso-8859-2"?>
<!-- synced with 1.4 -->
<appendix id="skin">
<title>Format sk�rki MPlayera</title>
<para>
Celem tego dokumentu jest opisanie formatu sk�rki MPlayera.
Informacje zawarte tutaj mog� by� niedok�adne poniewa�
<orderedlist>
<listitem><para>Nie jestem tym, kt�ry pisa� GUI.</para></listitem>
<listitem><para>GUI nie jest uko�czone.</para></listitem>
<listitem><para>Mog� si� myli�.</para></listitem>
</orderedlist>
A wi�c nie b�d� zaskoczony je�li co� nie b�dzie dzia�a� tak, jak przedstawiono tutaj.
</para>

<para>Podzi�kowania <emphasis>Zolt�nowi Ponekkerowi</emphasis> za jego pomoc.</para>

<para><emphasis>Andr�s Mohari &lt;mayday@freemail.hu&gt;</emphasis></para>

<sect1 id="skin-overview">
<title>Wst�p</title>
<para>
W zasadzie nie ma to �adnego zwi�zku z formatem sk�rki, ale powiniene�
wiedzie�, �e MPlayer  <emphasis role="bold">nie</emphasis> posiada wbudowanej sk�rki, w zwi�zku
z tym <emphasis role="bold"> co najmniej jedna sk�rka musi by� zainstalowana, aby by�a mo�liwo倶
u�ywania GUI.</emphasis>
</para>

<sect2 id="skin-overview-directories">
<title>Katalogi</title>
<para>
Sk�rki s� szukane w nast�puj�cych katalogach (w kolejno�ci):
<orderedlist>
<listitem><para>
<filename class="directory">$(DATADIR)/Skin/</filename>
</para></listitem>
<listitem><para>
<filename class="directory">$(PREFIX)/share/mplayer/Skin/</filename>
</para></listitem>
<listitem><para>
<filename class="directory">~/.mplayer/Skin/</filename>
</para></listitem>
</orderedlist>
</para>

<para>
Zauwa�, �e pierwsza �cie�ka mo�e si� r鷽ni� w zale�no�ci od sposobu w jaki MPlayer by� skonfigurowany
(zobacz argumenty <option>--prefix</option> oraz <option>--datadir</option> w skrypcie
 <command>configure</command>).
</para>

<para>
Ka�da sk�rka jest instalowana w swoim w�asnym katalogu, w jednym z
katalog�w wy�ej wymienionych, na przyk�ad:
<screen>$(PREFIX)/share/mplayer/Skin/default/</screen>
</para>
</sect2>

<sect2 id="skin-overview-formats">
<title>Formaty obrazk�w</title>
<para>Obrazki musz� by� w formacie PNG truecolor (24 lub 32 bpp).</para>
<para>
W g鞄wnym oknie oraz na panelu odtwarzania (zobacz ni�ej) mo�esz u�y�
obrazk�w z 'przezroczysto�ci�': obszary wype�nione kolorem #FF00FF (magenta) s� w pe�ni
przezroczyste dla MPlayera. Oznacza to, �e mo�esz mie� okna o r鷽nych kszta�tach
je�li Tw�j X Server posiada rozszerzenie XShape.
</para>
</sect2>

<sect2 id="skin-overview-components">
<title>Sk�adniki sk�rki</title>
<para>
Sk�rki s� ca�kowicie konfigurowalne (w odr鷽nieniu od sk�rek np. Winampa/XMMS),
a wi�c zale�y to od Ciebie, czy stworzysz co� wspania�ego.
</para>

<para>
W chwili obecnej mamy trzy okna, kt�re mo�na ozdobi�:
<link linkend="skin-file-main">okno g鞄wne (main window)</link>,
<link linkend="skin-file-subwindow">okno ekranu (subwindow)</link>,
<link linkend="skin-file-main">panel odtwarzania (playbar)</link>,
<link linkend="skin-file-menu">menu sk�rki (skin menu)</link> (kt�re mo�e by� aktywowane
prawym przyciskiem myszy).

<itemizedlist>
<listitem><para>
  <emphasis role="bold">Okno g鞄wne</emphasis> i/lub
  <emphasis role="bold">panel odtwarzania</emphasis> to miejsca, gdzie mo�na sterowa� programem MPlayer.
  T�em tego okna jest obrazek. R鷽ne elementy mog� (i musz�) by� umieszczone
  w tym oknie: <emphasis>przyciski</emphasis>, <emphasis>potencjometry</emphasis>
  (suwaki) i <emphasis>etykiety</emphasis>. Dla ka�dego elementu musisz okre�li� ich pozycj�
  oraz rozmiar.
</para><para>
   <emphasis role="bold">Przycisk</emphasis> ma trzy stany (wci�ni�ty, zwolniony, nieaktywny) ,
    zatem jego obrazki musz� by� podzielone na trzy cz蟠ci w pionie. Zobacz sekcj�
  <link linkend="skin-button">button</link>, by dowiedzie� si� wi�cej.
</para><para>
  <emphasis role="bold">Potencjometr (suwak)</emphasis> (wykorzystywany g鞄wnie jako pasek
  przewijania i kontrolka  g�o�no�ci/balansu) mo�e sk�ada� si� z ka�dej liczby stan�w poprzez podzielenie jego obrazka
  na wiele cz蟠ci, z kt�rych jedna poprzedza drug�. Zobacz
  <link linkend="skin-hpotmeter">hpotmeter</link> oraz
  <link linkend="skin-potmeter">potmeter</link>, by dowiedzie� si� wi�cej.
</para><para>
  <emphasis role="bold">Etykiety</emphasis> s� nieco specyficzne: Znaki
  potrzebne do ich narysowania s� pobierane z pliku graficznego, a znaki umieszczone
  w pliku graficznym s� opisane przez <link linkend="skin-fonts">plik opisu czcionek</link>.
  Jest to plik, kt�ry za pomoc� czystego tekstu okre�la wsp鶻rz�dne x, y oraz wielko倶
  ka�dego znaku umieszczonego na obrazku (plik graficzny i jego plik opisu tworz�
  <emphasis>razem</emphasis> zestaw czcionek). Zobacz <link linkend="skin-dlabel">dlabel</link>
  oraz <link linkend="skin-slabel">slabel</link>, by dowiedzie� si� wi�cej.
</para>
<note><para>Wszystkie obrazki mog� by� ca�kowicie przezroczyste - tak, jak to opisano
w sekcji <link linkend="skin-overview-formats">formaty plik�w graficznych</link>. Je�eli X Server
nie obs�uguje rozszerzenia XShape, to elementy oznaczone jako przezroczyste b�d� czarne.
Je�li chcia�by� wykorzysta� tak� mo�liwo倶, szeroko倶 obrazka t�a g鞄wnego okna musi by�
podzielna przez 8.
</para></note>
</listitem>

<listitem><para>
  <emphasis role="bold">Okno ekranu</emphasis> to miejsce odtwarzania filmu. Mo�e
  ono wy�wietla� okre�lony obrazek je�li �aden film nie jest uruchomiony
  (to do倶 nudne mie� puste okno :-)) <emphasis role="bold">Uwaga:</emphasis> przezroczysto倶
  <emphasis role="bold">nie jest</emphasis> tutaj dost�pna.
</para></listitem>

<listitem><para>
  <emphasis role="bold">Menu sk�rki</emphasis> to po prostu jeden ze sposob�w
  na kontrolowanie MPlayera poprzez wpisy w menu. Dwa obrazki s� wymagane dla tego
  menu: pierwszy z nich jest obrazkiem podstawowym, kt�ry pokazuje zwyk�y stan menu, drugi za�
  s�u�y do wy�wietlenia zaznaczonych obszar�w. Gdy uaktywnisz menu, zostanie pokazany pierwszy obrazek.
  Je�li przesuniesz mysz nad kt�ry� z jego wpis�w, w�wczas zaznaczony element jest kopiowany z drugiego
  obrazka w miejsce, na kt�re wskazuje kursor myszy (drugi obrazek nigdy nie jest wy�wietlany jako ca�o倶).
</para><para>
 Wpis w menu jest okre�lony przez jego pozycj� oraz rozmiar na obrazku (zobacz
  sekcj� <link linkend="skin-file-menu">menu sk�rki</link> by dowiedzie� si� wi�cej).
</para></listitem>
</itemizedlist>
</para>

<para>
  Jedna wa�na sprawa, kt�ra nie zosta�a jeszcze powiedziana: MPlayer musi wiedzie� co zrobi� w momencie
  klikni�cia na przyciski, potencjometry i wpisy w menu, aby zadzia�a�y. Zosta�o to zrobione za pomoc�
  <link linkend="skin-gui">sygna鞄w</link> (zdarze�).
  Dla tych element�w musisz zdefiniowa� sygna�y, kt�re maj� by� generowane podczas ich klikni�cia.
</para>
</sect2>

<sect2 id="skin-files">
<title>Pliki</title>
<para>
Potrzebne s� nast�puj�ce pliki podczas tworzenia sk�rki:
<itemizedlist>
<listitem><para>
  Plik konfiguracyjny o nazwie <link linkend="skin-file">skin</link>, m�wi�cy
  programowi MPlayer jak po咳czy� r鷽ne cz蟠ci sk�rki razem i co zrobi�, gdy
  nast�pi klikni�cie w kt�rym� obszarze okna.
</para></listitem>
<listitem><para>
  Plik graficzny t�a w oknie g鞄wnym.
</para></listitem>
<listitem><para>
  Obrazki dla element�w w g鞄wnym oknie (zawieraj�ce jeden lub
  wi�cej plik�w opisu czcionek, potrzebnych do rysowania etykiet).
</para></listitem>
<listitem><para>
  Obrazek wy�wietlany w oknie ekranu (opcjonalnie)
</para></listitem>
<listitem><para>
  Dwa obrazki dla menu sk�rki (potrzebne s� tylko wtedy, gdy chcesz tworzy�
  takie menu).
</para></listitem>
</itemizedlist>
  Za wyj�tkiem pliku konfiguracyjnego sk�rki mo�esz nazwa� wszystkie pliki
  tak, jak tego chcesz (ale we� pod uwag�, �e pliki opisu czcionek musz� mie�
  rozszerzenie <filename>.fnt</filename> ).
</para>
</sect2>
</sect1>
 
<sect1 id="skin-file">
<title>Plik skin</title>
<para>
Jak zosta�o powiedziane wcze�niej, plik ten jest plikiem konfiguruj�cym sk�rk�. Obs�uguje r鷽ne
rodzaje wierszy; komentarze zaczynaj� wiersz znakiem '<literal>;</literal>' (tylko spacje i znaki
tabulacji s� dopuszczone przed '<literal>;</literal>').
</para>

<para>
Plik podzielony jest na sekcje. Ka�da sekcja opisuje sk�rk� dla ka�dej
aplikacji i ma nast�puj�c� form�:

<programlisting>
section = <replaceable>nazwa sekcji</replaceable>
.
.
.
end
</programlisting>
</para>

<para>
Obecnie jest tylko jedna aplikacja, a wi�c potrzebujesz tylko jedn� sekcj� 'section': nazwa tej sekcji to
<emphasis role="bold">movieplayer</emphasis>.
</para>

<para>
Wewn�trz tej sekcji ka�de z okien jest opisane przez blok nast�puj�cej postaci:
<programlisting>
window = <replaceable>nazwa okna</replaceable>
.
.
.
end
</programlisting>
</para>

<para>
gdzie <replaceable>nazwa okna</replaceable>mo�e by� jednym z poni�szych �a�cuch�w:
<itemizedlist>
<listitem><para><emphasis role="bold">main</emphasis> - dla okna g鞄wnego</para></listitem>
<listitem><para><emphasis role="bold">sub</emphasis> - dla okna ekranu</para></listitem>
<listitem><para><emphasis role="bold">menu</emphasis> - dla menu sk�rki</para></listitem>
<listitem><para><emphasis role="bold">playbar</emphasis> - dla panelu odtwarzania</para></listitem>
</itemizedlist>
</para>

<para>
(Bloki sub i menu s� opcjonalne - nie musisz tworzy� menu czy element�w sk�rki dla okna ekranu)
</para>

<para>
Wewn�trz bloku 'window' mo�esz definiowa� ka�dy element okna wpisuj�c linijk� tej postaci:
<programlisting>item = parametr</programlisting>
Gdzie <literal>item</literal> jest �a�cuchem, k�ry identyfikuje typ elementu GUI,
 <literal>parametr</literal> jest warto�ci� numeryczn� lub tekstow� (lub list� takich
 warto�ci oddzielonych od siebie znakiem przecinka).
</para>

<para>
Z�o�enie powy�szych element�w razem tworzy plik, kt�ry wygl�da mniej wi�cej tak:
<programlisting>
section = movieplayer
  window = main
  ; ... elementy okna g鞄wnego ...
  end

  window = sub
  ; ... elementy okna ekranu ...
  end

  window = menu
  ; ... elementy menu sk�rki ...
  end

  window = playbar
  ; ... elementy panelu odtwarzania ...
  end
end
</programlisting>
</para>

<para>
Nazwa pliku graficznego musi zosta� podana bez �adnych nazw katalog�w - obrazki
s� szukane w katalogu <filename class="directory">Skin</filename>.
Mo�esz (ale nie musisz) okre�li� rozszerzenia tego pliku. Je�li plik taki nie istnieje, MPlayer
pr�buje wczyta� plik <filename>&lt;nazwa pliku&gt;.&lt;rozszerzenie&gt;</filename>, gdzie <literal>png</literal>
oraz <literal>PNG</literal> s� pr�bowane jako <filename>&lt;rozszerzenie&gt;</filename>
(w tej w�a�nie kolejno�ci). Pierwszy pasuj�cy plik b�dzie u�yty.
</para>

<para>
Na koniec kilka s鞄w na temat pozycjonowania. Okno g鞄wne oraz okno ekranu mo�e
zosta� umieszczone w r鷽nych naro�nikach ekranu poprzez ustawienie wsp鶻rz�dnych
 <literal>X</literal> i <literal>Y</literal>. <literal>0</literal> to g�ra lub lewa strona,
<literal>-1</literal> to �rodek, <literal>-2</literal> to strona prawa lub d鶻, tak jak
przedstawiono na poni�szej ilustracji:
</para>
<informalfigure>
<screen>
(0, 0)----(-1, 0)----(-2, 0)
  |          |          |
  |          |          |
(0,-1)----(-1,-1)----(-2,-1)
  |          |          |
  |          |          |
(0,-2)----(-1,-2)----(-2,-2)
</screen>
</informalfigure>

<para>
Oto przyk�ad wyja�niaj�cy to lepiej. Przypu倶my, �e masz obrazek nazwany
<filename>main.png</filename>, kt�ry zosta� u�yty dla okna g鞄wnego:
<programlisting>base = main, -1, -1</programlisting>
MPlayer pr�buje wczyta� pliki <filename>main</filename>, <filename>main.png</filename>,
<filename>main.PNG</filename>.
</para>


<sect2 id="skin-file-main">
<title>Okno g鞄wne i panel odtwarzania</title>
<para>
Poni�ej znajduje si� lista wpis�w, kt�re mog� by� u�yte w blokach
'<literal>window = main</literal>'.&nbsp;.&nbsp;.'<literal>end</literal>',
oraz '<literal>window = playbar</literal>' .&nbsp;.&nbsp;. '<literal>end</literal>'.
</para>

<variablelist>
<varlistentry>
  <term><literal>
  <anchor id="skin-main-base"/>base = obrazek, X, Y
  </literal></term>
  <listitem><para>
  Pozwala okre�li� obrazek t�a, kt�ry b�dzie u�ywany w oknie g鞄wnym
  Okno b�dzie widoczne w pozycji <literal>X, Y</literal> na ekranie. Okno
  b�dzie wielko�ci tego obrazka.
    </para>
    <note><para>Wsp鶻rz�dne te nie dzia�aj� na razie dla okna ekranu.</para></note>
    <warning><para>Obszary przezroczysto�ci obrazka (kolor #FF00FF) b�d� widoczne jako czarne
    pod X serwerami nieposiadaj�cymi rozszerzenia XShape. Szeroko倶 obrazka musi by� podzielna przez 8.</para></warning>
    </listitem>
</varlistentry>

<varlistentry>
  <term><literal>
  <anchor id="skin-button"/>button = obrazek, X, Y, szeroko倶, wysoko倶, sygna�
  </literal></term>
  <listitem><para>
Umieszcza przycisk o rozmiarze <literal>szeroko倶</literal> * <literal>wysoko倶</literal> w pozycji
<literal>X</literal>, <literal>Y</literal>. Okre�lony <literal>sygna�</literal> jest generowany podczas klikni�cia na przycisk.
Obrazek ten opisany przez <literal>obrazek</literal> musi sk�ada� si� z trzech cz蟠ci jedna pod drug� (stosownie
do mo�liwych stan�w przycisku), w ten oto spos�b:
</para>
<informalfigure>
<screen>
+---------------+
|  wci�ni�ty    |
+---------------+
|  zwolniony    |
+---------------+
| nieaktywny    |
+---------------+
</screen>
</informalfigure>
  </listitem>
</varlistentry>

<varlistentry>
  <term><literal>
  <anchor id="skin-decoration"/>decoration = enable|disable (w咳czona|wy�aczona)
  </literal></term>
  <listitem><para>
W咳cza lub wy咳cza dekoracj� mened�era okna w oknie g鞄wnym.
Domy�lnie jest <emphasis role="bold">wy咳czona</emphasis>.
    </para>
    <note><para>Nie dzia�a to w oknie ekranu, gdy� nie ma takiej potrzeby.</para></note>
  </listitem>
</varlistentry>

<varlistentry>
  <term><literal>
  <anchor id="skin-hpotmeter"/>hpotmeter = przycisk, szer_przycisku, wys_przycisku, faza, liczba_faz, domy�lny, X, Y,
  szeroko倶, wysoko倶, sygna�
  </literal></term>
  <listitem><para>

    </para></listitem>
</varlistentry>

<varlistentry>
  <term><literal>
  <anchor id="skin-vpotmeter"/>vpotmeter = przycisk, szer_przycisku, wys_przycisku, fazy, liczba_faz,
  domy�lny, X, Y, szeroko倶, wysoko倶, sygna�
  </literal></term>
  <listitem><para>
Umieszcza poziomo (hpotmeter) lub pionowo (vpotmeter) suwak o rozmiarze
<literal>szeroko倶</literal> * <literal>wysoko倶</literal> i pozycji <literal>X,Y</literal>.
Obrazek mo�e by� podzielony na r鷽ne cz蟠ci dla r鷽nych faz suwaka (np. mo�esz mie�
suwak g�o�no�ci, kt�ry w zale�no�ci od po�o�enia zmienia kolor z zielonego (minimum) na
czerwony (maksimum)). <literal>hpotmeter</literal> mo�e by� przyciskiem umieszczonym poziomo.
Jego parametry to:
    </para>
    <itemizedlist>
    <listitem><para><literal>przycisk</literal> - obrazek u�yty do przycisku (musi posiada� trzy cz蟠ci jedna pod drug� tak,
     jak w przypadku <link linkend="skin-button">przycisku</link>)
    </para></listitem>
    <listitem><para><literal>szer_przycisku</literal>, <literal>wys_przycisku</literal> - wielko倶 przycisku
    </para></listitem>
   <listitem><para><literal>fazy</literal> - obrazek u�ywany do okre�lenie faz dla hpotmeter.
Warto倶 specjalna <literal>NULL</literal> mo�e by� u�yta je�li nie chcesz �adnego obrazka.
Obrazek musi by� podzielony w pionie na <literal>fragmenty poszczeg�lnych faz</literal> tak, jak poni�ej:
    </para>
<informalfigure>
<screen>
+------------+
|  faza #1   |
+------------+
|  faza #2   |
+------------+
     ...
+------------+
|  faza #n   |
+------------+
</screen>

</informalfigure>
    </listitem>
    <listitem><para><literal>liczba_faz</literal> - liczba faz znajduj�ca si� na obrazku z <literal>fazami</literal>
    </para></listitem>
    <listitem><para><literal>domy�lny</literal> - domy�lne ustawienie dla hpotmeter
    (zakres od <literal>0</literal> do <literal>100</literal>)
    </para></listitem>
    <listitem><para><literal>X</literal>, <literal>Y</literal> - pozycja dla hpotmeter
    </para></listitem>
    <listitem><para><literal>szeroko倶</literal>, <literal>wysoko倶</literal> - szeroko倶 i wysoko倶 dla
  <literal>hpotmeter</literal>
    </para></listitem>
    <listitem><para><literal>sygna�</literal> - sygna� generowany podczas zmiany warto�ci <literal>hpotmeter</literal>
    </para></listitem>
    </itemizedlist>

    </listitem>
</varlistentry>

<varlistentry>
  <term><literal>
  <anchor id="skin-potmeter"/>potmeter = fazy, liczba_faz, domy�lny, X, Y, szeroko倶, wysoko倶, sygna�
  </literal></term>
  <listitem><para>
<literal>hpotmeter</literal> bez przycisku. (domy�lam si�, �e chodzi o to, aby
nim kr�ci�, ale reaguje on tylko na poziome przesuwanie). Opis parametr�w znajdziesz w cz蟠ci o
<link linkend="skin-hpotmeter">hpotmeter</link>.
Parametr <literal>fazy</literal> mo�e mie� warto倶 <literal>NULL</literal>, ale
jest to zupe�nie bezu�yteczne, gdy� nie wida� wtedy po�o�enia potencjometru.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><literal>
  <anchor id="skin-font"/>font = plik_czcionek, id_czcionki
  </literal></term>
  <listitem><para>
Definiuje czcionki. <literal>plik_czcionek</literal> jest nazw� pliku opisu czcionek z rozszerzeniem
<filename>.fnt</filename> (nie podawaj rozszerzenia w tym miejscu).
<literal>id_czcionki</literal> jest u�ywany do wskazywania konkretnej czcionki (zobacz <link linkend="skin-dlabel">dlabel</link>
oraz <link linkend="skin-slabel">slabel</link>). Mo�na zdefiniowa� do 25 czcionek.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><literal>
  <anchor id="skin-slabel"/>slabel = X, Y, id_czcionki, &quot;tekst&quot;
  </literal></term>
  <listitem><para>
Umieszcza statyczn� etykiet� w pozycji <literal>X,Y</literal>. <literal>tekst</literal>
jest wy�wietlany za pomoc� czcionek wskazywanych przez <literal>id_czcionki</literal>. Tekst jest
po prostu zwyk�ym �a�cuchem znak�w (zmienne <literal>$x</literal> nie dzia�aj�), kt�re musz� by� umieszczone
pomi�dzy podw�jnym cudzys�owem (a znak &quot; nie mo�e by� cz蟠ci� tekstu). Etykieta
wy�wietlana jest za pomoc� czcionek, na kt�re wskazuje <literal>id_czcionki</literal>.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><literal>
  <anchor id="skin-dlabel"/>dlabel = X, Y, d�ugo倶, wyr�wnanie, id_czcionki, &quot;tekst&quot;
  </literal></term>
  <listitem>
<para>
Umieszcza dynamiczn� etykiet� w pozycji <literal>X,Y</literal>. Etykieta jest nazywana
dynamiczn� poniewa� jej tekst jest cyklicznie od�wie�any. Maksymalna d�ugo倶 etykiety
okre�la parametr <literal>d�ugo倶</literal> (jej wysoko倶 okre�la wysoko倶 czcionek).
Je�li tekst jest szerszy ni� zdefiniowana d�ugo倶, b�dzie on przewijany, w przeciwnym wypadku
b�dzie wyr�wnany w miejscu okre�lonym przez warto倶 parametru <literal>wyr�wnanie</literal>: <literal>0</literal>
oznacza do prawej, <literal>1</literal> to wy�rodkowanie, <literal>2</literal> to wyr�wnanie do lewej.
</para>
<para>
Wy�wietlany tekst jest okre�lony przez zmienn� <literal>tekst</literal>: musi by� zawarty
pomi�dzy podw�jnymi cudzys�owami (a znak &quot; nie mo�e by� cz蟠ci� tekstu). Etykieta
wy�wietlana jest za pomoc� czcionek, na kt�re wskazuje parametr <literal>id_czcionki</literal>. Mo�esz
u�y� nast�puj�cych zmiennych w tek�cie:
</para>

<informaltable>
<tgroup cols="2">
<thead>
  <row><entry>Zmienna</entry><entry>Znaczenie</entry></row>
</thead>
<tbody>
<row>
<entry>$1</entry>
<entry>czas odtwarzania w formacie <emphasis>hh:mm:ss</emphasis></entry>
</row>
<row>
<entry>$2</entry>
<entry>czas odtwarzania w formacie <emphasis>mmmm:ss</emphasis></entry>
</row>
<row>
<entry>$3</entry>
<entry>czas odtwarzania w formacie (godziny) <emphasis>hh</emphasis></entry>
</row>
<row>
<entry>$4</entry>
<entry>czas odtwarzania w formacie (minuty) <emphasis>mm</emphasis></entry>
</row>
<row>
<entry>$5</entry>
<entry>czas odtwarzania w formacie (sekundy) <emphasis>ss</emphasis></entry>
</row>
<row>
<entry>$6</entry>
<entry>d�ugo倶 filmu w formacie <emphasis>hh:mm:ss</emphasis></entry>
</row>
<row>
<entry>$7</entry>
<entry>d�ugo倶 filmu w formacie <emphasis>mmmm:ss</emphasis></entry>
</row>
<row>
<entry>$8</entry>
<entry>d�ugo倶 filmu w formacie<emphasis>h:mm:ss</emphasis></entry>
</row>
<row>
<entry>$v</entry>
<entry>format g�o�no�ci w %<emphasis>xxx.xx</emphasis></entry>
</row>
<row>
<entry>$V</entry>
<entry>format g�o�no�ci <emphasis>xxx.xx</emphasis> format</entry>
</row>
<row>
<entry>$b</entry>
<entry>format balansu w %<emphasis>xxx.xx</emphasis></entry>
</row>
<row>
<entry>$B</entry>
<entry>format balansu <emphasis>xxx.xx</emphasis></entry>
</row>
<row>
<entry>$$</entry>
<entry>znak $</entry>
</row>
<row>
<entry>$a</entry>
<entry>oznaczenie zgodne z rodzajem typu pliku audio (nic: <literal>n</literal>,
mono: <literal>m</literal>, stereo: <literal>t</literal>)</entry>
</row>
<row>
<entry>$t</entry>
<entry>numer �cie�ki (na li�cie odtwarzania)</entry>
</row>
<row>
<entry>$o</entry>
<entry>nazwa pliku</entry>
</row>
<row>
<entry>$f</entry>
<entry>nazwa pliku pisana ma�ymi literami</entry>
</row>
<row>
<entry>$F</entry>
<entry>nazwa pliku pisana wielkimi literami</entry>
</row>
<row>
<entry>$T</entry>
<entry>oznaczenie zgodne z rodzajem strumienia (plik: <literal>f</literal>,
Video CD: <literal>v</literal>, DVD: <literal>d</literal>, URL: <literal>u</literal>)</entry>
</row>
<row>
<entry>$p</entry>
<entry>znak <keycap>p</keycap> (gdy film jest odtwarzany i czcionka ma znak <keycap>p</keycap>)</entry>
</row>
<row>
<entry>$s</entry>
<entry>znak <keycap>s</keycap> (gdy film jest zatrzymany i czcionka ma znak <keycap>s</keycap>)</entry>
</row>
<row>
<entry>$e</entry>
<entry>znak <keycap>e</keycap> (gdy film jest wstrzymany (pauza) i czcionka ma znak <keycap>e</keycap>)
</entry>
</row>
<row>
<entry>$x</entry>
<entry>rozdzielczo倶 filmu (szeroko倶)</entry>
</row>
<row>
<entry>$y</entry>
<entry>rozdzielczo倶 filmu (wysoko倶)</entry>
</row>
<row>
<entry>$C</entry>
<entry>nazwa u�ywanego kodeka</entry>
</row>

</tbody>
</tgroup>
</informaltable>
</listitem>

</varlistentry>
</variablelist>

<note><para>
Zmienne <literal>$a, $T, $p, $s</literal> oraz <literal>$e</literal>
zwracaj� znaki, kt�re powinny by� wy�wietlane jako znaki specjalne (na przyk�ad
<keycap>e</keycap> jest symbolem pauzy, kt�ra z regu�y wygl�da mniej wi�cej tak
||). Powiniene� mie� czcionk� dla zwyk�ych znak�w oraz osobn� czcionk� dla symboli.
Zobacz sekcj� na temat <link linkend="skin-fonts-symbols">symboli</link>,
by dowiedzie� si� wi�cej.
</para></note>
</sect2>

<sect2 id="skin-file-subwindow">
<title>Okno ekranu</title>
<para>
Poni�sze wpisy mog� by� u�yte w bloku
'<literal>window = sub</literal>' . . . '<literal>end</literal>' .
</para>

<variablelist>
<varlistentry>
  <term><literal>
  <anchor id="skin-sub-base"/>base = obrazek, X, Y, szeroko倶, wysoko倶
  </literal></term>
  <listitem><para>
Wy�wietla obrazek w oknie. Okno b�dzie widoczne na ekranie w miejscu oznaczonym przez wsp鶻rz�dne
<literal>X</literal>, <literal>Y</literal> (<literal>0,0</literal> to lewy g�rny naro�nik).
Mo�esz u�y� <literal>-1</literal> dla �rodka, <literal>-2</literal>
dla prawej strony (<literal>X</literal>) i do�u (<literal>Y</literal>). Okno
b�dzie mie� wielko倶 obrazka. <literal>szeroko倶</literal> oraz <literal>wysoko倶</literal>
oznaczaj� wielko倶 okna; s� one opcjonalne (je�li nie s� okre�lone, okno b�dzie wielko�ci takiej, jak obrazek).</para></listitem>
</varlistentry>

<varlistentry>
  <term><literal>
  <anchor id="skin-background"/>background = R, G, B
  </literal></term>
  <listitem><para>
  Pozwala ustawi� kolor t�a. Jest to u�yteczne je�li obrazek jest mniejszy ni� okno.
  <literal>R</literal>, <literal>G</literal> oraz <literal>B</literal> okre�laj� sk�adniki kolor�w
  czerwonego, zielonego i niebieskiego (ka�dy z nich jest reprezentowany przez liczb� dziesi�tn� w zakresie
  od 0 do 255).</para></listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="skin-file-menu">
<title>Menu sk�rki</title>
<para>
Jak wspomniano wcze�niej, menu jest wy�wietlane przy u�yciu dw�ch obrazk�w.
Zwyk�e obszary menu s� pobierane z obrazka okre�lonego przez element <literal>base</literal>,
podczas gdy obszary zaznaczone s� pobierane z obrazka wskazywanego przez element <literal>selected</literal>.
Musisz zdefiniowa� pozycj� i rozmiar ka�dego obszaru menu poprzez element menu.
</para>

<para>
Poni�sze wpisy mog� by� u�yte w bloku:
'<literal>window = menu</literal>'. . .'<literal>end</literal>' .
</para>

<variablelist>
<varlistentry>
  <term><literal>
  <anchor id="skin-menu-base"/>base = obrazek
  </literal></term>
  <listitem><para>
Obrazek dla zwyk�ych obszar�w menu.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><literal>
  <anchor id="skin-selected"/>selected = obrazek
  </literal></term>
  <listitem><para>
Obrazek pokazuj�cy w menu wszystkie zaznaczone obszary.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><literal>
  <anchor id="skin-menu"/>menu = X, Y, szeroko倶, wysoko倶, sygna�
  </literal></term>
  <listitem><para>
Definiuje pozycj� i rozmiar obszar�w menu na obrazku przy pomocy <literal>X,Y</literal>.
<literal>sygna�</literal> to zdarzenie wygenerowane podczas zwolnienia przycisku
myszy nad obszarem.
    </para></listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>

<sect1 id="skin-fonts">
<title>Czcionki</title>
<para>
Jak wspomniano w sekcji na temat fragment�w sk�rki, czcionka jest definiowana przez
obrazek i plik opisuj�cy. Mo�esz umie�ci� znak gdziekolwiek na obrazku, ale miej
pewno倶, �e jego pozycja i rozmiar jest podana w�a�ciwie w pliku opisuj�cym.
</para>

<para>
Plik opisuj�cy czcionki (o rozszerzeniu <filename>.fnt</filename>) mo�e posiada�
linie komentarzy zaczynaj�ce si� znakiem '<literal>;</literal>'. Plik musi zawiera�
linie w postaci:
<anchor id="skin-font-image"/>
<programlisting>image = <replaceable>obrazek</replaceable></programlisting>
Gdzie <literal><replaceable>obrazek</replaceable></literal> jest nazw� pliku
graficznego, kt�ry zawiera czcionki (nie musisz dopisywa� jego rozszerzenia).
<anchor id="skin-font-char"/>
<programlisting>&quot;char&quot; = X, Y, szeroko倶, wysoko倶</programlisting>
<literal>X</literal> oraz <literal>Y</literal> okre�laj� pozycj� znaku
<literal>char</literal> na obrazku (<literal>0,0</literal> to g�rny lewy naro�nik).
<literal>szeroko倶</literal> i <literal>wysoko倶</literal> to rozmiar znaku
w pikselach.
</para>

<para>
Przyk�ad: definiujemy znaki A, B, C przy u�yciu pliku <filename>font.png</filename>.
<programlisting>
; Mo�e by� &quot;font&quot; zamiast &quot;font.png&quot;.
image = font.png

; Trzy znaki wystarcz� do tej demonstracji :-)
&quot;A&quot; =  0,0, 7,13
&quot;B&quot; =  7,0, 7,13
&quot;C&quot; = 14,0, 7,13
</programlisting>
</para>

<sect2 id="skin-fonts-symbols">
<title>Znaki specjalne (symbole)</title>
<para>
Niekt�re znaki maj� specjalne znaczenie, gdy s� zwracane przez pewne zmienne
u�ywane w <link linkend="skin-dlabel">dlabel</link>. Znaki te mog� by� wy�wietlane jako symbole
w ten spos�b, �e np. podczas odtwarzania strumienia DVD widoczne jest �adne logo zamiast znaku '<literal>d</literal>'.
</para>
<para>
Poni�sza tablica zawiera znaki u�ywane do wy�wietlania symboli (wymagaj� one oddzielnych czcionek).
</para>

<informaltable>
<tgroup cols="2">
<thead>
  <row><entry>Znak</entry><entry>Symbol</entry></row>
</thead>
<tbody>
<row><entry><keycap>p</keycap></entry><entry>odtwarzanie</entry></row>
<row><entry><keycap>s</keycap></entry><entry>stop</entry></row>
<row><entry><keycap>e</keycap></entry><entry>pauza</entry></row>
<row><entry><keycap>n</keycap></entry><entry>bez d�wi�ku</entry></row>
<row><entry><keycap>m</keycap></entry><entry>d�wi�k mono</entry></row>
<row><entry><keycap>t</keycap></entry><entry>d�wi�k stereo</entry></row>
<row><entry><keycap>f</keycap></entry><entry>strumie� z pliku</entry></row>
<row><entry><keycap>v</keycap></entry><entry>strumie� z Video CD</entry></row>
<row><entry><keycap>d</keycap></entry><entry>strumie� z DVD</entry></row>
<row><entry><keycap>u</keycap></entry><entry>strumie� z URL</entry></row>
</tbody>
</tgroup>
</informaltable>
</sect2>
</sect1>

<sect1 id="skin-gui">
<title>Sygna�y GUI</title>
<para>
Tutaj znajduj� si� sygna�y, kt�re mog� by� generowane przez przyciski, suwaki
i elementy menu.
</para>
<note><para>
Niekt�re sygna�y mog� nie dzia�a� w oczekiwany spos�b (lub nie dzia�a� w og�le).
Jak wiadomo, GUI jest jeszcze w fazie rozwoju.
</para></note>

<variablelist>
<title>Kontrola odtwarzania :</title>
<varlistentry>
  <term><emphasis role="bold">evNext</emphasis></term>
  <listitem><para>
Przejd� do nast�pnej pozycji na li�cie odtwarzania.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evPause</emphasis></term>
  <listitem><para>
  Tworzy prze咳cznik razem z <literal>evPlaySwitchToPause</literal>.
  Mog� by� u�yte do utworzenia wsp�lnego przycisku dla odtwarzania/pauzy.
  Oba sygna�y powinny by� powi�zane z przyciskami wy�wietlonymi w tej samej
  pozycji w oknie. Sygna� wstrzymuje wtedy odtwarzanie i wy�wietlanty jest
  obrazek dla przycisku <literal>evPlaySwitchToPause</literal> (aby zaznaczy�,
  �e przycisk ten mo�e by� u�yty do kontynuowania odtwarzania).
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evPlay</emphasis></term>
  <listitem><para>
Rozpoczyna odtwarzanie.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evPlaySwitchToPause</emphasis></term>
  <listitem><para>
Przeciwie�stwo <literal>evPauseSwitchToPlay</literal>. Ten sygna� zaczyna odtwarzanie
oraz wy�wietlenie obrazka dla przycisku <literal>evPauseSwitchToPlay</literal>
(aby zaznaczy�, �e przycisk ten mo�e by� u�yty ponownie do wstrzymania odtwarzania).
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evPrev</emphasis></term>
  <listitem><para>
Przejd� do poprzedniej pozycji na li�cie odtwarzania.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evStop</emphasis></term>
  <listitem><para>
Zatrzymuje odtwarzanie.
    </para></listitem>
</varlistentry>
</variablelist>

<variablelist>
<title>Przewijanie:</title>
<varlistentry>
  <term><emphasis role="bold">evBackward10sec</emphasis></term>
  <listitem><para>
Przewija do ty�u o 10 sekund.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evBackward1min</emphasis></term>
  <listitem><para>
Przewija do ty�u o 1 minut�.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evBackward10min</emphasis></term>
  <listitem><para>
Przewija do ty�u o 10 minut.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evForward10sec</emphasis></term>
  <listitem><para>
Przewija do przodu o 10 sekund.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evForward1min</emphasis></term>
  <listitem><para>
Przewija do przodu o 1 minut�.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evForward10min</emphasis></term>
  <listitem><para>
Przewija do przodu o 10 minut..
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evSetMoviePosition</emphasis></term>
  <listitem><para>
Przewija do pozycji (mo�e by� wykorzystane przez suwak;
u�yte s� wzgl�dne warto�ci (0-100%) suwaka).
    </para></listitem>
</varlistentry>
</variablelist>

<variablelist>
<title>Kontrola video:</title>
<varlistentry>
  <term><emphasis role="bold">evDoubleSize</emphasis></term>
  <listitem><para>
Ustawia podw�jny rozmiar okna z filmem.
    </para></listitem>
</varlistentry>
<varlistentry>
  <term><emphasis role="bold">evFullScreen</emphasis></term>
  <listitem><para>
W咳cza/wy咳cza tryb pe�noekranowy.
    </para></listitem>
</varlistentry>
<varlistentry>
  <term><emphasis role="bold">evNormalSize</emphasis></term>
  <listitem><para>
Ustawia typowy rozmiar okna z filmem.
    </para></listitem>
</varlistentry>
</variablelist>

<variablelist>
<title>Kontrola d�wi�ku:</title>
<varlistentry>
  <term><emphasis role="bold">evDecAudioBufDelay</emphasis></term>
  <listitem><para>
Zmniejsza op鷦nienie bufora d�wi�ku.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evDecBalance</emphasis></term>
  <listitem><para>
Zmniejsza balans.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evDecVolume</emphasis></term>
  <listitem><para>
Zmniejsza g�o�no倶
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evIncAudioBufDelay</emphasis></term>
  <listitem><para>
Zwi�ksza op鷦nienie bufora d�wi�ku.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evIncBalance</emphasis></term>
  <listitem><para>
Zwi�ksza balans.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evIncVolume</emphasis></term>
  <listitem><para>
Zwi�ksza g�o�no倶.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evMute</emphasis></term>
  <listitem><para>
Wycisza/przywraca d�wi�k.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evSetBalance</emphasis></term>
  <listitem><para>
Ustawia balans (mo�e by� u�ywane przez suwak;
u�ywana jest warto倶 wzgl�dna (0-100%)).
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evSetVolume</emphasis></term>
  <listitem><para>
Ustawia g�o�no倶 (mo�e by� u�ywane przez suwak;
u�ywana jest warto倶 wzgl�dna (0-100%)).
    </para></listitem>
</varlistentry>
</variablelist>

<variablelist>
<title>R鷽ne:</title>
<varlistentry>
  <term><emphasis role="bold">evAbout</emphasis></term>
  <listitem><para>
Otwiera okno "o programie".
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evDropSubtitle</emphasis></term>
  <listitem><para>
Wy咳cza aktualnie u�ywane napisy.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evEqualizer</emphasis></term>
  <listitem><para>
W咳cza/wy咳cza equalizer.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evExit</emphasis></term>
  <listitem><para>
Wy咳cza program.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evIconify</emphasis></term>
  <listitem><para>
Minimalizuje okno.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evLoad</emphasis></term>
  <listitem><para>
Wczytuje plik (poprzez otwarcie okna przegl�darki plik�w, gdzie mo�esz wybra� plik).
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evLoadPlay</emphasis></term>
  <listitem><para>
Robi to samo co <literal>evLoad</literal>, ale zaczyna automatycznie odtwarza�
zaraz po wyborze pliku.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evLoadSubtitle</emphasis></term>
  <listitem><para>
Wczytuje plik z napisami (z przegl�darki plik�w).
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evLoadAudioFile</emphasis></term>
  <listitem><para>
Wczytuje plik d�wi�kowy (z przegl�darki plik�w).
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evNone</emphasis></term>
  <listitem><para>
Sygna� pusty - nic nie robi (mo�e za wyj�tkiem wersji z CVS:-)).
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evPlayList</emphasis></term>
  <listitem><para>
Otw�rz/zamknij okno listy odtwarzania.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evPlayDVD</emphasis></term>
  <listitem><para>
Pr�buje odczyta� p�yt� ze wskazanego czytnika DVD.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evPlayVCD</emphasis></term>
  <listitem><para>
Pr�buje odczyta� p�yt� ze wskazanego czytnika CD.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evPreferences</emphasis></term>
  <listitem><para>
Otwiera okno z ustawieniami.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evSetAspect</emphasis></term>
  <listitem><para>
Ustawia proporcje obrazu.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evSetURL</emphasis></term>
  <listitem><para>
Wy�wietla okienko dialogowe URL.
    </para></listitem>
</varlistentry>

<varlistentry>
  <term><emphasis role="bold">evSkinBrowser</emphasis></term>
  <listitem><para>
Otwiera okno przegl�darki sk�rek.
    </para></listitem>
</varlistentry>
</variablelist>

</sect1>

</appendix>