Jak jsme již řekli, je to konfigurační soubor skinu. Soubor je řádkově
orientován; řádky s komentářem začínají znakem ';'
(před ním jsou povoleny jen mezery a tabulátory).
Soubor je složen ze sekcí. Každá sekce popisuje skin pro aplikaci a má následující formu:
section = název cekce
.
.
.
end
Zatím máme jen jednu aplikaci, takže potřebujete jen jednu sekci: její název je movieplayer.
Uvnitř sekce je každé okno posáno blokem, který má následující formu:
window = název okna
.
.
.
end
kde název okna může být jeden z těchto řetězců:
main - pro hlavní okno
sub - pro podokno
menu - pro nabídku
playbar - ovládací panel
(Bloky sub a menu jsou volitelné - nemusíte vytvářet nabídku nebo vyzdobit podokno.)
Uvnitř window bloku můžete definovat každou položku okna řádkem v tomto tvaru:
položka = parametr
Kde položka je řetězec označující typ položky GUI a
parametr je číselná nebo textová hodnota (nebo seznam hodnot
oddělených čárkami).
Dáte-li to všechno dohromady, celý soubor vypadá asi takto:
section = movieplayer window = main ; ... položky hlavního okna ... end window = sub ; ... položky podokna ... end window = menu ; ... položky menu ... end window = playbar ; ... položky ovládacího panelu ... end end
Jméno souboru s obrázkem musí být zadáno bez úvodních adresářů - obrázky jsou
vyhledávány v adresáři skins.
Měli byste (ale nemusíte) zadat příponu souboru. Pokud soubor neexistuje,
zkouší MPlayer načíst soubor
<jméno>.<příp>, kdy jsou za
<příp> zkoušeny přípony png
a PNG (v tomto pořadí). Použitý bude první vyhovující soubor.
Aby bylo vše jasné, uvedeme příklad. Řekněme, že máte obrázek jménem main.png, který použijeme pro hlavní okno:
base = main, -1, -1
MPlayer se pokusí nahrát soubory main, main.png, main.PNG.
Nakonec několik slov o pozicování. Hlavní okno a podokno lze
umístit do odlišných rohů obrazovky zadáním souřadnic X
a Y. 0 horní nebo levý,
-1 je střed a -2 je vpravo nebo dole, jak
je vidět na obrázku:
(0, 0)----(-1, 0)----(-2, 0) | | | | | | (0,-1)----(-1,-1)----(-2,-1) | | | | | | (0,-2)----(-1,-2)----(-2,-2)
Níže uvádíme seznam položek, které mohou být použity v blocích
'window = main' ... 'end',
a 'window = playbar' ... 'end'.
  base = obrázek, X, Y
  
  Umožňuje nastavit obrázek pozadí hlavního okna. Okno bude vykresleno na
  zadaných souřadnicích X,Y na obrazovce a bude mít velikost
  obrázku.
  
