# HG changeset patch # User pontscho # Date 1001594798 0 # Node ID 83c5c8d7ddabe34093e41056c90b58bb1a0bbd15 # Parent 4a08e7ac3f5996124481cb910b215e8a78efe603 init version diff -r 4a08e7ac3f59 -r 83c5c8d7ddab DOCS/Hungarian/skin.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DOCS/Hungarian/skin.html Thu Sep 27 12:46:38 2001 +0000 @@ -0,0 +1,877 @@ + + + +MPlayer skin formátum + + + + + +

MPlayer skin formátum

+ +
+ +

Tartalom

+ + + +
+ +
+Utolsó módosítás: 2001. szeptember 9. +
+ +
+ +

1. Bevezető

+ +Ez a kis leírás arról szól, hogy milyen is egy MPlayer skin formátuma. +Nincs rá garancia, hogy minden úgy van, ahogy itt leírtam, egyrészt mert +nem én írtam a GUI-t, másrészt mert a GUI még nincs kész, harmadrészt pedig +azért, mert én is tévedhetek. Szóval ne lepődj meg, ha valami nem úgy van, +ahogy itt szerepel. + +

+Köszönet Ponekker Zoltánnak a segítségéért. + +

+Mohari András <mayday@freemail.hu> + + +

2. Áttekintés

+ +Nem tartozik szorosan a témához, de nem árt tudni, hogy +az MPlayernek nincs beépített skinje, ezért legalább +egy skint telepíteni kell a GUI használatához. + + +

2.1. Könyvtárak

+ +

+A skineket a következő könyvtárakban (és a megadott sorrendben) +keresi a program: +

+    /usr/local/share/mplayer/Skin/
+    ~/.mplayer/Skin/
+
+ +

+Az első könyvtár más is lehet, attól függően, hogy hogyan volt konfigurálva +az MPlayer (lásd a configure script --datadir +kapcsolóját). + +

+Az előbbi könyvtárak alatt minden skin a saját könyvtárába kerül, például: +

+    /usr/local/share/mplayer/Skin/default/
+
+ + +

2.2. Képformátumok

+ +A skinhez használt képek trucolor (24 vagy 32 bit/pixel) BMP, TGA vagy PNG +formátumban lehetnek (a TGA-nak tömörítetlennek kell lennie). +Jó tömörítési hatásfoka miatt a PNG javasolt. + +

+A főablakban (lásd alább) teljesen "átlátszó" részeket tartalmazó képeket +is lehet használni: az átlátszónak szánt területeket az #FF00FF +(lila) színnel kell megjelölni. Ez azt jelenti, +hogy a főablak akár "formára vágott" is lehet, ha az X szervereden van +XShape támogatás. + + +

2.3. A skin részei

+ +A skin felépítése meglehetősen szabad (ellentétben például a Winamp/XMMS +fix felépítésű skinjével), így csak rajtad múlik, hogy mit hozol ki belőle. + +

+Jelenleg három "bőrözhető" ablak van: a főablak, +a lejátszóablak és a skin menü +(utóbbi a jobb gomb lenyomásával jeleníthető meg). + +

+ +

+Egy fontos dologról még nem esett szó: a gombok, potméterek és menüpontok +működéséhez az MPlayernek tudnia kell, hogy mit is csináljon, ha rájuk +kattintasz. Ez üzenetek (események) segítségével +valósul meg. Az előbb említett elemekhez mindig meg kell adni azt az üzenetet, +amit majd a kattintásra generálnak. + + +

2.4. Fájlok

+ +A fentiek ismeretében egy skinhez az alábbi fájlok szükségesek. + + +A skin fájl kivételével az összes fájlt úgy nevezed el, +ahogy csak akarod (de a fontleíró fájloknak .fnt kiterjesztésűeknek kell +lenniük). + +

3. A skin fájl

+ +Amint fentebb írtam, ez a skin konfigurációs fájl. +A fájl sor-orientált; megjegyzéseket a ";" karakterrel lehet +kezdeni a sor elején (legfeljebb szóközök és tab karakterek lehetnek +a ";" előtt). + +

+A fájl egy vagy több szekcióból áll, ahol minden szekció egy alkalmazás +leírására szolgál, és a következőképpen néz ki: +
+section = szekciónév
+.
+.
+.
+end
+
+ +

