Amint fentebb már említettem, ez a skin konfigurációs fájl. Sor-orientált;
a megjegyzést tartalmazó sorok egy ';' karakterrel kezdődnek
(csak szóközök és tab-ok lehetnek a ';' előtt).
A fájl szekciókból áll. Minden szekció a skin egy alkalmazását írja le a következő formában:
section = szekció neve
.
.
.
end
Jelenleg csak egy alkalmazás van, vagyis csak egy szekciót kell készítened: a neve movieplayer.
Ebben a szekcióban minden ablakot egy blokk ír le a következő formában:
window = ablak neve
.
.
.
end
Ahol az ablak neve ezen karakterláncok valamelyike lehet:
main - a főablak esetében
sub - az alablak esetében
menu - a skin menü esetében
playbar - a playbar esetében
(Az alablak és menü blokkok opcionálisak - nem kötelező menüt készítened vagy kidekorálni az alablakot.)
Egy ablak blokkon belül az ablak minden elemét definiálhatod, egyet egy sorban, ebbe a formában:
item = parameter
Ahol az item egy karakterlánc, ami azonosítja az adott
típusú GUI elemet, a parameter pedig egy numerikus vagy
szöveges érték (vagy értékek listája vesszővel elválasztva).
A fentieket összerakva a teljes fájl valahogy így néz ki:
section = movieplayer window = main ; ... főablak elemei ... end window = sub ; ... alablak elemei ... end window = menu ; ... menü elemei ... end window = playbar ; ... playbar elemei ... end end
Egy kép fájl nevét a hozzá vezető útvonal nélkül kell megadni - a képeknek
a skins könyvtárban kell lenniük.
A fájl kiterjesztését megadhatod (de nem kötelező). Ha a fájl nem létezik,
az MPlayer megpróbálja betölteni a
<filename>.<ext> fájlt, ahol png
és PNG kerül az <ext> helyére
(ebben a sorrendben). Az első megtalált fájlt fogja használni.
Egy példa a tisztánlátáshoz. Tegyük fel, hogy van egy main.png nevű fájlod, amit a fő ablakhoz használsz:
base = main, -1, -1
Az MPlayer megpróbálja betölteni a main, main.png, main.PNG fájlokat.
Végül pár szó a pozícionálásról. A fő ablak és az alablak a képernyő különböző
sarkaiba helyezhető az X és Y koordináták
megadásával. A 0 fent vagy bal oldalt van, a
-1 középen és a -2 jobb oldalt vagy lent,
ahogy az itt is látható:
(0, 0)----(-1, 0)----(-2, 0) | | | | | | (0,-1)----(-1,-1)----(-2,-1) | | | | | | (0,-2)----(-1,-2)----(-2,-2)
A következő bejegyzések használhatóak a
'window = main' ... 'end',
és a 'window = playbar' ... 'end'
blokkokban.
  base = image, X, Y
  
  Megadhatod vele a fő ablakban használt háttérképet.
  Az ablak a megadott X, Y pozícióban fog megjelenni
  a képernyőn. Az ablak mérete a kép méretével lesz azonos.
  
