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
hpotmeter
u
zpráva
- zpráva generovaná při změně
hodnoty hpotmeter
u
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
'.