+Jelenleg csak egyetlen alkalmazás van, így csak egy szekciót kell megadni: +ennek neve movieplayer. + +

+Ezen a szekción belül az MPlayer minden egyes ablakához az alábbi formájú +leíró blokkok tartoznak: +
+window = ablaknév
+.
+.
+.
+end
+
+Az ablaknév a következők valamelyike lehet: +

+ +

+(A lejátszóablak és a menü blokkja el is hagyható, ha nincs szükséged +rájuk.) + +

+A blokkon belül az ablak minden egyes elemét ilyen sorok adják meg: + +

+
+elem = paraméter
+
+
+ +

+Az elem egy rögzített név, +a paraméter pedig egy numerikus vagy szöveges érték (vagy vesszőkkel +elválasztott értéklista). + +

+A fentiek együtt valahogy így néznek ki: + +

+
+section = movieplayer
+  window = main
+  ; ... a főablak elemei ...
+  end
+  
+  window = sub
+  ; ... a lejátszóablak elemei ...
+  end
+  
+  window = menu
+  ; ... a skin menü elemei ...
+  end
+end
+
+ +

+Végezetül néhány szó az elemekhez rendelt képek megadásáról. +
+A fájlok nevét könyvtárak nélkül kell megadni, ugyanis a képeket a skin +könyvtárában keresi az MPlayer. A fájlok kiterjesztése elhagyható. +Ha a megadott +fájl nem létezik, akkor az MPlayer megpróbálja betölteni a +<fájlnév>.<kit> nevű fájlt, ahol a <kit> +helyére a tga, TGA, bmp, BMP, png +és PNG végződést helyezi (a megadott sorrendben). Az első létező fájlt +fogja betölteni. + +

+ +
+Itt egy példa, hogy mindez világosabb legyen. Tegyük fel, hogy a +main.png lesz a főablak háttere, amit így adsz meg: +
+
+    base = main, -2, -2
+
+
+ +Ennek hatására az MPlayer megpróbálja betölteni a main, main.tga, +main.TGA, main.bmp stb. fájlt, így végül megtalálja a +main.png-t. +
+Ha (mondjuk tévedésből) ezt írnád: +
+
+    base = main.bmp, -2, -2
+
+
+akkor az MPlayer a main.bmp, main.bmp.tga, main.bmp.TGA, +main.bmp.bmp stb. betöltésével próbálkozna, majd végül feladná a dolgot, +hiszen a könyvtárban main.png van, nem pedig main.bmp. +
+ + +

3.1. A főablak

+ +Az alábbiakban a "window = main" . . . +"end" blokkban használható elemek leírása következik. + +
+
+base = kép, x, y +
+
+Ezzel kell megadni a főablak hátteréül szolgáló képet. Az +x,y az ablak helyét adja meg a képernyőn +(0,0 a képernyő bal felső +sarka). Értékük igazításra is használható: a -1 középre, a +-2 pedig jobbra (x) illetve alulra (y) igazítást jelent. +

