Jak zostało powiedziane wcześniej, plik ten jest plikiem konfigurującym skórkę.
Obsługuje różne rodzaje wierszy; komentarze zaczynają wiersz znakiem
';
' (tylko spacje i znaki tabulacji są dopuszczone przed
';
').
Plik podzielony jest na sekcje. Każda sekcja opisuje skórkę dla każdej aplikacji i ma następującą formę:
section = nazwa sekcji
.
.
.
end
Obecnie jest tylko jedna aplikacja, a więc potrzebujesz tylko jedną sekcję 'section' - jej nazwa to movieplayer.
Wewnątrz tej sekcji każde z okien jest opisane przez blok następującej postaci:
window = nazwa okna
.
.
.
end
gdzie nazwa okna
może być jednym z poniższych łańcuchów:
main - dla okna głównego
sub - dla okna ekranu
menu - dla menu skórki
playbar - dla panelu odtwarzania
(Bloki sub i menu są opcjonalne - nie musisz tworzyć menu czy elementów skórki dla okna ekranu)
Wewnątrz bloku 'window' możesz definiować każdy element okna, wpisując linijkę tej postaci:
item = parametr
Gdzie item
jest łańcuchem, kóry identyfikuje typ elementu
GUI, parametr
jest wartością numeryczną lub tekstową (lub
listą takich wartości oddzielonych od siebie znakiem przecinka).
Złożenie powyższych elementów razem tworzy plik, który wygląda mniej więcej tak:
section = movieplayer window = main ; ... elementy okna głównego ... end window = sub ; ... elementy okna ekranu ... end window = menu ; ... elementy menu skórki ... end window = playbar ; ... elementy panelu odtwarzania ... end end
Nazwa pliku graficznego musi zostać podana bez żadnych nazw katalogów - obrazki
są szukane w katalogu skins.
Możesz (ale nie musisz) określić rozszerzenia tego pliku. Jeśli plik taki nie
istnieje, MPlayer
spróbuje wczytać plik <nazwa pliku>.<rozszerzenie>,
gdzie png
oraz PNG
są brane jako
<rozszerzenie> (w tej właśnie kolejności). Pierwszy
pasujący plik będzie użyty.
Na koniec kilka słów na temat pozycjonowania. Okno główne oraz okno ekranu możesz
umieścić w różnych narożnikach ekranu poprzez ustawienie współrzędnych
X
i Y
. 0
to góra lub
lewa strona, -1
to środek, -2
to strona
prawa, lub dół, tak jak przedstawiono na poniższej ilustracji:
(0, 0)----(-1, 0)----(-2, 0) | | | | | | (0,-1)----(-1,-1)----(-2,-1) | | | | | | (0,-2)----(-1,-2)----(-2,-2)
Oto przykład wyjaśniający to lepiej. Przypuśćmy, że masz obrazek nazwany main.png, który został użyty dla okna głównego:
base = main, -1, -1
MPlayer spróbuje wczytać pliki main, main.png, main.PNG.
Poniżej znajduje się lista wpisów, które mogą być użyte w blokach
'window = main
'...'end
'
oraz 'window = playbar
' ... 'end
'.
base = obrazek, X, Y
Możesz określić obrazek tła, który będzie używany w oknie głównym.
Okno będzie widoczne na ekranie na współrzędnych X, Y
. Okno
będzie wielkości tego obrazka.
Współrzędne te nie działają na razie dla okna ekranu.
Obszary przezroczystości obrazka (kolor #FF00FF) będą widoczne jako czarne pod X serwerami niemającymi rozszerzenia XShape. Szerokość obrazka musi być podzielna przez 8.
button = obrazek, X, Y, szerokość, wysokość, sygnał
Umieści przycisk o rozmiarze szerokość
*
wysokość
na pozycji X
,
Y
. Określony sygnał
jest generowany
podczas kliknięcia na przycisk. Obrazek ten opisany przez
obrazek
musi składać się z trzech części jedna pod drugą
(stosownie do możliwych stanów przycisku), w ten oto sposób:
+---------------+ | wciśnięty | +---------------+ | zwolniony | +---------------+ | nieaktywny | +---------------+
decoration = enable|disable (włączona|wyłączona)
Włącza lub wyłącza dekorację menedżera okna w oknie głównym. Domyślnie jest wyłączona.
Nie działa to w oknie ekranu, gdyż nie ma takiej potrzeby.
hpotmeter = przycisk, szer_przycisku, wys_przycisku, faza, liczba_faz, domyślny, X, Y, szerokość, wysokość, sygnał
vpotmeter = przycisk, szer_przycisku, wys_przycisku, fazy, liczba_faz, domyślny, X, Y, szerokość, wysokość, sygnał
Umieszcza poziomo (hpotmeter) lub pionowo (vpotmeter) suwak o rozmiarze
szerokość
* wysokość
i pozycji
X,Y
. Obrazek może być podzielony na różne części dla różnych
faz suwaka (np. możesz mieć suwak głośności, który w zależności od położenia
zmienia kolor z zielonego (minimum) na czerwony (maksimum)).
hpotmeter
może być przyciskiem umieszczonym poziomo.
Jego parametry to:
przycisk
- obrazek użyty do przycisku
(musi posiadać trzy części jedna pod drugą tak, jak w przypadku
przycisku)
szer_przycisku
,wys_przycisku
- wielkość przycisku
fazy
- obrazek używany do określenie faz
dla hpotmeter. Wartość specjalna NULL
może być użyta,
jeśli nie chcesz żadnego obrazka. Obrazek musi być podzielony w pionie
na fragmenty poszczególnych faz
tak, jak poniżej:
+------------+ | faza #1 | +------------+ | faza #2 | +------------+ ... +------------+ | faza #n | +------------+
liczba_faz
- liczba faz znajdująca się na obrazku z fazami
domyślny
- domyślne ustawienie dla hpotmeter
(zakres od 0
do 100
)
X
,Y
- pozycja dla hpotmeter
szerokość
,wysokość
- szerokość i wysokość dla
hpotmeter
sygnał
- sygnał generowany podczas zmiany wartości hpotmeter
potmeter = fazy, liczba_faz, domyślny, X, Y, szerokość, wysokość, sygnał
hpotmeter
bez przycisku. (domyślam się, że chodzi o to, aby
nim kręcić, ale reaguje on tylko na poziome przesuwanie). Opis parametrów znajdziesz w części o
hpotmeter.
Parametr fazy
może mieć wartość NULL
, ale
jest to zupełnie bezużyteczne, gdyż nie widać wtedy położenia potencjometru.
font = plik_czcionek, id_czcionki
Definiuje czcionkę. plik_czcionek
jest nazwą pliku opisu
czcionki z rozszerzeniem .fnt (nie podawaj rozszerzenia w
tym miejscu). id_czcionki
jest używany do wskazywania
konkretnej czcionki (zobacz dlabel
oraz slabel). Można zdefiniować do 25
czcionek.
slabel = X, Y, id_czcionki, "tekst"
Umieszcza statyczną etykietę w pozycji X,Y
.
tekst
jest wyświetlany za pomocą czcionki wskazywanych przez
id_czcionki
. Tekst jest po prostu zwykłym łańcuchem znaków
(zmienne $x
nie działają), któru musi być umieszczony
pomiędzy podwójnym cudzysłowem (znak " nie może być częścią tekstu).
Etykieta wyświetlana jest za pomocą czcionki, na którą wskazuje
id_czcionki
.
dlabel = X, Y, długość, wyrównanie, id_czcionki, "tekst"
Umieszcza dynamiczną etykietę w pozycji X,Y
. Etykieta jest
nazywana dynamiczną, ponieważ jej tekst jest cyklicznie odświeżany. Maksymalną
długość etykiety określa parametr długość
(jej wysokość
określa wysokość czcionki). Jeśli tekst jest szerszy niż zdefiniowana długość,
będzie on przewijany, w przeciwnym wypadku będzie wyrównany w miejscu określonym
przez wartość parametru wyrównanie
: 0
oznacza do prawej, 1
to wyśrodkowanie, 2
to wyrównanie do lewej.
Wyświetlany tekst jest określony przez zmienną tekst
: musi
być zawarty pomiędzy podwójnymi cudzysłowami (znak " nie może być częścią
tekstu). Etykieta wyświetlana jest za pomocą czcionki, na którą wskazuje
parametr id_czcionki
. Możesz użyć następujących zmiennych w
tekście:
Zmienna | Znaczenie |
---|---|
$1 | czas odtwarzania w formacie hh:mm:ss |
$2 | czas odtwarzania w formacie mmmm:ss |
$3 | czas odtwarzania w formacie (godziny) hh |
$4 | czas odtwarzania w formacie (minuty) mm |
$5 | czas odtwarzania w formacie (sekundy) ss |
$6 | długość filmu w formacie hh:mm:ss |
$7 | długość filmu w formacie mmmm:ss |
$8 | długość filmu w formacieh:mm:ss |
$v | format głośności w %xxx.xx |
$V | format głośności xxx.xx format |
$b | format balansu w %xxx.xx |
$B | format balansu xxx.xx |
$$ | znak $ |
$a | oznaczenie zgodne z rodzajem typu pliku audio (nic: n ,
mono: m , stereo: t ) |
$t | numer ścieżki (na liście odtwarzania) |
$o | nazwa pliku |
$f | nazwa pliku pisana małymi literami |
$F | nazwa pliku pisana wielkimi literami |
$T | oznaczenie zgodne z rodzajem strumienia (plik: f ,
Video CD: v , DVD: d , URL: u ) |
$p | znak p (gdy film jest odtwarzany i czcionka ma znak p) |
$s | znak s (gdy film jest zatrzymany i czcionka ma znak s) |
$e | znak e (gdy film jest wstrzymany (pauza) i czcionka ma znak e) |
$x | rozdzielczość filmu (szerokość) |
$y | rozdzielczość filmu (wysokość) |
$C | nazwa używanego kodeka |
Zmienne $a, $T, $p, $s
oraz $e
zwracają znaki, które powinny być wyświetlane jako znaki specjalne (na przykład
e jest symbolem pauzy, która z reguły wygląda mniej więcej tak
||). Powinieneś mieć czcionkę dla zwykłych znaków oraz osobną czcionkę dla symboli.
Zobacz sekcję na temat symboli,
by dowiedzieć się więcej.
Poniższe wpisy mogą być użyte w bloku
'window = sub
' . . . 'end
' .
base = obrazek, X, Y, szerokość, wysokość
Wyświetla obrazek w oknie. Okno będzie widoczne na ekranie w miejscu oznaczonym
przez współrzędne X
, Y
(0,0
to lewy górny narożnik). Możesz użyć
-1
dla środka, -2
dla prawej strony
(X
) i dołu (Y
). Okno będzie mieć wielkość
obrazka. szerokość
oraz wysokość
oznaczają
wielkość okna; są one opcjonalne (jeśli nie są określone, okno będzie wielkości
takiej, jak obrazek).
background = R, G, B
Pozwala ustawić kolor tła. Jest to użyteczne jeśli obrazek jest mniejszy niż
okno. R
, G
oraz B
określają składniki kolorów czerwonego, zielonego i niebieskiego (każdy z nich
jest reprezentowany przez liczbę dziesiętną w zakresie od 0 do
255).
Jak wspomniano wcześniej, menu jest wyświetlane przy użyciu dwóch obrazków.
Zwykłe obszary menu są pobierane z obrazka określonego przez element
base
, podczas gdy obszary zaznaczone są pobierane z obrazka
wskazywanego przez element selected
. Musisz zdefiniować
pozycję i rozmiar każdego obszaru menu poprzez element menu.
Poniższe wpisy mogą być użyte w bloku:
'window = menu
'. . .'end
' .
base = obrazek
Obrazek dla zwykłych obszarów menu.
selected = obrazek
Obrazek pokazujący w menu wszystkie zaznaczone obszary.
menu = X, Y, szerokość, wysokość, sygnał
Definiuje pozycję i rozmiar obszarów menu na obrazku przy pomocy
X,Y
. sygnał
to zdarzenie wygenerowane
podczas zwolnienia przycisku myszy nad obszarem.