Tyto koordináty zatím nefungují pro okno display.
Průhledné oblasti v obrázku (obarvené #FF00FF) budou černé na X serverech bez XShape rozšíření. Šířka obrázku musí být celočíselně dělitelná 8.
  button = obrázek, X, Y, šířka, výška, zpráva
  
  Umístí tlačítko rozměru šířka * výška
  na pozici X,Y. Zadaná zpráva je
  generována při kliku na tlačítko. Zadaný obrázek musí
  mít tři části pod sebou (odpovídající možným stavům tlačítka) takto:
  
+------------+ | stisknuto | +------------+ | uvolněno | +------------+ | zakázáno | +------------+
  decoration = enable|disable
  Zapne (enable) nebo vypne (disable) dekoraci hlavního okna, produkovanou okenním manažerem. Výchozí je disable.
V okně display to nefunguje, není to potřeba.
  hpotmeter = tlačítko, tšířka, tvýška, fáze, počet_fází, výchozí, X, Y, šířka, výška, zpráva
  
  vpotmeter = tlačítko, tšířka, tvýška, fáze, počet_fází, výchozí, X, Y, šířka, výška, zpráva
  
  Umístí vodorovný (hpotmeter) nebo svislý (vpotmeter) potenciometr velikosti
  šířka * výška na pozici
  X,Y. Obrázek může být rozdělen do různých částí pro různé
  fáze potenciometru (Například můžete mít potenciometr pro nastavení hlasitosti,
  jehož dráha se barví ze zelené na červenou, jak se jeho hodnota mění od nejmenší
  do největší.). hpotmeter může mít táhlo, které může být
  vodorovně taženo. Význam parametrů:
  
    tlačítko - obrázek, který se použije pro
    tlačítko (musí mít tři části pod sebou, stejně jako v případě tohoto
    tlačítka)
  
    tšířka, tvýška - 
    velikost tlačítka
  
    fáze - obrázek použitý pro různé fáze
    hpotmetru. Pokud žádný obrázek nechcete, můžete použít speciální hodnotu
    NULL. Obrázek musí být rozdělen svisle na
    počet_fází částí takto:
    
+------------+
|   fáze #1  |
+------------+
|   fáze #2  |
+------------+
     ...
+------------+
|   fáze #n  |
+------------+
    numphases - number of phases stored in the
    počet_fází - počet fází uložených v
    obrázku fáze
    
      výchozí - výchozí hodnota pro hpotmeter
      (v rozsahu 0 až 100)
      
      X, Y - pozice pro hpotmeter
    
      šířka, výška - šířka a výška
      hpotmeteru
    
      zpráva - zpráva generovaná při změně
      hodnoty hpotmeteru
  
  potmeter = fáze, počet_fází, výchozí, X, Y, šířka, výška, zpráva
  
  hpotmeter bez tlačítka. (soudil bych, že byl míněn jako
  otočný, ale reaguje pouze na horizontální tažení.) Popis parametrů je stejný
  jako v hpotmeter.
  fáze mohou být NULL, ale je to vcelku
  k ničemu, jelikož nemůžete vidět, jak je nastaven potmeter.
  
  font = soubor_fontu, id_fontu
  
  Definuje font. soubor_fontu je jméno souboru popisu fontu
  s příponou .fnt (zde příponu nezadávejte).
  id_fontu je použit jako ukazatel na font
  (viz dlabel
  a slabel). Definováno může být více než 25 fontů.
  
    slabel = X, Y, id_fontu, "text";
  
  Umístí statický popisek na pozici X,Y.
  text je zobrazen fontem identifikovaným pomocí
  id_fontu. Text je surový řetězec
  ($x proměnné nefungují), který musí být uzavřen
  ve dvojitých uvozovkách (ale znak " nesmí být součástí textu).
  Popisek je zobrazen fontem identifikovaným pomocí id_fontu.
  
    dlabel = X, Y, délka, zarovnání, id_fontu, "text"
  
  Umístí dynamický popisek na pozici X,Y. Popisek je
  dynamický proto, že je jeho text periodicky obnovován. Maximální délka
  popisku je nastavena na délka (jeho výškou je výška
  znaku). Pokud je zobrazovaný text širší, pak bude rolován,
  jinak bude zarovnán do určeného prostoru podle hodnoty parametru
  zarovnání: 0 je zarovnání vpravo,
  1 na střed, 2 vlevo.
  
  Text k zobrazení je zadán parametrem text: Musí být uzavřen
  do dvojitých uvozovek (ale znak " nesmí být součástí textu).
  Popisek je zobrazen fontem identifikovaným pomocí id_fontu.
  V textu můžete použít tyto proměnné:
  
| Proměnná | Význam | 
|---|---|
| $1 | čas přehrávání ve formátu hh:mm:ss | 
| $2 | čas přehrávání ve formátu mmmm:ss | 
| $3 | čas přehrávání ve formátu hh (hodiny) | 
| $4 | čas přehrávání ve formátu mm (minuty) | 
| $5 | čas přehrávání ve formátu ss (sekundy) | 
| $6 | délka filmu ve formátu hh:mm:ss | 
| $7 | délka filmu ve formátu mmmm:ss | 
| $8 | čas přehrávání ve formátu h:mm:ss | 
| $v | hlasitost ve formátu xxx.xx% | 
| $V | hlasitost ve formátu xxx.xx | 
| $b | stereováha ve formátu xxx.xx% | 
| $B | stereováha ve formátu xxx.xx | 
| $$ | znak $ | 
| $a | znak podle typu audia (žádné: n,
    mono:m, stereo:t) | 
| $t | číslo stopy (v playlistu) | 
| $o | název souboru | 
| $f | název souboru malými písmeny | 
| $F | název souboru velkými písmeny | 
| $T | znak podle typu datového proudu (soubor: f,
    Video CD:v, DVD:d, 
    URL:u) | 
| $p | znak p (pokud přehráváte soubor a font obsahuje znak p) | 
| $s | znak s character (pokud přehráváte soubor a font obsahuje znak s) | 
| $e | znak e (pokud je přehrávání pozastaveno a font obsahuje znak e) | 
| $x | šířka filmu | 
| $y | výška filmu | 
| $C | název použitého kodeku | 
  Proměnné $a, $T, $p, $s a $e
  vracejí znaky, které by měly být zobrazovány jako speciální symboly
  (například, e vrací symbol pauza, který obvykle vypadá
  jako ||). Měli byste mít font pro normální znaky a
  jiný font pro symboly. Více informací viz sekce o
  symbolech.
  
Následující vstupy mohou být použity v bloku
'window = sub' . . . 'end'.
  base = obrázek, X, Y, šířka, výška
  
  Obrázek, který bude zobrazen v okně. Okno se zobrazí na pozici zadané
  souřadnicemi X,Y na obrazovce (0,0 je
  levý horní roh). Můžete nastavit -1 pro střed a
  -2 pro vpravo (X) a dole
  (Y). Okno bude stejně velké jako obrázek.
  šířka a výška
  udávají velikost okna; jsou volitelné (pokud chybí, má okno
  rozměry shodné  s obrázkem).
  
  background = R, G, B
  
  Umožňuje nastavit barvu pozadí. To je užitečné, pokud je obrázek menší než
  okno. R, G a B
  označují červenou, zelenou a modrou složku barvy
  (každá z nich je dekadická hodnota 0 až 255).
  
Jak již bylo dříve řečeno, nabídka je zobrazena pomocí dvou obrázků. Normální
položky nabídky jsou brány z obrázku určeného položkou base,
zatímco aktuálně zvolený vstup je brán z obrázku určeného položkou
selected. Musíte definovat pozici a rozměr každé položky
nabídky.
Následující vstupy mohou být použity v bloku
'window = menu'. . .'end'.