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.