Text2skin-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Gentoo)
(Aktuelle Version)
 
(48 dazwischenliegende Versionen von 17 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
 
'''Autor:''' Sascha Volkenandt
 
'''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.  
+
Dieses Plugin lädt xml-basierte Text-Skins zur Anpassung des On-Screen-Display (OSD) des VDR.
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.
+
Die Skins können zur Laufzeit des VDR per Menü ausgewählt werden. Alle Skins können mit Farbvarianten (Theme) erstellt werden.
 +
 
 +
===Status===
 +
Letztes Update 11/2011
  
<!-- ===Status=== -->
 
 
==Bilder==
 
==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. [[SpeicherMod|Auf 4 MB erweiterte DVB-FF-Karten]], Budget-Karten mit Softdevice und die PVR350 können dagegen auch 1-MB-Skins darstellen.
+
Je nach Ausgabe-Plugin und -device werden unterschiedliche Speichergrößen bei den Skins benutzt werden:
 +
* DVB Full-Featured SD Karten können Skins mit einer max. Größe von 90 kB darstellen
 +
* DVB Full-Featured SD Karten mit [[FF-Karten Speichererweiterung|4 MB OSD RAM]], normale Ausgabe-Plugins 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 [[SpeicherMod|4 MB erweiterten DVB-FF-Karten]].
+
Einige Skins (256) sind auch für DVB Full-Featured SD Karten nutzbar.
  
Einige Skins (256) sind wiederum abwärtskompatibel, die README des Skins weiß meistens mehr!
+
;Hochauflösend
 +
<gallery>
 +
PearlHD_Screenshot.png|[[PearlHD]]
 +
</gallery>
  
===Für Skin-Entwickler===
+
;256 / 1 MB
Für alle die sich berufen fühlen einen neuen Skin zu entwickeln, oder einen bestehenden an eigene Vorstellungen anzupassen, gibt es eine Dokumentation im text2skin-Paket und hier
+
<gallery>
 +
skin-256-lightblue-0.jpg|lightblue256
 +
skin-256-enigma-1.jpg|enigma
 +
</gallery>
 +
 
 +
;16 / 90 kB
 +
<gallery>
 +
skin-16-deepblue-0.jpg|deepblue
 +
skin-16-lightblue-0.jpg|lightblue16
 +
skin-16-enelchi-0.jpg|enelchi
 +
skin-256-enigma-1.jpg|enigma (mit reduzierter OSD-Größe, max. ca. 460 Pixel Höhe)
 +
skin-16-motz.jpg|Motz
 +
Skin-16-silvergreen.jpg|SilverGreen
 +
</gallery>
 +
 
 +
==Für Skin-Entwickler==
 +
Für Entwickler von Text2Skin Skins gibt es eine Dokumentation im text2skin-Paket und weiterhin
 
* [[Text2skin-Skin erstellen]]
 
* [[Text2skin-Skin erstellen]]
 
* [[Text2skin-Skin Referenz]]
 
* [[Text2skin-Skin Referenz]]
 
Nach getaner Arbeit sollte man über eine Veröffentlichung auf [http://www.vdrskins.org/vdrskins www.vdrskins.org] nachdenken.
 
 
===256 / 1 MB===
 
{|
 
|[[Bild:skin-256-lightblue-0.jpg|thumb|none|''lightblue256'']]
 
|[[Bild:skin-256-enigma-1.jpg|thumb|none|''enigma'']]
 
|}
 
 
===16 / 90 kB===
 
{|
 
|[[Bild:skin-16-deepblue-0.jpg|thumb|none|''deepblue'']]
 
|[[Bild:skin-16-lightblue-0.jpg|thumb|none|''lightblue16'']]
 
|[[Bild:skin-16-enelchi-0.jpg|thumb|none|''enelchi'']]
 
|[[Bild:skin-256-enigma-1.jpg|thumb|none|''enigma (mit reduzierter OSD-Größe, max. ca. 460 Pixel Höhe)'']]
 
|[[Bild:skin-16-motz.jpg|thumb|none|''Motz'']]
 
|}
 
 
<!-- ==Bedienung== -->
 
<!-- ===[[SVDRP]] Befehle=== -->
 
 
==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 &ndash;
 
bei kleinem Skin auf großem OSD natürlich problemlos.
 
  
 
==Software-Anforderungen==
 
==Software-Anforderungen==
* ImageMagick >= libpng >= pkgconfig
+
* ImageMagick
* imlib2
+
* libpng
Letzteres kann im Makefile des Plugins auskommentiert werden, laut README macht es keinen Sinn beide Bibliotheken gleichzeitig zu nutzen.
+
* pkgconfig
 +
* imlib2 (optional)
 
* freetype
 
* freetype
 
==Installation==
 
===Optionen===
 
{| class="wikitable"
 
|-
 
| bgcolor=#efefef | HAVE_IMAGEMAGICK=1
 
|
 
|-
 
| bgcolor=#efefef | HAVE_IMLIB2=1
 
|
 
|-
 
| bgcolor=#efefef | HAVE_FREETYPE=1
 
| comment this out if you don't want to use FreeType font rendering
 
|}
 
 
<!-- ===Patches=== -->
 
===Source===
 
* libPNG
 
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
 
 
* ImageMagick
 
cd $SOURCEDIR
 
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
 
 
* FreeType
 
cd $SOURCEDIR
 
tar zxvf freetype-<VERSION>.tar.gz
 
cd freetype-<VERSION>
 
./configure --prefix=/usr/local
 
make
 
make install
 
ldconfig
 
 
* expat
 
cd $SOURCEDIR
 
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:
 
 
<pre>
 
#define MAXOSDMEMORY 1000000
 
</pre>
 
 
anschließend im VDR Source-Verzeichnis
 
 
<pre>
 
make clean
 
make
 
</pre>
 
 
Ab VDR-1.3.17 ist das nicht mehr nötig.
 
 
===[[Arch-Linux]]===
 
pacman -S imagemagick
 
 
===[[Crux]]===
 
prt-get depinst imagemagick
 
 
===[[Debian]]===
 
apt-get install libmagick++9-dev
 
 
===[[Gentoo]]===
 
emerge imagemagick
 
 
===[[SuSE]]===
 
yast -i ImageMagick-devel ImageMagick-Magick++
 
  
 
==Konfiguration==
 
==Konfiguration==
Die Skins sind einfach in das Konfigurationsverzeichnis der Plugins zu entpacken.
+
Die Skins sind einfach in das Konfigurationsverzeichnis der Plugins zu entpacken. Bei einigen DIstributionen liegen diese Skins auch in /usr/share/vdr/text2skin.
  
 
  mkdir -p [[Struktur|$VDRCONFIG]]/plugins/text2skin
 
  mkdir -p [[Struktur|$VDRCONFIG]]/plugins/text2skin
 
  tar xvzf /wo/auch/immer/demo.tgz -C [[Struktur|$VDRCONFIG]]/plugins/text2skin
 
  tar xvzf /wo/auch/immer/demo.tgz -C [[Struktur|$VDRCONFIG]]/plugins/text2skin
  
===[[Gentoo]]===
+
==Probleme und Wünsche==
Bei Gentoo werden die Skins im folgendem Verzeichnis abgelegt.
+
# {{bug tracker mantisbt}}
/usr/share/vdr/text2skin
+
# [http://projects.vdr-developer.org/projects/plg-text2skin/issues/new Ticket-System]
  
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.  
+
===Snapshot===
 +
git clone git://projects.vdr-developer.org/vdr-plugin-text2skin.git
  
<!-- ===Einstellungen=== -->
+
==Aktuelle Version==
<!-- ===Parameter=== -->
+
[http://projects.vdr-developer.org/attachments/download/783/vdr-text2skin-1.3.2.tgz Version 1.3.2]
<!-- ==Sonstiges== -->
+
  
==Probleme==
+
[http://www.vdr-portal.de/board17-developer/board97-vdr-core/p1284571-produktive-problem-und-pluginl%C3%B6sungen-f%C3%BCr-vdr-2-3-2-und-h%C3%B6her/#post1284571 Patch für VDR 2.3.2]
* {{bug tracker mantisbt}}
+
* Im Zusammenhang mit dem [[Pvrinput-plugin|pvrinput]]-Plugin kann es zu einem ruckelnden Bild und stotterndem Ton bei Analog-TV kommen. In diesem Fall das text2skin-Plugin vor dem pvrinput-Plugin laden, also im VDR-Aufruf -P'text2skin' vor -P'pvrinput' stellen.
+
  
===Tipps===
+
==Anpassung an 2.1.x==
====fehlende Schnittmarken 1.3.38+====
+
1.3.38+ Wenn die Schnittmarken beim Enigmaskin fehlen, diese Version verwenden
+
  
http://brougs78.vdr-developer.org/tmp/vdr-text2skin-1.1-cvs_ext-0.8.tgz
+
<pre>
 +
vdr3 text2skin-140929 # diff -u render.c.org render.c
 +
--- render.c.org       2014-09-29 21:02:50.000000000 +0200
 +
+++ render.c    2015-02-07 11:53:41.702665891 +0100
 +
@@ -837,7 +837,7 @@
 +
        switch (Token.Type) {
 +
        case tFreeDiskSpace: {
 +
                        int FreeMB;
 +
-                      VideoDiskSpace(&FreeMB);
 +
+                      cVideoDirectory::VideoDiskSpace(&FreeMB);
 +
                        Dprintf("FreeMB: %d, attrib type is %d\n", FreeMB,Token.Attrib.Type);
 +
                        return Token.Attrib.Type == aString && Token.Attrib.Text.length() > 0
 +
                              ? (cxType)DurationType(FreeMB * 60 / MB_PER_MINUTE,
 +
@@ -847,13 +847,13 @@
  
===Wunschliste===
+
        case tUsedDiskSpace: {
* {{bug tracker mantisbt}}
+
                        int FreeMB, UsedMB;
 +
-                      VideoDiskSpace(&FreeMB, &UsedMB);
 +
+                      cVideoDirectory::VideoDiskSpace(&FreeMB, &UsedMB);
 +
                        return (cxType)UsedMB;
 +
                }
  
===Snapshot===
+
        case tTotalDiskSpace: {
cvs -d:pserver:anoncvs@text2skin.vdr-developer.org:/var/cvsroot login
+
                        int FreeMB, UsedMB;
cvs -d:pserver:anoncvs@text2skin.vdr-developer.org:/var/cvsroot co text2skin
+
-                       VideoDiskSpace(&FreeMB, &UsedMB);
 +
+                      cVideoDirectory::VideoDiskSpace(&FreeMB, &UsedMB);
 +
                        return (cxType)FreeMB+UsedMB;
 +
                }
 +
</pre>
  
 
==Links==
 
==Links==
# [http://www.imagemagick.org ImageMagick]
+
# [http://projects.vdr-developer.org/projects/show/plg-text2skin Homepage]
# [http://enlightenment.org Imlib2]
+
# [[Skins]]
# [http://www.freetype.org Freetype]
+
# [http://expat.sourceforge.net Expat]
+
# [http://www.libpng.org/pub/png/libpng.html Libpng]
+
# [http://www.magoa.net/linux Homepage des Plugins]
+
# [http://www.vdrskins.org/vdrskins Skin-Galerie mit Upload-Möglichkeit]
+
 
# [http://vdr.bluox.org/download/Logos Hqlogos (FR)]
 
# [http://vdr.bluox.org/download/Logos Hqlogos (FR)]
# [http://www.vdr-portal.de/board/thread.php?threadid=41815 Tool mit dem die Logos bequem verlinkt werden können]
 
 
===Skins >= 1.0===
 
Bitte nur noch ''aktuelle'' Skins verlinken (text2skin-plugin '''>= 1.0'''), will heißen Skins inc
 
 
<?xml version="1.0"?>
 
AND
 
<display id="audioTracks">
 
 
# [http://www.egal-vdr.de/skins Egalstry]
 
# [http://www.saunalahti.fi/~rahrenbe/vdr/soppalusikka/files Enelchi]
 
# [http://brougs78.vdr-developer.org Enigma]
 
# [http://skins.vdr-developer.org Izegrey]
 
# [http://home.arcor.de/bjoern.sturzrehm/vdr/index.html Silvergreen]
 
# [http://skins.vdr-developer.org Lightblue]
 
# [http://www.motz.it/listing/vdr/Motz.tgz Motz]
 
# [http://vdr.bluox.org/vdr-text2skin.htm DeepBlue]
 
  
 
[[Kategorie:Plugins]]
 
[[Kategorie:Plugins]]
 +
[[Kategorie:Skin-Plugins]]
 +
[[Kategorie:XML-Skins]]
 
{{i18n|text2skin-plugin}}
 
{{i18n|text2skin-plugin}}
 
===Optimierte Version von chr13===
 
Auf [http://www.vdr-portal.de/board/thread.php?threadid=63969 vdr-portal.de] hat chr13 eine Perfomance optimierte Version von text2skin vorgestellt. [ftp://merkur.2y.net/pub/vdr/ Aktuelle Version] und [http://www.vdr-portal.de/board/attachment.php?attachmentid=16200 Patch] für VDR 1.5.11
 
 
Laut Erfahrungsberichten einiger User kann die CPU-Last etwa um den Faktor 5 senken. Das OSD wird somit spürbar schneller.
 

Aktuelle Version vom 28. Januar 2017, 14:42 Uhr

Inhaltsverzeichnis

[Bearbeiten] Beschreibung

Autor: Sascha Volkenandt

Dieses Plugin lädt xml-basierte Text-Skins zur Anpassung des On-Screen-Display (OSD) des VDR. Die Skins können zur Laufzeit des VDR per Menü ausgewählt werden. Alle Skins können mit Farbvarianten (Theme) erstellt werden.

[Bearbeiten] Status

Letztes Update 11/2011

[Bearbeiten] Bilder

Je nach Ausgabe-Plugin und -device werden unterschiedliche Speichergrößen bei den Skins benutzt werden:

  • DVB Full-Featured SD Karten können Skins mit einer max. Größe von 90 kB darstellen
  • DVB Full-Featured SD Karten mit 4 MB OSD RAM, normale Ausgabe-Plugins und die PVR350 können dagegen auch 1-MB-Skins darstellen.

Einige Skins (256) sind auch für DVB Full-Featured SD Karten nutzbar.

Hochauflösend
256 / 1 MB
16 / 90 kB

[Bearbeiten] Für Skin-Entwickler

Für Entwickler von Text2Skin Skins gibt es eine Dokumentation im text2skin-Paket und weiterhin

[Bearbeiten] Software-Anforderungen

  • ImageMagick
  • libpng
  • pkgconfig
  • imlib2 (optional)
  • freetype

[Bearbeiten] Konfiguration

Die Skins sind einfach in das Konfigurationsverzeichnis der Plugins zu entpacken. Bei einigen DIstributionen liegen diese Skins auch in /usr/share/vdr/text2skin.

mkdir -p $VDRCONFIG/plugins/text2skin
tar xvzf /wo/auch/immer/demo.tgz -C $VDRCONFIG/plugins/text2skin

[Bearbeiten] Probleme und Wünsche

  1. bug tracker mantisbt
  2. Ticket-System

[Bearbeiten] Snapshot

git clone git://projects.vdr-developer.org/vdr-plugin-text2skin.git

[Bearbeiten] Aktuelle Version

Version 1.3.2

Patch für VDR 2.3.2

[Bearbeiten] Anpassung an 2.1.x

vdr3 text2skin-140929 # diff -u render.c.org render.c
--- render.c.org        2014-09-29 21:02:50.000000000 +0200
+++ render.c    2015-02-07 11:53:41.702665891 +0100
@@ -837,7 +837,7 @@
        switch (Token.Type) {
        case tFreeDiskSpace: {
                        int FreeMB;
-                       VideoDiskSpace(&FreeMB);
+                       cVideoDirectory::VideoDiskSpace(&FreeMB);
                        Dprintf("FreeMB: %d, attrib type is %d\n", FreeMB,Token.Attrib.Type);
                        return Token.Attrib.Type == aString && Token.Attrib.Text.length() > 0
                               ? (cxType)DurationType(FreeMB * 60 / MB_PER_MINUTE,
@@ -847,13 +847,13 @@

        case tUsedDiskSpace: {
                        int FreeMB, UsedMB;
-                       VideoDiskSpace(&FreeMB, &UsedMB);
+                       cVideoDirectory::VideoDiskSpace(&FreeMB, &UsedMB);
                        return (cxType)UsedMB;
                }

        case tTotalDiskSpace: {
                        int FreeMB, UsedMB;
-                       VideoDiskSpace(&FreeMB, &UsedMB);
+                       cVideoDirectory::VideoDiskSpace(&FreeMB, &UsedMB);
                        return (cxType)FreeMB+UsedMB;
                }

[Bearbeiten] Links

  1. Homepage
  2. Skins
  3. Hqlogos (FR)
In anderen Sprachen