+ +Figyelem: a képen az átlátszónak megjelölt területek (#FF00FF színűek) +feketék lesznek az XShape támogatás nélküli X szervereken. + +

+
+ +
+
+button = kép, x, y, szél, mag, üzenet
+
+Egy szél * mag pixel méretű nyomógombot helyez az ablak +x,y pozíciójába. A gomb lenyomáskor a megadott +üzenetet generálja. +A kép paraméterrel megadott képnek három egymás alatti részből kell +állnia a gomb három lehetséges állapotának megfelelően, valahogy így: +

++---------------+
+|   lenyomott   |
++---------------+
+|  felengedett  |
++---------------+
+|   letiltott   |
++---------------+
+
+
+
+ +
+
+decoration = enable|disable +
+
+Engedélyezi (enable) vagy tiltja (disable) az ablakkezelőnek +a főablak dekorációját. Alapértelmezés szerint a dekoráció le van tiltva. +
+
+ +
+
+ + +hpotmeter = gomb, gsz, gm, fáziskép, fázisok, alap, x, y, sz, m, üzenet + + +
+
+Egy sz * m pixel méretű vízszintes potmétert +("csúszkát") helyez az ablak x,y pozíciójába. +A potméter képe több fázisból állhat (például a hangerő potmétere lehet egy +zöldből vörösbe tartó színátmenet, ahogy a potmétert minimumról maximumra +húzzák). A potméternek van egy gombja is, amit végig lehet húzni a potméter +hossza mentén. +A paraméterek jelentése: + +Az egyes fázisokat tartalmazó képnek valahogy így kell kinéznie: +

++-----------------+
+|  1. fázis képe  |
++-----------------+
+|  2. fázis képe  |
++-----------------+
+.                 .
++-----------------+
+|  n. fázis képe  |
++-----------------+
+
+ +Megjegyzés: a hpotmeter-nek lesz párja is (vpotmeter), de az jelenleg +még nincs kész. + +
+
+ +
+
+potmeter = fáziskép, fázisok, alap, x, y, sz, m, üzenet +
+
+Ez egy gomb nélküli potméter. (Azt hiszem, forgatható akar +lenni, de jelenleg csak a vízszintes irányú húzásra reagál.) +A paraméterek jelentését lásd a +hpotmeter-nél. +A fáziskép itt is lehet NULL, de elég furcsán +mutat, ha nem látod a potméter állását (hiszen gombja nincs)... + +
+
+ +
+
+font = fontfájl, fontazon +
+
+Egy fontot definiál. A fontfájl egy .fnt kiterjesztésű +szöveges fontleíró fájl neve (a kiterjesztést itt nem kell megadni). +A fontazon a későbbiekben a font azonosítására szolgál +(lásd a dlabel és +slabel elemet). +Maximum 25 font definiálható. +
+
+ +
+
+dlabel = x, y, hossz, igazítás, fontazon, "szöveg" +
+
+Egy dinamikus címkét helyez az x,y pozícióba. +A címke attól dinamikus, hogy a tartalma periodikusan frissítve van. +A hossz a címke maximális hosszát adja pixelben (magassága +egy karakternyi). Ha a címke szövege hosszabb ennél, +akkor az adott területen belül folyamatosan görgetve lesz. Ha rövidebb, akkor +az igazítás paraméter értéke szerint lesz igazítva a területen +belül: 0 esetén jobbra, 1 esetén középre, 2 esetén balra. +
+A szöveg paraméter adja a címke szövegét, amit kötelező dupla +idézőjelek (") közé írni (ám jelenleg a " nem +lehet része a szövegnek). A megjelenítés a fontazon által +azonosított fonttal történik. A címke szövegében az alább +felsorolt változók is használhatók. +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VáltozóJelentése
$1lejátszás ideje hh:mm:ss formában
$2lejátszás ideje mmmm:ss formában
$3lejátszás ideje hh formában (órák)
$4lejátszás ideje mm formában (percek)
$5lejátszás ideje ss formában (másodpercek)
$6film hossza hh:mm:ss formában
$7film hossza mmmm:ss formában
$8lejátszás ideje h:mm:ss formában
$vhangerő xxx.xx% formában
$Vhangerő xxx.x formában
$bbalansz xxx.xx% formában
$Bbalansz xxx.x formában
$$a $ karakter
$aegy karakter a hang fajtájának megfelelően (nincs: n, + mono: m, sztereó: t)
$ttrack száma (a lejátszólistában)
$ofájlnév
$ffájlnév csupa kisbetűvel
$Ffájlnév csupa nagybetűvel
$Tegy karakter a stream típusának megfelelően (fájl: f, + video CD: v, DVD: d, URL: u) +
$pa "p" karakter, ha a lejátszás folyamatban van, és a + font tartalmazza a "p" karaktert
$saz "s" karakter, ha a lejátszás le van állítva, és a + font tartalmazza az "s" karaktert
$eaz "e" karakter, ha a lejátszás szünetel, és a font + tartalmazza az "e" karaktert
+

+Megjegyzés: a $a, $T, $p, $s +és $e változók lehetővé teszik, hogy az általuk visszaadott +karakterekkel különleges szimbólumokat jeleníts meg (például az "e" +karakterrel a szünet jelét, ami többnyire valami ilyesmi: ||). +Ezeknek a szimbólumoknak célszerű külön fontot készíteni. Lásd a +szimbólumokról szóló részt. +

+
+ +
+
+slabel = x, y, fontazon, "szöveg" +
+
+Egy állandó szövegű címkét jelenít meg az x,y +pozícióban. A szöveg egy "sima" szöveg +($x formájú változók itt nem működnek), amit dupla idézőjelek közé kell írni +(jelenleg a " nem lehet a szöveg része). +A címke a fontazon által azonosított fonttal lesz megjelenítve. +
+
+ + +

3.2. Lejátszóablak

+ +A "window = sub" . . . "end" blokkban +az alább felsorolt elemek használhatók. + +
+
+base = kép, x, y, szélesség, magasság +
+
+Ezzel tudod megadni az ablakban megjelenítendő képet. Az +x és y paraméter az ablak pozícióját adja a képernyőn +(0,0 a bal felső sarok). Értéke igazításra is használható: a -1 középre +igazít, a -2 pedig jobbra (x) illetve alulra (y). +A szélesség és magasság az ablak méretét adja; akár el +is hagyhatók (ilyenkor az ablak mérete megegyezik a kép méretével). +
+
+ +
+
+background = r, g, b +
+
+Ezzel tudod beállítani az ablak háttérszínét. Akkor hasznos, ha az ablak +nagyobb a megjelenített képnél. +Az r, g, b a szín vörös, zöld, kék +összetevőjét adja meg (mindegyik egy decimális szám 0-tól 255-ig). +
+
+ + +

3.3. Skin menü

+ +Amint arról már szó volt, a menü két kép segítségével van kirajzolva. +A menü alapját a base elem képe adja, míg a kijelölt menüpont a +selected elem képéről lesz a háttérre rajzolva. Egy menüpont +képen belüli pozícióját és méretét a menu elem adja meg. + +

+A "window = menu" . . . "end" blokkban +az alább felsorolt elemek használhatók. + +

+
+base = kép +
+
+A normál menü képe. +
+ + +
+
+selected = kép +
+
+A kép, amin az összes menüpont kijelölt állapotban van. +
+
+ +
+
+menu = x, y, szélesség, magasság, üzenet +
+
+Megadja egy menüpont képen belüli x,y pozícióját +és méretét. Ha az egérgombot felengeded a menüpont felett, akkor az +üzenet paraméterben megadott üzenetet generálja. +
+
+ + +

4. Fontok

+ +A skin részeiről szóló pontban már említettem, hogy egy font az egyes +karakterek +előre megrajzolt képéből és egy szöveges leíró fájlból áll. A képen belül +a karakterek bárhol lehetnek, a lényeg az, hogy a leíró fájlban pontosan add +meg minden karakter helyét és méretét. + +

+A fájl .fnt kirejesztésű; lehetnek benne megjegyzések, ezeket a sor elejére +írt ";" karakterrel kell kezdeni. +Az alábbi sornak feltétlenül szerepelnie kell valahol (célszerűen a fájl +elején): +

+
+image = kép
+
+
+ +

+A kép a karakterek képét tartalmazó fájl neve +(a kiterjesztés itt is elhagyható). +Ezt a sort az egyes karaktereket definiáló sorok követik, amiknek +így kell kinézniük: + +

+
+"kar" = x, y, sz, m
+
+
+ +

+Itt x és y a kar karakter képen +belüli pozíciója (0,0 a kép bal felső sarka), az +sz és m pedig a karakter szélessége és magassága +pixelben. + +

+Az alábbi példa a font.png képen egymás után rajzolt A, B és C karaktert +definiálja. +
+; "font.png" helyett akár "font" is lehet
+image = font.png
+
+; Három karakter legfeljebb csak példának elég. :-)
+"A" =  0,0, 7,13
+"B" =  7,0, 7,13
+"C" = 14,0, 7,13
+
+ + +

4.1. Szimbólumok

+ +A dlabel elem bizonyos változói olyan karaktereket +adnak vissza, amikhez célszerű külön fontot készíteni, hogy így különféle +szimbólumokat, jeleket lehessen megjeleníteni az adott karakterek helyett. +(Például a DVD streamet jelentő "d" karakterhez rajzolhatsz egy szép +kis "DVD" feliratot.) + +

+Az alábbi táblázatban láthatók azok a karakterek, amik szimbólumok +megjelenítésére használhatók, és amikhez érdemes külön fontot készíteni. + +

+ + + + + + + + + + + + + + + + + + + + + + +
KarakterSzimbólum
plejátszás (play)
sleállítás (stop)
eszünet (pause)
nnincs hang
mmono hang
tsztereó hang
fa stream egy fájl
va stream egy video CD
da stream egy DVD
ua stream egy URL
+
+ +

+Megjegyzés: jelenleg csak a "p", "s", "e", "n", "m" és "t" +szimbólum használható. +

+ +

A. függelék: GUI üzenetek

+ +A gombok, potméterek és menüpontok az alább felsorolt üzeneteket generálhatják. + +

+Megjegyzés: jelenleg még nem mindegyik üzenet működik +(vagy legalábbis nem megfelelően). Amint tudod, a GUI még fejlesztés alatt áll. + + +

+Lejátszás: +

+
+
evNext +
A következő számra ugrik a lejátszólistában. + +
evPause +
Szünetelteti a lejátszást. + +
evPauseSwitchToPlay +
Az evPlaySwitchToPause üzenettel együtt egy kapcsolót alkot, ami +egy (látszólag) közös lejátszás/szünet gomb használatát teszi lehetővé. +Mindkét üzenetet egy-egy gombhoz célszerű hozzárendelni, és a gombokat azonos +pozícióba kell rakni. Ennek az üzenetnek a hatására a lejátszás szünetel, és +az evPlaySwitchToPause gomb képe lesz kirajzolva +(jelezve hogy lenyomhatod a +gombot a lejátszás folytatásához). + +
evPlay +
Megkezdi a lejátszást. + +
evPlaySwitchToPause +
Az evPauseSwitchToPlay párja. Az üzenet hatására a megkezdődik a +lejátszás, +és az evPauseSwitchToPlay gomb képe lesz kirajzolva (jelezve hogy +lenyomhatod a gombot a lejátszás szüneteltetéséhez). + +
evPrev +
Az előző számra ugrik a lejátszólistában. + +
evStop +
Megállítja a lejátszást. +
+
+ +

+Pozícionálás: +

+
+
evBackward10sec +
evBackward1min +
evBackward10min +
10 másodpercet / 1 percet / 10 percet ugrik vissza a lejátszásban. + +
evForward10sec +
evForward1min +
evForward10min +
10 másodpercet / 1 percet / 10 percet ugrik előre a lejátszásban. + +
evSetMoviePosition +
A megadott pozícióra ugrik (potméternél használatos, a potméter +relatív értékét (0-100%) használja). +
+
+ +

+Videoval kapcsolatos üzenetek: +

+
+
evDoubleSize +
Dupla méretűre állítja a lejátszóablakot. + +
evFullScreen +
Váltás ablakos és teljes képernyős mód között (oda-vissza működik). + +
evNormalSize +
Normál méretűre állítja a lejátszóablakot. +
+
+ +

+Hanggal kapcsolatos üzenetek: +

+
+
evDecAudioBufDelay +
Csökkenti a hang késleltetését. + +
evDecBalance +
Csökkenti a balanszot. + +
evDecVolume +
Csökkenti a hangerőt. + +
evIncAudioBufDelay +
Növeli a hang késleltetését. + +
evIncBalance +
Növeli a balanszot. + +
evIncVolume +
Növeli a hangerőt. + +
evMute +
Kikapcsolja/bekapcsolja a hangot. + +
evSetBalance +
Adott értékre állítja a balanszot (potméterrel használatos, a potméter +relatív értékét (0-100%) használja). + +
evSetVolume +
Adott értékre állítja a hangerőt (potméterrel használatos, a potméter +relatív értékét (0-100%) használja). +
+
+ +

+Egyéb üzenetek: +

+
+
evAbout +
Megjeleníti a program információs ablakát. + +
evEqualeaser +
Bekapcsolja/kikapcsolja az equalizert. + +
evExit +
Kilép a programból. + +
evIconify +
Ikonizálja az ablakot. + +
evLoad +
Betölt egy fájlt (amit egy fájlválasztó ablakban jelölhetsz ki). + +
evLoadPlay +
Ugyanaz mint az evLoad, de betöltés után automatikusan megkezdi +a lejátszást. + +
evNone +
Üres üzenet, nincs hatása. (Legfeljebb csak a CVS verzióban. :-)) + +
evPlayList +
Megnyitja/bezárja a lejátszólista ablakot. + +
evPreferences +
Megnyitja a beállítások ablakot. + +
evSkinBrowser +
Megnyitja a skinböngésző ablakot. +
+
+ + +