C.1. Überblick

Es hat nicht wirklich etwas mit dem Skinformat zu tun, aber du solltest wissen, dass MPlayer kein eingebautes Skin besitzt, also muss zumindest ein Skin installiert sein, damit das GUI verwendet werden kann.

C.1.1. Verzeichnisse

Die nach Skins durchsuchten Verzeichnisse sind (der Reihe nach):

  1. $(DATADIR)/skins/

  2. $(PREFIX)/share/mplayer/skins/

  3. ~/.mplayer/skins/

Beachte, dass der erste Pfad je nach Art der MPlayer-Konfiguration variieren kann (siehe Argumente --prefix und --datadir des configure-Scripts).

Jedes Skin wird in sein eigenes Verzeichnis unterhalb einem der oben aufgeführten Verzeichnisse installiert, zum Beispiel:

$(PREFIX)/share/mplayer/skins/default/

C.1.2. Bildformate

Die Bilder müssen Truecolor-PNGs sein (24 oder 32 bpp).

Im Hauptfenster und in der Abspielleiste (siehe unten) kannst du Bilder mit 'Transparenz' verwenden: Mit der Farbe #FF00FF (Magenta) gefüllte Bereiche sind beim Betrachten mit MPlayer voll transparent. Dies bedeutet, dass du sogar Formfenster haben kannst, wenn dein X-Server die XShape-Extension besitzt.

C.1.3. Skin-Komponenten

Skins sind ziemlich frei im Format (im Unterschied zu den Skins mit festem Format von Winamp/XMMS zum Beispiel), somit liegt es an dir, einen tollen zu kreieren.

Zur Zeit sind vier Fenster zu dekorieren: das Hauptfenster, das Unterfenster, die Abspielleitse und das Skin-Menü (das durch einen Rechtsklick aktiviert werden kann).

  • Das Hauptfenster und/oder die Abspielleiste befindet sich dort, wo du MPlayer kontrollieren kannst. Der Hintergrund des Fensters ist eine Grafik. Ins Fenster können (und müssen) diverse Elemente platziert werden: Buttons, Potentiometer (Schieberegler) und Labels. Für jedes Element musst du dessen Position und Größe angeben.

    Ein Button besitzt drei Zustände (gedrückt, losgelassen, deaktiviert), deshalb muss seine Grafik vertikal in drei Teile getrennt werden. Siehe Eintrag Button für mehr Details.

    Ein Potentiometer (hauptsächlich für die Suchleiste und die Lautstärke-/Balance-Regler) kann durch die Aufteilung der Grafik in verschiedene untereinander liegende Teile eine beliebige Anzahl von Phasen haben. Siehe hpotmeter und potmeter für Details.

    Labels sind ein wenig speziell: Die Zeichen, die man zu ihrer Darstellung benötigt, werden von einer Grafikdatei und die Zeichen in der Grafik durch eine Schrift-Beschreibungsdatei festgelegt. Letztere ist eine Volltextdatei, welche die x-,y-Position und Größe jedes Zeichens in der Grafik beschreibt (die Grafikdatei und ihre Schrift-Beschreibungsdatei bilden zusammen eine Schrift). Siehe dlabel und slabel für Details.

    Anmerkung

    Alle Grafiken können wie im Abschnitt über die Grafikformate erklärt volle Transparenz besitzen. Wenn der X-Server keine XShape-Extension unterstützt, werden die als transparent markierten Teile schwarz. Wenn du dieses Feature gerne nutzen möchtest, muss die Breite der Hintergrundgrafik des Hauptfensters durch 8 teilbar sein.

  • Das Unterfenster ist dort, wo der Film erscheint. Es kann eine festgelegte Grafik anzeigen, wenn kein Film geladen ist (es ist ziemlich langweilig, ein leeres Fenster vor sich zu haben :-)) Beachte: Transparenz ist hier nicht erlaubt.

  • Das Skin-Menü ist ganz einfach ein Weg, MPlayer mittels der Menüeinträge zu kontrollieren. Zwei Grafiken sind für das Menü erforderlich: eine davon ist die Basisgrafik, die den Normalzustand des Menüs darstellt, die andere wird zur Anzeige der gewählten Einträge verwendet. Wenn du das Menü aufklappst, wird die erste Grafik angezeigt. Bewegst du die Maus über die Menüeinträge, wird der aktuell gewählte Eintrag aus der zweiten Grafik über den Menüeintrag unterhalb des Mauszeigers kopiert (die zweite Grafik wird nie als ganzes angezeigt).

    Ein Menüeintrag wird definiert durch seine Position und Größe innerhalb der Grafik (sieh nach mehr Details im Abschnitt über das Skin-Menü).

Eine wichtige Sache wurde noch nicht aufgeführt: Damit Buttons, Potentiometer und Menüeinträge funktionieren, muss MPlayer wissen, was er machen soll, wenn sie angeklickt werden. Dies geschieht mittels Meldungen (Ereignisse). Für diese Elemente musst du die beim Klick auf sie zu generierenden Meldungen definieren.

C.1.4. Dateien

Du benötigst folgende Dateien, um ein Skin zu bauen:

  • Die Konfigurationsdatei genannt skin erzählt MPlayer, wie unterschiedliche Teile des Skins zusammengefügt werden und was er tun soll, wenn du irgendwo innerhalb des Fenster hinklickst.

  • Die Hintergrundgrafik fürs Hauptfenster.

  • Grafiken für die Elemente im Hauptfenster (einschließlich einer oder mehrerer Schrift-Beschreibungsdateien zum Zeichnen der Labels).

  • Die Grafik, die im Unterfenster angezeigt werden soll (optional).

  • Zwei Grafiken für das Skin-Menü (sie werden nur gebraucht, wenn du ein Menü erzeugen möchtest).

Mit Ausnahme der skin-Konfigurationsdatei kannst du die anderen Dateien benennen, wie es dir beliebt (beachte aber, dass Schrift-Beschreibungsdateien eine .fnt-Erweiterung besitzen müssen).