Text2skin-plugin

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Beschreibung

Autor: Sascha Volkenandt

Dieses Plugin wurde erstellt, um das Aussehen des On-Screen-Display von VDR mittels XML-Skin-Dateien zu verändern, welche über Einstellungen -> OSD zur Verfügung stehen. Es ist möglich, mehrere Skins zu laden und bei laufendem VDR auszuwählen. Alle Skins können themeable erstellt werden (die Farbvarianten können geändert werden) und können Sprachübersetzungen enthalten.

Bilder

Ab der Entwicklerversion VDR 1.3.7 unterstützt VDR auch Skins, die eine Gestaltung des OSD erlauben. Es gibt zur Zeit zwei Arten von Skins, die vom verfügbaren Speicher des OSDs abhängig sind. DVB-full-featured-Karten können Skins mit einer max. Größe von 90 kB darstellen. Auf 4 MB erweiterte DVB-FF-Karten, Budget-Karten mit Softdevice und die PVR350 können dagegen auch 1-MB-Skins darstellen.

90-kB-Skins sind aufwärtskompatibel, das soll heißen sie funktionieren auch mit auf 4 MB erweiterten DVB-FF-Karten.

Einige Skins (256) sind wiederum abwärtskompatibel, die README des Skins weiß meistens mehr!

Für Skin-Entwickler

Für alle die sie berufen fühlen einen neuen Skin zu entwickeln, oder einen bestehenden an eigene Vorstellungen anzupassen, gibt es eine Dokumentation im text2skin-Paket und hier

Nach getaner Arbeit sollte man über eine Veröffentlichung auf www.vdrskins.org nachdenken.

256 / 1 MB

lightblue256

16 / 90 kB

deepblue
lightblue16
enelchi

Hardware-Anforderungen

Das Plugin selbst hat keine besonderen Hardware-Anforderungen, jedoch gibt es zwei Arten von Skins:

  • "90kb" Standard-OSD
  • "1mb" OSD für gemoddete full-featured-Karten (siehe SpeicherMod)

Wenn ein Skin mit zu vielen Farben auf einer nicht umgebauten DVB-Karte verwendet wird, kann das Skin entweder gar nicht oder nur mit massiven Fehlern dargestellt werden – bei kleinem Skin auf großem OSD natürlich problemlos.

Software-Anforderungen

  • ImageMagick >= libpng >= pkgconfig
  • imlib2

Letzteres kann im Makefile des Plugins auskommentiert werden, laut README macht es keinen Sinn beide Bibliotheken gleichzeitig zu nutzen.

  • freetype

Installation

cd $SOURCEDIR
tar jxvf libpng-<VERSION>.tar.bz2
cd libpng-<VERSION>
make prefix=/usr/local -f scripts/makefile.linux
make install -f scripts/makefile.linux
ldconfig
cd -

tar jxvf ImageMagick-<VERSION>.tar.bz2
cd ImageMagick-<VERSION>
./configure --prefix=/usr/local \
            --without-dps \
            --without-fpx \
            --without-gslib \
            --without-jbig \
            --without-jp2 \
            --without-lcms \
            --without-tiff \
            --without-xml \
            --without-x
make
make install
ldconfig

cd -
tar zxvf freetype-<VERSION>.tar.gz
cd freetype-<VERSION>
./configure --prefix=/usr/local
make
make install
ldconfig

cd -
tar xvzf expat-<VERSION>.tar.gz
cd expat-<VERSION>
./configure --prefix=/usr/local
make
make install
ldconfig

Falls eine mit 4 MByte ausgerüstete full-featured-DVB-Karte mit VDR <= 1.3.16 zum Einsatz kommt, muss VDR noch gepatcht und neu kompiliert werden: in $SOURCEDIR/VDR/dvbosd.c ändern:

#define MAXOSDMEMORY 1000000

anschließend im VDR Source-Verzeichnis

make clean
make

Ab VDR-1.3.17 ist das nicht mehr nötig.

Optionen

HAVE_IMAGEMAGICK=1
HAVE_IMLIB2=1
HAVE_FREETYPE=1 comment this out if you don't want to use FreeType font rendering


Konfiguration

Die Skins sind einfach in das Konfigurationsverzeichnis der Plugins zu entpacken.

mkdir -p /etc/vdr/plugins/text2skin
tar xvzf /wo/auch/immer/demo.tgz -C /etc/vdr/plugins/text2skin

Hinweis: Die Version des Skins muss zur Version von Text2skin passen, ab Version 1.0.x werden nur noch Skins im 1.0-Format unterstützt.


Probleme

  • Nutzung von Imlib2 kann zu Abstürzen führen, wenn gleichzeitig das graphtft-plugin zum Einsatz kommt.
  • vdr <= 1.3.17: bitte Version 0.0.8.1 verwenden (bugfix), ab vdr-1.3.18: cvs oder Version 1.0.x
  • OSD merklich langsamer

Tipps

Vor der Installation sollten vorhandene ImageMagick-Versionen deinstalliert werden. Bei einer RPM-basierten Distri (z. B. SuSE) wären das folgende Befehle:

rpm -qa | grep ImageMagick | xargs rpm -e --nodeps

Bei doppelten freetype-Versionen (soll ja vorkommen) ist der PATH vor dem Übersetzen des Plugins zu "verschieben":

export PATH=/usr/local/bin:$PATH

Das heißt, das freetype-config erst in /usr/local/bin gesucht wird. Siehe Makefile des Plugins.

	ifneq ($(shell which freetype-config),)
                       ^^^^^^^^^^^^^^^^^^^^^
		INCLUDES += $(shell freetype-config --cflags)
                                    ^^^^^^^^^^^^^^^^^^^^^^^^
		LIBS += $(shell freetype-config --libs)
                                ^^^^^^^^^^^^^^^^^^^^^^


Snapshot

cvs -d:pserver:anoncvs@text2skin.vdr-developer.org:/var/cvsroot login
cvs -d:pserver:anoncvs@text2skin.vdr-developer.org:/var/cvsroot co text2skin

Links

[1] http://www.magoa.net/linux Homepage des Plugins
[2] http://enlightenment.org imlib2
[3] http://www.imagemagick.org imagemagick
[4] http://www.freetype.org freetype
[5] http://expat.sourceforge.net expat
[6] http://www.libpng.org/pub/png/libpng.html libpng
[7] http://www.vdrskins.org/vdrskins Skin-Galerie mit Upload-Möglichkeit
[6] http://vdr.bluox.org/download/Logos hqlogos (FR)
[15] http://www.vdr-portal.de/board/thread.php?threadid=41815&sid= Tool mit dem die Logos bequem verlinkt werden können

Skins >= 1.0

[1] http://skins.vdr-developer.org Lightblue
[2] http://brougs78.vdr-developer.org Enigma
[3] http://vdr.pfroen.de Deepblue
[4] http://www.saunalahti.fi/~rahrenbe/vdr/patches Enelchi
[5] http://home.arcor.de/bjoern.sturzrehm/vdr/overview.html SilverGreen
[6] http://skins.vdr-developer.org Izegrey

Skins < 1.0

[1] http://www.fdm-ware.de/vdrskin Aluminium
In anderen Sprachen