Ezek a koordináták jelenleg nem működnek a megjelenítő ablak esetében.
A kép transzparens részei (#FF00FF színű) feketeként jelenik meg az XShape kiterjesztés nélküli X szerverek esetében. A kép szélességének 8-cal oszthatónak kell lennie.
  button = image, X, Y, width, height, message
  
  Egy width * height méretű gomb
  megjelenítése az X, Y pozícióban. A megadott
  message üzenet akkor generálódik, amikor a gombot
  megnyomják. Az image által megadott képnek három
  részt kell tartalmaznia egymás alatt (a gomb állapotainak megfelelően), így:
  
+-------------+ | benyomott | +-------------+ | felengedett | +-------------+ | letiltott | +-------------+
  decoration = enable|disable
  Engedélyezi vagy letiltja a főablakban az ablakkezelő dekorációját. Alapértelmezetten disable.
Ez nem működik a megjelenítő ablakban, nincs rá szükség.
  hpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
  
  vpotmeter = button, bwidth, bheight, phases, numphases, default, X, Y, width, height, message
  
  Egy vízszintes (hpotmeter) vagy függőleges (vpotmeter) potméter megjelenítése
  width * height méretben az
  X, Y pozícióban. A kép több különböző részre osztható a
  potméter különböző fázisainak megfelelően (például lehet egy pot-od a hangerő
  szabályozásához, ami zöldből pirosba vált, ahogy az értéke változik a minimumtól
  a maximumig). A hpotmeter-nek lehet egy gombja is, amit
  vízszintesen lehet húzni. A paraméterek:
  
    button - a gombként használt kép
    (három részt kell tartalmaznia egymás alatt, mint a
    gomb esetében)
  
    bwidth, bheight - a gomb
    mérete
  
    phases - a hpotmeter különböző fázisaiban
    használt kép neve. Speciális értékként a NULL is
    használható, ha nem akarsz ilyen képet. A képet függőlegesen
    numphases részre kell felosztani így:
    
+------------+
|  1. fázis  |
+------------+
|  2. fázis  |
+------------+
     ...
+------------+
|  n. fázis  |
+------------+
    numphases - a phases képen
    lévő fázisok száma
  
    default - a hpotmeter alapértelmezett értéke
    (0 és 100 között)
  
    X, Y - a hpotmeter pozíciója
  
    width, height - a
    hpotmeter szélessége és magassága
  
    message - az üzenet, ami a
    hpotmeter értékének megváltozásakor generálódik
  
  potmeter = phases, numphases, default, X, Y, width, height, message
  
  Egy hpotmeter gomb nélkül. (Gondolom a megfordítása volt az
  eredeti cél, de csak a vízszintes vonszolásra reagál.) A paraméterek leírását
  lásd a hpotmeter-nél.
  A phases lehet NULL, de ez eléggé haszontalan,
  mivel akkor nem látod, hogy a potmeter hova van állítva.
  
  font = fontfile, fontid
  
  Egy betűt definiál. A fontfile a betű leíró fájl neve egy
  .fnt kiterjesztéssel (a kiterjesztést ne add meg itt).
  A fontid-t a betűre történő hivatkozásokhoz lehet használni
  (lásd dlabel és
  slabel). 25 betűt lehet definiálni.
  
  slabel = X, Y, fontid, "text"
  
  Egy statikus címkét tesz ki az X, Y pozícióba. A
  text szöveget jeleníti meg a fontid-vel
  azonosított betűtípussal. A szöveg egyszerű karakterlánc (az $x
  változók nem működnek) amit dupla idézőjelek közé kell írni (de a " karakter
  nem lehet a szöveg része). A címke a fontid-vel
  azonosított betűtípussal jelenik meg.
  
  dlabel = X, Y, length, align, fontid, "text"
  
  Egy dinamikus címkét tesz ki az X, Y pozícióba. A
  címke azért dinamikus, mert a szövege periódikusan frissül. A címke
  maximum hosszát a length szabályozza (a magassága
  egy karakter magasságával egyezik meg). Ha a megjelenítendő szöveg
  szélesebb ennél, scrollozva lesz,
  különben az align paraméter által megadott módon
  pozícionálódik: 0 jobbra, 1
  középre, 2 balra igazítva.
  
  A megjelenítendő szöveget a text adja meg: dupla
  idézőjelek közé kell írni (de a " karakter nem lehet része a
  szövegnek). A címke a fontid által meghatározott
  betűtípussal jelenik meg. A szövegben a következő változókat használhatod:
  
| Változó | Jelentés | 
|---|---|
| $1 | lejátszási idő hh:mm:ss formátumban | 
| $2 | lejátszási idő mmmm:ss formátumban | 
| $3 | lejátszási idő hh formátumban (órák) | 
| $4 | lejátszási idő mm formátumban (percek) | 
| $5 | lejátszási idő ss formátumban (másodpercek) | 
| $6 | film hossza hh:mm:ss formátumban | 
| $7 | film hossza mmmm:ss formátumban | 
| $8 | film hossza h:mm:ss formátumban | 
| $v | hangerő xxx.xx% formátumban | 
| $V | hangerő xxx.xx formátumban | 
| $b | balansz xxx.xx% formátumban | 
| $B | balansz xxx.xx formátumban | 
| $$ | az $ karakter | 
| $a | egy karakter az audió típusnak megfelelően (nincs: n,
    mono:m, sztereo:t) | 
| $t | sáv száma (a lejátszási listában) | 
| $o | fájlnév | 
| $f | fájlnév kisbetűsen | 
| $F | fájlnév nagybetűsen | 
| $T | egy karakter a folyam típusnak megfelelően (file: f,
    Video CD:v, DVD:d,
    URL:u) | 
| $p | a p karakter (ha a film lejátszás alatt van és a betűtípusban van p karakter) | 
| $s | az s karakter (ha a film meg van állítva movie és a betűtípusban van s karakter) | 
| $e | az e karakter (ha a lejátszás szünetel és a betűtípusban van e karakter) | 
| $x | film szélessége | 
| $y | film magassága | 
| $C | használt codec neve | 
  Az $a, $T, $p, $s és $e
  változók mind karakterekkel térnek vissza, amiket speciális szimbólumként kell
  megjeleníteni (például az e a pillanatállj szimbóluma, ami
  általában valami ilyesmi: ||). Szükséged lesz egy normál karaktereket
  tartalmazó betűtípusra és egy másikra a szimbólumokhoz. Lásd a
  szimbólumokról szóló részt a
  további információkért.
  
A következő bejegyzések használhatóak a
'window = sub' . . . 'end' blokkban.
  base = image, X, Y, width, height
  
  Az ablakban megjelenítendő kép. Az ablak a megadott X, Y
  pozícióban jelenik meg a képernyőn (0,0 a bal felső
  sarok). A -1 a középre, a -2
  a jobbra (X) és le (Y) igazítást
  jelenti. Az ablak akkora lesz, amekkora a kép. A width
  és a height az ablak méretét írják elő, opcionálisak
  (ha hiányoznak, az ablak ugyan akkora méretű lesz, mint a kép).
  
  background = R, G, B
  
  Beállíthatod vele a háttér színét. Hasznos, ha a kép kisebb, mint az
  ablak mérete. Az R, G és
  B a szín vörös, zöld és kék komponensét adja meg
  (mindegyik decimális szám 0-tól 255-ig).
  
Amint korábban már említettem, a menü két kép segítségével kerül megjelenítésre.
A normál menü bejegyzések a base elemmel megadott képen
láthatóak, míg az épp aktuálisan kiválasztott elem megjelenítése a
selected elemről történik. Meg kell adnod minden egyes
menüpont pozícióját és méretét.
A következő bejegyzések használhatóak a
'window = menu'. . .'end' blokkban.