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'.
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.
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 | +---------------+
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.
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
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.
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.
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.
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' .
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).
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' .
Obrazek dla zwykłych obszarów menu.
Obrazek pokazujący w menu wszystkie zaznaczone obszary.
Definiuje pozycję i rozmiar obszarów menu na obrazku przy pomocy X,Y. sygnał to zdarzenie wygenerowane podczas zwolnienia przycisku myszy nad obszarem.