Graphtft-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(SuSE)
(Bilder)
 
(287 dazwischenliegende Versionen von 51 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{übersetzen|70}}
 
 
 
==Beschreibung==
 
==Beschreibung==
'''Autor:''' Lars Tegeler
+
'''Autor:''' Lars Tegeler, Jörg Wendel
  
Plugin welches über ein [[Framebuffer]]-Device oder eine zweite Fullfeature-DVB-Karte Informationen ausgibt.
+
Plugin welches über ein [[Framebuffer]]-Device, directFB, einer zweiten [[Full-featured-DVB-Karte]] oder, via [[#graphtft-fe_-_Das_X-Frontend|graphtft-fe]], einem X-Server die VDR Menüs und EPG Informationen ausgibt.
  
==Bilder==
+
Um die Wiedergabe via directFB nutzen zu können benötigt man eine Grafikkarte, die diese Funktion auch unterstützt. Eine Übersicht entsprechender Grafikkarten findet ihr [http://www.directfb.org/index.php?path=Support%2FGraphics hier].
{|
+
|[[Bild:graphtft-plugin-00.jpg|thumb|none|''Einstellungen'']]
+
|[[Bild:graphtft-plugin-01.jpg|thumb|none|''Theme "standard"'']]
+
|[[Bild:graphtft-plugin-02.jpg|thumb|none|''Theme "brst"'']]
+
|[[Bild:graphtft-plugin-03.jpg|thumb|none|''Theme "MetalShinyBlue"'']]
+
|-
+
|[[Bild:graphtft-plugin-04.jpg|thumb|none|''Theme "enigma"'']]
+
|[[Bild:graphtft-plugin-05.jpg|thumb|none|''Theme "deepblue"'']]
+
|[[Bild:graphtft-plugin-06.jpg|thumb|none|''Theme "bluepenguin"'']]
+
|[[Bild:psone-tft-320x240-0.jpg|thumb|none|''PSOne'']]
+
|-
+
|[[Bild:graphtft-plugin-07.gif|thumb|none|''VMware + Debian + VDR + xine + graphtft im x fenster'']]
+
||[[Bild:tft-800x480-0.jpg|thumb|none|''7", 800x480 Pixel'']]
+
|}
+
  
==Hardwareanforderungen==
+
===Status===
* TFT-Display
+
Letztes Update 04/2013
  
==Softwareanforderungen==
+
==Bilder==
* imlib2
+
;Plugin
* ffmpeg Version 0.4.8 oder 0.4.9pre1 - Läuft nicht mit der CVS Version!
+
<gallery>
* fonts (vera)
+
Graphtft-plugin-00.jpg
 +
Graphtft-plugin-01.jpg
 +
Graphtft-plugin-02.jpg
 +
Graphtft-plugin-04.jpg
 +
Graphtft-plugin-05.jpg
 +
Graphtft-plugin-06.jpg
 +
Graphtft-plugin-09.jpg
 +
</gallery>
  
Zum Compilieren wird eine gcc Version 3.X.X oder 2.X.X benötigt ('gcc --version' zeigt die installierte Version).
+
;Theme "PearlHD" (yaVDR)
 +
<gallery>
 +
Bild:graphtft-plugin-theme-pearlhd-101.png|Standard Ansicht
 +
Bild:graphtft-plugin-theme-pearlhd-102.png|Hauptmenü
 +
Bild:graphtft-plugin-theme-pearlhd-103.png|OSD-Nachrichten
 +
Bild:graphtft-plugin-theme-pearlhd-104.png|Menü
 +
Bild:graphtft-plugin-theme-pearlhd-105.png|Programm
 +
</gallery>
  
==Installation==
+
;Theme-Deepblue
===Source===
+
<gallery>
<pre>
+
Graphtft-plugin-theme-deepblue-00.jpg
cd $SOURCEDIR
+
Graphtft-plugin-theme-deepblue-01.jpg
tar xvzf imlib2-<VERSION>.tar.gz
+
Graphtft-plugin-theme-deepblue-02.jpg
cd imlib2-<VERSION>
+
Graphtft-plugin-theme-deepblue-03.jpg
./configure --prefix=/usr/local
+
Graphtft-plugin-theme-deepblue-04.jpg
make
+
Graphtft-plugin-theme-deepblue-05.jpg
make install
+
Graphtft-plugin-theme-deepblue-06.jpg
ldconfig
+
Graphtft-plugin-theme-deepblue-07.jpg
cd -
+
Graphtft-plugin-theme-DeepBlue-300.jpg
 +
Graphtft-plugin-theme-DeepBlue-301.jpg
 +
Graphtft-plugin-theme-DeepBlue-302.jpg
 +
</gallery>
  
tar xvzf ffmpeg-<VERSION>.tar.gz
+
;Theme-AVP
ln -s ffmpeg-<VERSION> ffmpeg
+
<gallery>
cd ffmpeg
+
Graphtft-plugin-theme-avp-00.jpg
./configure --prefix=/usr/local \
+
Graphtft-plugin-theme-avp-01.jpg
            --enable-shared
+
Graphtft-plugin-theme-avp-02.jpg
make
+
Graphtft-plugin-theme-avp-03.jpg
make install
+
Graphtft-plugin-theme-avp-04.jpg
ldconfig
+
Graphtft-plugin-theme-avp-05.jpg
</pre>
+
Graphtft-plugin-theme-avp-06.jpg
 +
Graphtft-plugin-theme-avp-07.jpg
 +
Graphtft-plugin-theme-avp-08.jpg
 +
Graphtft-plugin-theme-avp-09.jpg
 +
Graphtft-plugin-theme-avp-100.jpg
 +
Graphtft-plugin-theme-avp-101.jpg
 +
Graphtft-plugin-theme-avp-102.jpg
 +
Graphtft-plugin-theme-avp-103.jpg
 +
Graphtft-plugin-theme-avp-104.jpg
 +
Graphtft-plugin-theme-avp-105.jpg
 +
Graphtft-plugin-theme-avp-106.jpg
 +
Graphtft-plugin-theme-avp-107.jpg
 +
Graphtft-plugin-theme-avp-108.jpg
 +
Graphtft-plugin-theme-avp-109.jpg
 +
Graphtft-plugin-theme-avp-300.jpg
 +
Graphtft-plugin-theme-avp-301.jpg
 +
Graphtft-plugin-theme-avp-302.jpg
 +
</gallery>
  
===[[Arch-Linux]]===
+
;Theme-DeepPurple
pacman -S imlib2 ffmpeg
+
<gallery>
 +
Graphtft-plugin-theme-DeepPurple-101.jpg
 +
Graphtft-plugin-theme-DeepPurple-102.jpg
 +
Graphtft-plugin-theme-DeepPurple-109.jpg
 +
Graphtft-plugin-theme-DeepPurple-201.jpg
 +
Graphtft-plugin-theme-DeepPurple-301.jpg
 +
</gallery>
  
===[[Crux]]===
+
;Theme-poetter
prt-get depinst imlib2 ffmpeg
+
<gallery>
 +
Graphtft-plugin-theme-poetter-00.jpg
 +
Graphtft-plugin-theme-poetter-01.jpg
 +
Graphtft-plugin-theme-poetter-02.jpg
 +
Graphtft-plugin-theme-poetter-03.jpg
 +
Graphtft-plugin-theme-poetter-04.jpg
 +
Graphtft-plugin-theme-poetter-05.jpg
 +
Graphtft-plugin-theme-poetter-101.jpg
 +
Graphtft-plugin-theme-poetter-102.jpg
 +
Graphtft-plugin-theme-poetter-103.jpg
 +
Graphtft-plugin-theme-poetter-104.jpg
 +
</gallery>
  
===[[Debian]]===
+
;Theme-izeman
Quelle: http://www.vdrwiki.com/index.php/M%C3%B3dulo_osdpip
+
<gallery>
apt-get install libimlib2-dev ffmpeg libavcodeccvs libavcodeccvs-dev
+
Graphtft-plugin-theme-izeman-101.jpg
 +
Graphtft-plugin-theme-izeman-102.jpg
 +
Graphtft-plugin-theme-izeman-103.jpg
 +
Graphtft-plugin-theme-izeman-104.jpg
 +
</gallery>
  
===[[Gentoo]]===
+
==Hardwareanforderungen==
emerge a52dec imlib2 ffmpeg
+
* {{wikipedia|TFT-Display}}
 +
* [[Framebuffer]]-fähige [[Grafikkarte]]
  
===[[SuSE]]===
+
==Softwareanforderungen==
yast -i imlib2-devel <BITTE ERGÄNZEN>
+
* [http://ffmpeg.org/ FFmpeg]
 +
* [http://docs.enlightenment.org/api/imlib2/html/ imlib2]
  
==Optionen==
+
==Installation==
{| border=1 cellpadding=2 cellspacing=0
+
===Allgemeines===
|-
+
* VDR muss gepatched werden. Der Patch ist im Extension Patch enthalten und nicht einzeln verfügbar.
|bgcolor=#efefef|HAVE_IMLIB = 1
+
|to enable support for dvb- and fb-devices.
+
|-
+
|bgcolor=#efefef|HAVE_DFB = 1<br>HAVE_SOFTMPEG = 1
+
|Install directFB and libsoftmpeg to use an directFB-output-device.<br>You can use only directFB without ffmpeg, imlib and libsoftmpeg, but without Pbp.
+
|-
+
|bgcolor=#efefef|HAVE_FAST_MEMCPY = 1
+
|USE FASTMEMCPY WITH CPUACCEL
+
|-
+
|bgcolor=#efefef|HAVE_PVRFB = 1
+
|FIX FOR USING PVR350-FRAMEBUFFER
+
|-
+
|bgcolor=#efefef|DEBUG=1
+
|Enable Debuging
+
|}
+
  
==Patches==
+
Nach dem patchen des VDR müssen immer '''ALLE''' Plugins neu übersetzt werden!
* vdr >= '''1.3.18''' {{spiegel 1|vdr-graphtft}}
+
 
 +
# VDR patchen
 +
# epgserach-0.9.24 patchen (sofern erforderlich)
 +
# graphTFT >= 0.2.1 Sourcen nach .../VDR/PLUGINS/src kopieren und verlinken
 +
# alte Themes unter .../vdr/plugins/graphTFT/themes/ entfernen '''(nicht nur umbenennen - wirklich entfernen)'''
 +
# zur graphTFT Version passenden Theme unter .../vdr/plugins/graphTFT/themes/ ablegen.
 +
# EPG Bilder werden unter /video0/epgimages gesucht. Sollten die Images wo anders liegen, bitte in /video0 entsprechend verlinken. Ab 0.3.0 sind weitere Suchpfade vorgesehen.
 +
# Nun den VDR selbst und '''ALLE''' vorhandenen Plugins übersetzen, in die Ausführungsverzeichnisse kopieren und den VDR verlinken.
  
 
==Konfiguration==
 
==Konfiguration==
Das Plugin benötigt Fonts, laut README -> Vera.ttf
+
===Spezielle Fonts===
 +
 
 +
Ab 0.2.0 ist der Font-Suchpfad im Theme frei konfigurierbar. Theme Entwickler sollten die vom ihrem Theme benötigten Fonts, um Abhängigkeiten so gering wie möglich zu halten, mit dem Theme ausliefern.<br />Aktuelle Versionen von DeepBlue und Alien vs. Predator liefern einen eigenen auf die graphTFT Belange zugeschnittenen Font (graphTFT.ttf) mit.
  
 +
Bis zur Version 0.2.0 müssen alle von den Thems benötigten Fonts in folgendem Ordner bereit gestellt werden (am Beispiel Vera):
 
  mkdir -p [[Struktur|$VDRCONFIG]]/plugins/graphTFT/fonts
 
  mkdir -p [[Struktur|$VDRCONFIG]]/plugins/graphTFT/fonts
 
  locate Vera.ttf
 
  locate Vera.ttf
Zeile 100: Zeile 136:
 
  cp /usr/X11R6/lib/X11/fonts/truetype/Vera.ttf [[Struktur|$VDRCONFIG]]/plugins/graphTFT/fonts
 
  cp /usr/X11R6/lib/X11/fonts/truetype/Vera.ttf [[Struktur|$VDRCONFIG]]/plugins/graphTFT/fonts
  
Findet Ihr mit dem Suchtool (locate) keine Fonts auf dem System, kann man sie auch nachinstallieren.
+
Fehlen Fonts auf dem System, kann man sie auch nachinstallieren.
 
+
  Debian -> apt-get install ttf-bitstream-vera
  Debian -> apt-get install bitstream-vera
+
 
  SuSE  -> yast -i bitstream-vera
 
  SuSE  -> yast -i bitstream-vera
 
  Gentoo -> emerge ttf-bitstream-vera
 
  Gentoo -> emerge ttf-bitstream-vera
  
Oder mal google bemühen... danach die Schritte oben erneut ausführen.
 
  
Zu den Skins, diese sind unterhalb von '''[[struktur|../plugins/graphTFT/themes]]''' zu entpacken.
+
===Themes===
 +
Themes werden vom graphTFT Plugin im Verzeichnis '''[[struktur|$VDRCONFIG/plugins/graphTFT/themes]]''' erwartet.
  
 
  mkdir -p [[Struktur|$VDRCONFIG]]/plugins/graphTFT/themes
 
  mkdir -p [[Struktur|$VDRCONFIG]]/plugins/graphTFT/themes
  tar jxvf /wo/auch/immer/standard.tar.bz2 -C [[Struktur|$VDRCONFIG]]/plugins/graphTFT/themes
+
  tar jxvf /wo/auch/immer/standard-theme-<VERSION>.tar.bz2 -C [[Struktur|$VDRCONFIG]]/plugins/graphTFT/themes
 +
 
 +
===Zusammenspiel mit anderen Plugins===
 +
Um graphTFT zur Zusammenarbeit mit anderen Plugins wie z.B. epgsearch oder extrecmenu zu bewegen müssen auch diese,
 +
je nach Version, gepatched werden. In neueren Versionen von epgsearch, extrecmenu und music sind die nötigen Erweiterungen
 +
bereits enthalten, hier ist nur darauf zu achten, dass sie ggf. mit der entsprechenden Makefile Schaltern übersetzt wurden bzw. werden.
 +
 
 +
Die Darstellung von ID3Tag Daten in Zusammenspiel mit dem music Plugin, funktioniert erst ab der music Plugin Version 0.4.0-b3.
 +
music Plugin Version 0.4.0-b3 wiederum läuft erst ab VDR 1.6.0.
 +
 
 +
Ab Version 0.2.0 bitte auch unbedingt den Abschnitt [[#Probleme|Probleme]] beachten.
 +
 
 +
Ab Version 0.3.0 unterstützt graphTFT Plugin auch direkt Touchscreens. Das touchTFT Plugin wird dann nicht mehr benötigt und '''muss''', um Kollisionen zu vermeiden, deinstalliert werden. Siehe auch [[#Touchscreen_Einrichtung|Touchscreen Einrichtung]]
  
==Einstellungen==
+
===Einstellungen===
{| border=1 cellpadding=2 cellspacing=0
+
Folgende Einstellungen gibt es im Setup
 +
{| class="wikitable"
 
|-
 
|-
|bgcolor=#efefef|Hide Main menu entry
+
!Parameter
|Soll der punkt im Hauptmenu ausgeblendet werden.
+
!Funktion
 
|-
 
|-
|bgcolor=#efefef|Show Mute symbol permanent
+
| bgcolor=#efefef | Aussehen:
|???
+
| Theme Auswahl
 
|-
 
|-
|bgcolor=#efefef|Title view type
+
| bgcolor=#efefef | Hauptmenueintrag verstecken:
|wert 0: alles so wie gehabt
+
| OSD-Hauptmenü Eintrag ausblenden
wert 1: es werden die anzahl zeichen, die unter title view lenght angegeben sind, angezeigt gefolgt von drei punkten
+
wert 2: der sendungstitel wird hin und her gescrollt. mittels scroll time und scroll count kann die geschwindigkeit so wie die scroll-anzahl konfiguriert werden.
+
wert 3: der sendungstitel wird wie bei einem ticker von rechts kommend nach links durchgeschoben. mittels scroll time und scroll count kann die geschwindigkeit so wie die scroll-anzahl konfiguriert werden.
+
 
+
hinweis: ist der sendungstitel und der folge sendungstitel länger als die eingestellte titel länge, so wird nur der sendungstitel gescrollt. ist hingegen nur der folge sendungstitel länger, so wird dieser gescrollt.
+
 
|-
 
|-
|bgcolor=#efefef|Title view length
+
| bgcolor=#efefef| Konvertiere ISO zu UTF-8:
|gibt die anzahl zeichen an, die vom sendungstitel angezeigt werden sollen. mögliche werte sind von 10 bis 50 zeichen. diese option wird nur angewendet, wenn bei der option title view type der wert 2 oder 3 eingestellt wurde.
+
| Texte vor der Anzeige in UTF-8 konvertieren. Nur aktivieren wenn UTF-8 Konvertierung nötig und der der VDR nicht schon mit UTF-8 läuft!
 
|-
 
|-
|bgcolor=#efefef|Scroll Time (ms)
+
| bgcolor=#efefef| Spectrum Analyzer:
|mit dieser option wird die geschwindigkeit, mit der der sendungstitel bewegt werden soll eingestellt. einzustellende werte sind von 10 bis 1000 millisekunden. diese option wird nur bei dem view type 2 und 3 berücksichtigt.
+
| Spektrum Analyzer aktivieren
 
|-
 
|-
|bgcolor=#efefef|Scroll Count
+
||'''Dump Bild'''
|hiermit stellen sie die anzahl der scroll durchgänge ein. gültige werte sind von 0 bis 1000. bei der einstellung 0 scrollt der sendungstitel endlos (view type 2 und 3)
+
|  
 
|-
 
|-
|bgcolor=#efefef|Dump Image to File
+
| bgcolor=#efefef|Dump Bild in Datei speichern:
|Sollen die für das TFT erstelle grafiken zusätzlich als datei abgelegt werden.
+
| Die graphTFT Ausgabe automatisch in regelmäßigen Abständen als graphTFT.png Datei unter /tmp abspeichern<br />Einmal eingestellt werden die Dump Bilder selbstständig, bis zum ausschalten der Funktion hier im Setup, immer wieder unter gleichen Namen, wobei sie sich gegenseitig überschreiben damit der Plattenplatz nicht ausgeht, erstellt. Zur Erzeugung ist außer diesem Eintrag hier, keine weitere manuelle Aktion notwendig.<br />Da diese Funktion den VDR kontinuierlich belastet, sollte sie nur dann aktiviert werden, wenn man auch Dump Images, z.B. zur Theme erstellung oder Fehlerdokumentation, benötigt.
 
|-
 
|-
|bgcolor=#efefef|Dump Refresh
+
| bgcolor=#efefef|Dump alle [Sek] erneuern:
|Wie oft soll die grafik abgelegt werden
+
| In welchem Zyklus (Sekunden) soll der graphTFT Screenshot erstellt werden?
 
|-
 
|-
|bgcolor=#efefef|Dump Image Width
+
| bgcolor=#efefef|Dump Bild Breite:
|Breite der abgespeicherte Grafik.
+
| Breite der abgespeicherten Grafik.
 
|-
 
|-
|bgcolor=#efefef|Dump Image height
+
| bgcolor=#efefef|Dump Bild Hoehe:
|Höhe der abgespeicherte Grafik.
+
| Höhe der abgespeicherten Grafik.
 
|-
 
|-
|bgcolor=#efefef|Convert IOS to UTF-8
+
||'''Snapshot'''
|???
+
| Schnappschüsse für Bilder von Sendungen und Aufnahmen zur Anzeige in den OSD Menüs
 
|-
 
|-
|bgcolor=#efefef|X Offset for OSD
+
| bgcolor=#efefef|Snapshot Breite:
|???
+
| Gewünschte Breite der Snapshot-Bilddatei
 
|-
 
|-
|bgcolor=#efefef|Y Offset for OSD
+
| bgcolor=#efefef|Snapshot Hoehe:
|???
+
| Gewünschte Höhe der Snapshot-Bilddatei
 
|-
 
|-
|bgcolor=#efefef|Timeout for OSD Messages
+
| bgcolor=#efefef|Snapshot JPEG Qualitaet:
|Wie lange sollen OSD meldungen angezeigt werden
+
| Kompression/Qualität des Snapshot Bildes von 0-100%. Je höher die Qualität, desto größer das Bild.
 +
|-
 +
| bgcolor=#efefef|Snapshot Ablagepfad:
 +
| Ordner in welchem die Snapshots abgelegt werden sollen.
 
|-
 
|-
 
||'''DVB Device'''
 
||'''DVB Device'''
 
|
 
|
 
|-
 
|-
|bgcolor=#efefef|Use Stillpicture
+
| bgcolor=#efefef|Benutze StillPicture:
|Soll die Pause funktion des DVB-treibers benutzt werden um die grafik anzuzeigen
+
| Die Pausefunktion des DVB-Treibers wird benutzt, um die Grafik anzuzeigen.
 
|-
 
|-
|bgcolor=#efefef|Refresh
+
| bgcolor=#efefef|Aktualisieren:
|???
+
| Refresh Rate der DVB Ausgabe
 
|-
 
|-
 
||'''DVB/FB Device'''
 
||'''DVB/FB Device'''
 
|
 
|
 
|-
 
|-
|bgcolor=#efefef|X Offset
+
| bgcolor=#efefef|Tausche OSD:
|Bildposition vertikal
+
| Bild 180° spiegeln
 
|-
 
|-
|bgcolor=#efefef|Y Offset
+
| bgcolor=#efefef|Breite:
|Bildposition horizontal
+
| Display Breite
 
|-
 
|-
|bgcolor=#efefef|Border to Height
+
| bgcolor=#efefef|Hoehe:
|Bildhöhe
+
| Display Höhe
 
|-
 
|-
|bgcolor=#efefef|Border to Width
+
| bgcolor=#efefef|X Koordinaten Abweichung:
|Bildbreite
+
| Bildposition vertikal
 
|-
 
|-
||'''directFB Device'''
+
| bgcolor=#efefef|Y Koordinaten Abweichung:
|(nur wenn option HAVE_DFB=1 im Makefile gesetzt) ???
+
| Bildposition horizontal
 +
|-
 +
| bgcolor=#efefef|Rahmen zur Hoehe:
 +
| Rahmen oben/unten
 +
|-
 +
| bgcolor=#efefef|Rahmen zur Breite:
 +
| Rahmen rechts/links
 +
|-
 +
||'''TCP Verbindung'''
 +
| Parameter der TCP Verbindung zum optionalen X-Frontend
 +
|-
 +
| bgcolor=#efefef|JPEG Qualitaet:
 +
| JPEG Übertragungsqualität (0-100); schlechtere Qualität -> schnellere Übertragung ;)
 +
|-
 +
||'''touch Device'''
 +
|
 +
|-
 +
| bgcolor=#efefef|Device:
 +
| Device des Touch-Displays z.B. /dev/input/event?
 
|-
 
|-
 
||'''Debug'''
 
||'''Debug'''
|(nur wenn option DEBUG=1 im Makefile gesetzt)
+
|  
 
|-
 
|-
|bgcolor=#efefef|Debug Logger
+
| bgcolor=#efefef|Log Device:
|Soll in /tmp/xxx.log oder in syslog geloggt werden.
+
| Auswahl des Log-Device
 
|-
 
|-
|bgcolor=#efefef|Debug Level
+
| bgcolor=#efefef|Debug Level:
|Wie viel soll geloggt werden.
+
| Wie viel soll geloggt werden.
 
|}
 
|}
  
==Parameter==
+
===Parameter===
{| border=1 cellpadding=2 cellspacing=0
+
Unterstützte Kommandozeilenparameter:
|- bgcolor=#efefef
+
{| class="wikitable"
 +
|-
 
!Parameter (kurz)
 
!Parameter (kurz)
 
!Parameter (lang)
 
!Parameter (lang)
!Beschreibung
+
!Ausgabe über
 +
!<DEV> Wert
 
|-
 
|-
| -d DEV || --device=DEV || sets the device i.e.: '''/dev/fb0''' or for VDR-Dev.:  '''vdr/1'''
+
| -d ''<DEV>'' || --device=''<DEV>'' ||[[Full-featured-DVB-Karte|FF-DVB-Karte]]:<br />DirectFB:<br />[[Framebuffer]] (Grafikkarte):<br />Aus: || ''vdr/1''<br />''directFB''<br />''/dev/fb0''<br /> ''none''
 
|}
 
|}
 +
Ist kein Device angegeben wird beim Start automatisch in dieser Reihenfolge gesucht:
 +
freie FF-DVB Karte, directFB, FB.<br />
 +
Die X Ausgabe funktioniert, sofern ein-compiliert, parallel und muss nicht extra angegeben werden.
  
<!-- ==Bedienung== -->
+
===OSD-Hauptmenüeintrag===
<!-- ==[[SVDRP]] Befehle== -->
+
  
==Probleme==
+
graphTFT verfügt, sofern es im [[#Einstellungen|Setup]] enstprechend aktiviert wird, über ein eigenes OSD-Menü mit folgenden Punkten:
'''Kompilieren unter Suse'''
+
  
Wenn man die Fehlermeldung "cannot find -lX11" bekommt, muss das xorg-x11-devel Paket nachinstalliert werden.
+
{| class="wikitable"
<pre>yast -i xorg-x11-devel</pre>
+
|-
 +
!OSD-Menü
 +
!Verwendung
 +
|-
 +
| bgcolor=#efefef | Themes neu laden
 +
| Lädt das eingestellte Theme File neu, ohne das der VDR neu gestartet werden muss. Sehr hilfreich bei der Erstellung neuer Themes.<br />Entspricht [[#SVDRP_Unterst.C3.BCtzung|SVDRP Befehl]]: RELOAD
 +
|-
 +
| bgcolor=#efefef | Anzeige aktualisieren
 +
| Aktiviert/Deaktiviert die Anzeigeaktualisierung.<br />Entspricht [[#SVDRP_Unterst.C3.BCtzung|SVDRP Befehl]]: ACTIVE
 +
|-
 +
| bgcolor=#efefef | Standardanzeige
 +
| Umschaltung und Festlegung der graphTFT Standardanzeige (wird in setup.conf als Default gespeichert).<br />Die Darstellung der gewählten Anzeige wird in den Theme Dateien in den Abschnitten [normal...] festgelegt. Default verfügbare Darstellungen sind: Standard, Dia, Detail, Clock und Sysinfo.<br />Entspricht [[#SVDRP_Unterst.C3.BCtzung|SVDRP Befehl]]: VIEW
 +
|-
 +
| bgcolor=#efefef | Snapshot
 +
| (Roter Button) Erzeugt ein Bildschirmfoto der laufenden Wiedergabe (TV-Bild) in dem im [[#Einstellungen|Setup]] festgelegten Verzeichnis (Snapshot path).<br />Snapshot erzeugt '''kein''' Bild der graphTFT Ausgabe. Ein graphTFT-Screenshot wird nur über die im [[#Einstellungen|Setup]] unter '''Dump Image''' vorzunehmenden Einstellungen erreicht.
 +
|-
 +
|}
  
Bei zu hoher Systemauslastung bitte in der display.c folgendes hinzufügen ("timeMS.set()").
+
===SVDRP Unterstützung===
Sollte dann ungefähr so aussehen:
+
  
<pre>
+
Einige graphTFT Funktionen lassen sich auch über [[SVDRP]] Befehle ausführen.
d(4, "updating display\n");
+
timeMs.Set();
+
// milliseconds elapsed since last update
+
elapsed = wait ? timeMs.Elapsed() - wait : 0;
+
</pre>
+
  
<pre>
+
Allgemeiner Aufruf:
Fehler : "ERROR: attempt to open OSD while it is already open - using dummy OSD!"
+
und "ERROR: OSD opened without closing previous OSD!"
+
</pre>
+
Es wird höchstwahrscheinlich eine zweite DVB-Karte für die Ausgabe auf ein TFT benutzt.
+
  
Diese fehlermeldung kommt von Text2skin, das Text2Skin-OSD ist auch nicht mehr da.
+
  svdrpsend.pl plug graphtft [Befehl] [Option]
In der README ist ein patch vdr-1.3.15-getosd.diff erwähnt das man nutzen sollte. Dies ist aber nur notwendig wenn ihr das Text2Skin plugin '''nicht''' geladen habt.  So bald das Text2Skin plugin aktiv ist wird das OSD an das graphTFT plugin übergeben.
+
  
<!-- ==Tipps== -->
+
{| class="wikitable"
 +
|-
 +
!Befehl
 +
!Optionen
 +
!Verwendung
 +
|-
 +
| bgcolor=#efefef | ACTIVE
 +
|
 +
| Aktiviert/Deaktiviert die Anzeigeaktualisierung. ACTIVE funktioniert nur zusammen mit einer der folgenden Optionen
 +
|-
 +
| bgcolor=#efefef | ACTIVE
 +
| on
 +
| Aktiviert die Anzeigeaktualisierung.
 +
|-
 +
| bgcolor=#efefef | ACTIVE
 +
| off
 +
| Deaktiviert die Anzeigeaktualisierung.
 +
|-
 +
| bgcolor=#efefef | NORMALVIEW
 +
|
 +
| Wurde mit graphTFT 0.2.2 gegen den Befehl VIEW ersetzt. Die Optionen sind die gleichen wie bei VIEW.
 +
|-
 +
| bgcolor=#efefef | REFRESH
 +
|
 +
| Bewirkt eine erzwungene Aktualisierung der angezeigten Informationen.
 +
|-
 +
| bgcolor=#efefef | RELOAD
 +
|
 +
| Lädt das eingestellte Theme File neu, ohne das der VDR neu gestartet werden muss. Sehr hilfreich bei der Erstellung neuer Themes.
 +
|-
 +
| bgcolor=#efefef | VIEW
 +
|
 +
| Umschaltung und Festlegung der graphTFT Standardanzeige (wird in setup.conf als Default gespeichert).<br />Die Darstellung der gewählten Anzeige wird in den Theme Dateien in den Abschnitten [normal...] festgelegt. VIEW funktioniert nur zusammen mit einer der folgenden Optionen.<br /> Ab 0.3.1.:Wird der VIEW Befehl ohne weiteren Parameter aufgerufen, wird auf die jeweils nächste Ansicht umgeschaltet. Einzeln kann man die Ansichten mit den nachfolgenden folgenden Optionen gezielt umschalten.
 +
|-
 +
| bgcolor=#efefef | VIEW
 +
| Standard
 +
| Schaltet die Darstellung des Displays auf Standard-Ansicht um.<br />Die Standardansicht zeigt eine Übersicht über das laufende und nachfolgende Programm sowie Programmoptionen wie z.B. Dolby Digital oder Zweikanal Tonübertragung.
 +
|-
 +
| bgcolor=#efefef | VIEW
 +
| Detail
 +
| Ab 0.3.1.: Schaltet die Darstellung des Displays auf EPG-Detail-Ansicht um.<br />Die EPG-Detailansicht zeigt die EPG-Informationen und EPG-Bilder zum laufenden Programm großformatig an. Liegen für die Sendung mehrere EPG-Bilder vor, wird die Anzeige in regelmäßigen Abständen neue Bilder des Programms anzeigen.
 +
|-
 +
| bgcolor=#efefef | VIEW
 +
| Dia
 +
| Schaltet die Darstellung des Displays auf Dia-Ansicht um.<br />Die Dia Darstellung dient zur Ausgabe von beliebigen Bildern auf dem TFT. Mit diesem SVDRP Befehl ist es - durch Einsatz eines externen Scripts - möglich, das Display zusätzlich zur Programmanzeige auch als digitalen Bilderrahmen nutzen zu können. Ein kommentiertes Beispielscript liegt den graphTFT Sourcen unter '''scripts/dia.sh''' bei.
 +
|-
 +
| bgcolor=#efefef | VIEW
 +
| Clock
 +
| Schaltet die Darstellung des Displays auf Uhren-Ansicht um.<br />Bei der Clock-Ansicht bildet eine große Uhren- und Datumsanzeige den Bildmittelpunkt. Darüber hinaus zeigt eine Übersicht über das laufende und nachfolgende Programm an.
 +
|-
 +
| bgcolor=#efefef | VIEW
 +
| Sysinfo
 +
| Schaltet die Darstellung des Displays auf Systeminfo-Ansicht um.<br />Sysinfo bietet einen Überblick über die genutzten und freien Systemressourcen, wie z.B. der aktuellen Prozessorauslastung, des VDRs. Es werden keine Angaben zum laufenden Programm angezeigt.
 +
|-
 +
 
 +
|}
 +
 
 +
===Touchscreen Einrichtung===
 +
Ab Version 0.3.0 verfügt graphTFT über eine eigene Schnittstelle für Touchscreen Displays.<br/>
 +
Das bisher dafür notwendige [[Touchtft-plugin|touchTFT Plugin]] wird nun nicht mehr benötigt und '''muss''', um Kollisionen zu vermeiden, sofern vorhanden deinstalliert werden.
 +
 
 +
Zur Einrichtung des Touchscreens ist im graphTFT-Setup zunächst das Event-Device des Touchscreens anzugeben.<br/>
 +
Die Speicherung und Aktivierung aller Einstellungen erfolgt erst, nachdem das graphTFT Setup '''mit OK verlassen''' wurde.<br/>
 +
Ist dies geschehen, folgt die Kalibrierung. Diese wird durch den gelben "Kalibrierung" Button gestartet.<br/>
 +
Es erscheint ein Kalibrierungsbildschirm mit entsprechenden Anweisungen, welche mit dem Anklicken des Kalibrierungssymbols in der linken oberen Ecke beginnen.
 +
 
 +
Bei einigen Touchscreens sind die X und Y Koordinaten vertauscht. Das Kalibrierungsprogramm erkennt dies automatisch, sobald die rechte obere Ecke "getouched" wurde. Ist dieser der Fall, springt der Cursor in die linke obere Ecke zurück und die Kalibrierung beginnt, diesmal unter Berücksichtigung der getauschten X/Y Koordinaten, erneut.
 +
 
 +
Ist der Cursor in allen vier Ecken berührt worden, ist die Kalibrierung abgeschlossen.
 +
 
 +
Nun kann zum Test der Funktion und Genauigkeit wahllos auf dem Bildschrim "rumgetouched" werden. Die gewählten Koordinaten werden angezeigt und wenn alles richtig Funktioniert hat, sollte der Cursor auch an die berührte Stelle springen. Tut er es nicht, sollte die Kalibrierung noch einmal wiederholt werden.
 +
 
 +
Der Kalibrierungsvorgang wird wieder mit dem gelben Button (jetzt mit "Stop" beschriftet) beendet.
 +
 
 +
Möchte man die Kalibrierung seines Displays später noch einmal testen, gelangt man über den grünen Button "Test" in einen entsprechenden Testmodus. Es erscheint das gleiche Bild wie bei der Kalibrierung, es werden hier aber nur Koordinaten angezeigt und keine vorhandenen Werte überschrieben. Auch hier beendet der gelbe Button den Testvorgang.
 +
 
 +
Ein recht ausführliches Beispiel mit vielen Tipps für ein System mit TouchTFT Display findet man auch [[Beispielkonfiguration_-_Thermaltake_DH_102 | hier im Wiki]].
 +
 
 +
====Dauerhaftes Touch Device====
 +
 
 +
Bei einem Reboot wird für jedes am Linux-System angeschlossene Gerät ein entsprechendes Device zugeteilt. Die Device/Gerätezuteilung wird dynamisch bei jedem reboot erneut vorgenommen. In einigen Fällen ist es daher möglich, dass sich dabei die Devicenummer des Touchscreens nach einem reboot ändert.
 +
 
 +
Um das Touchscreen immer wieder auf dem gleichen Device ansprechen zu können, lohnt sich die Einrichtung einer udev Event-Regel.
 +
 
 +
Diese Regel erkennt das gesuchte Gerät und erstellt einen Link auf das automatisch vom System zugeteilte Device.<br />
 +
Angesprochen wird dann nur noch dieser Link und nicht mehr das automatisch zugeteilte Device.
 +
 
 +
Das Vorgehen (die Beschreibung erfolgt auf Basis von easyVDR 0.6.2. Sie kann auf anderen Systemen leicht anders aussehen.):
 +
 
 +
Zunächst muss man ein eindeutiges Identifikationskriterium für das Touchscreen ermitteln.
 +
Dies geschieht durch den Befehl
 +
 
 +
lsusb -v | more
 +
 
 +
Man erhält eine Ausgabe in etwas dieser Form
 +
 
 +
Bus 004 Device 002: ID 15c2:0034 SoundGraph Inc.
 +
Device Descriptor:
 +
  bLength                18
 +
  bDescriptorType        1
 +
  bcdUSB              1.10
 +
  bDeviceClass            0 (Defined at Interface level)
 +
  bDeviceSubClass        0
 +
  bDeviceProtocol        0
 +
  bMaxPacketSize0        8
 +
  idVendor          0x15c2 SoundGraph Inc.
 +
  idProduct          0x0034
 +
  bcdDevice            0.14
 +
  iManufacturer          0
 +
  iProduct                0
 +
  iSerial                0
 +
  bNumConfigurations      1
 +
 
 +
Eindeutig identifizieren ließe sich dieser (Soundgraph) Touchscreen über die
 +
 
 +
idVendor = 15c2<br />idProdukt = 0034
 +
 
 +
Hieraus lässt sich nun eine entsprechende Regel erstellen:
 +
 
 +
KERNEL=="event*", SUBSYSTEM=="input", SYSFS{idVendor}=="15c2", SYSFS{idProduct}=="0034", SYMLINK+="input/mein_touch_device"
 +
 
 +
Das am meisten verwendete Touchscreen Display ist das eGalax Display. Für dieses Display sieht die Einrichtung so aus:
 +
 
 +
KERNEL=="event*", SUBSYSTEM=="input", SYSFS{idVendor}=="0eef", SYSFS{idProduct}=="0001", SYMLINK+="input/mein_touch_device"
 +
 
 +
'''Alternativ''' kann die Identifikation grundsätzlich auch durch andere Werte erfolgen. Dies ist z.B. dann notwendig, wenn ein USB-Gerät über mehrere Devices, wie z.B. Fernsteuerungsempfänger oder Tastaturen (Gehäusetasten), verfügt.<br />Das könnte dann wie folgt aussehen:
 +
 
 +
KERNEL=="event*", SUBSYSTEM=="input", ATTRS{name}=="USB Touchscreen 15c2:0034", SYMLINK+="input/mein_touch_device"
 +
 
 +
Diese Regel wird in einer udev-Datei hinterlegt:
 +
 
 +
vi /etc/udev/10-remotes.rules
 +
 
 +
Inhalt ist die oben ermittelte Regel, also z.B.:
 +
KERNEL=="event*", SUBSYSTEM=="input", SYSFS{idVendor}=="15c2", SYSFS{idProduct}=="0034", SYMLINK+="input/mein_touch_device"
 +
 
 +
Anschließend wird diese Regeldatei noch als Regel bekannt gemacht. Dies geschieht über einen Link.
 +
 
 +
cd /etc/udev/rules.d
 +
ln -s ../10-remotes.rules
 +
 
 +
Zur Aktivierung ist nun ein reboot erforderlich.
 +
 
 +
Nach dem reboot müsste nun in der Liste nach
 +
 
 +
ls -l /dev/input
 +
 
 +
eine Zeile mit '''mein_touch_device''' stehen.
 +
 
 +
Als Device dient nun '''/dev/input/mein_touch_device'''<br />
 +
Dieses Device wird nun über das graphTFT OSD Setup unter '''Device''' hinterlegt.
 +
 
 +
'''Alternativ''' kann das auch direkt in der /etc/vdr/setup.conf Datei hinter '''graphtft.touchDevice =''' eingetragen werden.
 +
graphtft.touchDevice = /dev/input/mein_touch_device
 +
 
 +
'''Achtung:''' <br />
 +
- Vor dem Bearbeiten der setup.conf muss der VDR gestoppt werden, da die manuellen Änderungen ansonsten beim Neustart überschrieben werden können. <br />
 +
- Sollte nun in der Log-Datei der Fehler "[graphTFT] Error: Opening device '/dev/input/mein_touch_device' failed, errno was (13) 'Keine Berechtigung'" stehen, so fehlen wahrscheinlich die Zugriffsrechte des VDR an der durch '''mein_touch_device''' verlinkten Gerätedatei '''/dev/input/event*'''. Hier kann der zusätzliche Parameter '''GROUP="vdr"''' in der in '''/etc/udev/10-remotes.rules''' definierten Regel helfen!
 +
 
 +
==graphtft-fe - Das X-Frontend==
 +
Über den X-Server, respektive über das dem Plugin beiligende X-Frontend AddOn '''graphtft-fe''', kann der VDR mittels Tastatur und Maus bedient werden.<br />
 +
'''graphtft-fe''' liegt im Sourcenverzeichen des graphTFT Plugins und muss gesondert übersetzt und gestartet werden.
 +
 
 +
Die Unterstützung der Schnittstelle zum '''graphtft-fe''' X-Frontend kann im graphTFT Makefile durch auskommentieren von '''WITH_X_COMM''' deaktiviert werden. Bei aktiver Schnittstelle muss für das X-Frontend einmalig die Tastatur angelernt werden.<br />
 +
Daher verlangt das VDR System nach dem nächsten reboot das Anlernen der dafür benötigten Tasten, wozu ein entsprechendes Anlernmenü auf dem Bildschirm erscheint.
 +
 
 +
Möchte oder kann man die Tasten nicht anlernen aber dennoch die X-Frontend Unterstützung mit übersetzen, kann die Anlernfunktion durch hinzufügen einer Dummy-Zeile aus der nachfolgenden Liste in der '''[[Struktur|$VDRCONFIG]]/[[remote.conf]]''' ausgetrickst werden. Zum unterdrücken der anlernfunktion würde schon eine Zeile reichen. Die übrigen stellen ein Beispiel einer weitgehend angelernteren Tastatur dar, was auch nicht schaden kann.
 +
 
 +
graphtft-fe.Up        0000000000000062
 +
graphtft-fe.Down      0000000000000068
 +
graphtft-fe.Menu      0000000000000047
 +
graphtft-fe.Ok        0000000000000024
 +
graphtft-fe.Back      0000000000000016
 +
graphtft-fe.Left      0000000000000064
 +
graphtft-fe.Right      0000000000000066
 +
graphtft-fe.Red        0000000000000043
 +
graphtft-fe.Green      0000000000000044
 +
graphtft-fe.Yellow    0000000000000045
 +
graphtft-fe.Blue      0000000000000046
 +
graphtft-fe.0          0000000000000013
 +
graphtft-fe.1          000000000000000A
 +
graphtft-fe.2          000000000000000B
 +
graphtft-fe.3          000000000000000C
 +
graphtft-fe.4          000000000000000D
 +
graphtft-fe.5          000000000000000E
 +
graphtft-fe.6          000000000000000F
 +
graphtft-fe.7          0000000000000010
 +
graphtft-fe.8          0000000000000011
 +
graphtft-fe.9          0000000000000012
 +
graphtft-fe.Info      0000000000000048
 +
graphtft-fe.Volume+    0000000000000063
 +
graphtft-fe.Volume-    0000000000000069
 +
graphtft-fe.Mute      0000000000000067
 +
 
 +
Damit denkt der VDR es wurde bereits angelernt und das Anlernmenü wird nicht gestartet(dann funktionieren natürlich die Tasten nicht). Möchte man die Tasten später dann doch mal anlernen, entfernt man diese Zeile(n) wieder aus der '''[[Struktur|$VDRCONFIG]]/[[remote.conf]]''' und startet den VDR neu. Nun würde der Anlernvorgang erneut beginnen.
 +
 
 +
graphtft-fe kann mit folgenden Parametern gestartet werden:
 +
 
 +
-h <host>      vdr host no default, please specify
 +
-p <port>      plugin port  (default 2039)
 +
-e <eloquence>  log level    (default 0)
 +
-W <width>      width        (default 720)
 +
-H <height>    height      (default 576)
 +
-d <file>      dump each image to file (default off)
 +
-n              not managed  (default managed)
 +
-r              resize image (default off)
 +
?, --help      help
 +
 
 +
 
 +
=== Ausgabe unter Windows ===
 +
Um graphtft-fe über einen Windows PC ausgeben und bedienen zu können, wird ein X-Server für Windows benötigt. Ein solcher X-Server ist z.B. [http://sourceforge.net/projects/xming Xming].<br />Zusätzlich zu Xming benötigt man einen ssh-Client der X11 Forwarding beherrscht, wie etwa {{wikipedia|PuTTY}} - den man u.a. auch über das Xming Projekt downloaden kann.
 +
 
 +
Xming muss '''nicht''' extra konfiguriert werden, was z.B. über XLaunsch erfolgen würde. Es reicht wenn es auf dem Windows PC im Hintergrund gestartet wird.<br />
 +
Zur Einrichtung der X11 Weiterleitung in Putty wird unter
 +
 
 +
Configurations -> Connection -> SSH -> X11
 +
 
 +
die Option '''Enable X11 Forwarding''' aktiviert und im Feld '''X display location''' der Wert '''localhost:0''' eingetragen.
 +
 
 +
Nun kann man in einer Putty Session graphtft-fe mit dem Parameter ''-h localhost'' starten
 +
graphtft-fe -h localhost
 +
 
 +
Es sollte sich nun direkt ein Fenster mit der graphTFT Ausgabe auf dem Windows-PC öffnen.<br />
 +
Die größe des Fensters lässt sich ebenfalls über graphtft-fe Parameter variieren. Dies ist z.B. dann notwendig, wenn die Anzeige bzw. Auflösung der graphTFT Anzeige von der Fenstergröße abweicht. Das könnte dann z.B. so aussehen:
 +
graphtft-fe -h localhost -W 800 -H 600
 +
 
 +
Alternativ dazu (oder wenn aus irgendwelchen Gründen die X11 Weiterleitung nicht funktioniert) kann man wie folgt vorgehen:
 +
 
 +
Die "Access - Control" von Xming ausschalten. Dazu startet man 'Xlaunch'-> Display settings (hier das gewünschte Fensterverhalten eingeben) -> Start no client -> Additional Parameters ''Checkbox "No Access Control" anhaken'' -> Save Configuration -> es wird ein File config.xlaunch gespeichert.
 +
 
 +
Nun Xming mit Doppelklick auf <config.xlaunch> starten. Der Xserver startet.
 +
 
 +
Nun mit Putty auf den VDR verbinden.
 +
$DISPLAY - Variable setzen und graphtft-fe starten.
 +
export DISPLAY=<ip-adresse des Windows PC>:0.0
 +
graphtft-fe -h localhost -W 800 -H 600 &
 +
 
 +
 
 +
Beispiel um graphtft-fe mit X automatisch zu starten: http://www.easyvdr-forum.de/forum/index.php/topic,9742.0
 +
 
 +
==Sonstiges==
 +
===Plasmoid===
 +
Für den KDE Desktop ist auch ein Plasmoid (KDE Plasma Desktop Widget) zur VDR Bedienung über graphtft verfügbar.
 +
 
 +
Mehr dazu unter http://www.kde-look.org/content/show.php?content=98815
 +
 
 +
===Probleme===
 +
 
 +
====Keine EPG Daten mit graphTFT >= 0.2.x====
 +
Mit graphTFT 0.2.x wurde die EPG-Daten-Anzeige in Zusammenarbeit mit dem epgsearch Plugin stark überarbeitet.
 +
Die Darstellung ist nun auch unabhängig von der Verwendung des epgsearch Plugins und der epgsearch.conf, somit muss das Theme diesbezüglich nicht mehr an euer System angepasst werden.
 +
 
 +
Damit diese Änderungen genutzt werden können, muss der vdr (mit vdr-1.7.0-extension-59-graphTFT-0.2.0.diff, dieses Passt zum VDR 1.7.0 mit Extension Patch) und das epgsearch-Plugin (mit epgsearch-0.9.24.diff) gepatcht werden.<br />
 +
Die notwendigen Patches werden im ./patch Verzeichnis des graphTFT Plugins mitgeliefert.
 +
Das VDR Patch ist auch im [[Extensions-Patch]] 65 enthalten, welches alternativ auch installiert werden kann.<br />
 +
Die Änderungen am epgsearch Plugin wurden in die Version 0.9.25 (ab Beta6) mit aufgenommen.
 +
Von da an, ist ein gesonderter Patch nicht mehr erforderlich.
 +
 
 +
Für andere Versionen muss man ggf. selbst Hand anlegen und ein paar Rejects auflösen.
 +
 
 +
'''Anschließend müssen der vdr und ALLE Plugins neu übersetzt und installiert werden.'''
 +
 
 +
====Dargestellte Spalten stimmen nicht====
 +
Einige OSD Darstellungen, wie z.B. den Umfang der angezeigten Daten im Aufnahmemenü, können individuell am OSD vorgenommen werden.
 +
In den graphTFT Themes sind für einige Bereiche jedoch feste Spalten vorgesehen. Wählt ein Benutzer nun für das OSD eine andere Einstellung, kommt es zur Verschiebung und unsauberen Darstellung der Informationen auf der graphTFT Ausgabe.
 +
 
 +
Dies gilt besonders für die Anzeige der Aufnahmemenü's (mit und ohne extRecMenu Plugin) sowie des ArghDirector Plugins.<br />Wünscht man sich nun eine andere Darstellung, muss auch das jeweilige Theme File '''manuell''' angepasst werden.<br />
 +
Falls die Unterstützung der WarEagleIcons aktiviert ist, ist erst ab graphTFT 0.3.0 eine fehlerfreie Darstellung zu gewährleisten.
 +
 
 +
Ein Beispiel anhand der Aufnahmemenü Sektion im theme File.
 +
 
 +
//***************************************************************************
 +
// Aufnahmemenü (VDR Standardversion)
 +
//***************************************************************************
 +
[MenuRecordings]
 +
...
 +
// Date
 +
// conditon example
 +
Column number=1,width=150;
 +
// Time
 +
Column number=2,width=120;
 +
// length
 +
Column number=3,width=120;
 +
// text
 +
Column number=4,dots=yes;
 +
// Select Entry
 +
...
 +
 
 +
Die Syntax entspricht graphTFT ab Version 0.3.0. Bei kleineren Versionen ist ein '''item=''' an Zeilenanfang, sowie ein Komma nach dem ersten Wort einzufügen.
 +
 
 +
Beispiel graphTFT < 0.3.0:
 +
item=Column,number=1,width=150;
 +
Beispiel graphTFT >= 0.3.0:
 +
Column number=1,width=150;
 +
Dieser Abschnitt ist so aufgebaut, dass die ersten vier Spalten (number) der OSD Anzeige ausgegeben werden.
 +
 
 +
width beschreibt dabei die Breite der Spalte. Wird kein width angegeben, wird automatisch die max. mögliche Spaltenbreite genommen.
 +
 
 +
Legt man im OSD Setup nun fest, dass z.B. die Aufnahmezeit (Time) nicht mehr angezeigt werden soll, gäbe es keine vier sondern nur noch drei angezeige Spalten, welche erneut durchnummeriert werden. Der Effekt ist nun, dass die ehemals 4. Spalte (text) nun die Nummer 3 (vormals length) trägt. Für die Spalte 3 ist aber eine width von 120 Pixeln festgelegt, wohingegen die ursprüngliche Spalte 4 keine Längenbegrenzung besaß. In Folge dessen wird der Text (der Sendungstitel) nun nach 120 Pixeln abgeschnitten.
 +
 
 +
Um das zu korrigieren enpfielt es sich, die nun mehr gewünschte Spalte auszukommentieren, und die Spaltenzähler der nachfolgenden Zeilen entsprechend der OSD Position zu korrigieren.<br />Für unser Beispiel sähe das so aus:
 +
 
 +
// Date
 +
// conditon example
 +
Item=Column,number=1,width=150;
 +
// Time
 +
Item=Column,number=2,width=120;
 +
// length
 +
// Item=Column,number=3,width=120;
 +
// text
 +
Item=Column,number=3,dots=yes;
 +
// Select Entry
 +
...
 +
 
 +
Nach Änderungen am Themefile muss dieses neu geladen werden. Siehe hierzu die o.g. Abschnitte [[#OSD-Hauptmen.C3.BCeintrag|OSD-Menü]] oder [[#SVDRP_Unterst.C3.BCtzung|SVDRP]].
 +
 
 +
===Themes===
 +
====Alien vs. Predator Theme====
 +
Dieses Theme wurde für die Auflösung von 800x600 Pixeln erstellt. Es kann aber auch mit kleineren Auflösungen verwandt werden, da graphTFT die Darstellung dann automatisch skalliert.
 +
 
 +
Um die entsprechenden TFTs optimal nutzen zu können, sollten im GraphTFT folgende Einstellungen vorgenommen werden:
 +
{| class="wikitable"
 +
| bgcolor=#efefef|Width
 +
| 800
 +
|-
 +
| bgcolor=#efefef|Height
 +
| 600
 +
|-
 +
| bgcolor=#efefef|X Offset
 +
| 0
 +
|-
 +
| bgcolor=#efefef|Y Offset
 +
| 0
 +
|-
 +
| bgcolor=#efefef|Border to Height
 +
| 0
 +
|-
 +
| bgcolor=#efefef|Border to Width
 +
| 0
 +
|}
 +
 
 +
Im Theme selbst gibt es ebenfalls einige Einstellungsmöglichkeiten wie z.B. eine alternative Ansicht für das music plugin oder wählbare Maus-Buttons.<br />
 +
Einstellbar ist das ganze über einen Editor in der avp.theme Datei. Die entsprechenden Abschnitte sind in der Datei selbst dokumentiert.
 +
 
 +
 
 +
 
 +
'''Nur für AvP kleiner Version 0.8 / graphTFT kleiner 0.2.0:'''
 +
 
 +
Für das Theme wurden die beiden Schriftarten Vera und Enigma des DeepBlue Themes verwandt.
 +
 
 +
Von diesen Schriften gibt es mehrere Versionen, daher sind die hier genutzen ebenfalls auf der graphTFT Downloadseite zu beziehen.
 +
 
 +
Die Schriftarten gehören in das fonts Verzeichnis des Plugins unter '''[[struktur|../plugins/graphTFT/fonts]]'''
 +
 
 +
Neuere Plugin/Theme Versionen verfügen über einen eigenen internen Zeichensatz (graphTFT.ttf). Hier müssen keine Fonts mehr kopiert werden.
 +
 
 +
 
 +
==Download/Versionzuordnung==
 +
 
 +
'''Folgende graphTFT und Theme Versionen passen zu einander:'''
 +
 
 +
{|class="wikitable"
 +
|-
 +
!graphTFT
 +
!DeepBlue Theme
 +
!AvP Theme
 +
!DeepPurple Theme
 +
!Poetter Theme
 +
!izeman Theme
 +
|-
 +
|[http://www.jwendel.de/vdr/vdr-graphtft-0.3.7.tar.bz2 0.3.1-0.3.7]
 +
 
 +
|[http://www.jwendel.de/vdr/DeepBlue-horchi-0.3.1.tar.bz2 0.3.1]
 +
|[http://www.jwendel.de/vdr/alien-vs-predator-0.3.1.tar.bz2 0.3.1]
 +
|[http://rapidshare.com/files/207599593/DeepPurple.0.3.2.tar.bz2 0.3.2]
 +
|[http://rapidshare.com/files/207599833/poetter.0.3.2.tar.bz2 0.3.2]
 +
|[http://izeman.net/izeman.tar.gz 0.0.9]
 +
|-
 +
|[http://www.jwendel.de/vdr/vdr-graphtft-0.3.0.tar.bz2 0.3.0]
 +
|[http://www.jwendel.de/vdr/DeepBlue-horchi-0.3.0.tar.bz2 0.3.0]
 +
|[http://www.jwendel.de/vdr/alien-vs-predator-0.3.0.tar.bz2 0.3.0]
 +
|n.a.
 +
|n.a.
 +
|n.a.
 +
|-
 +
|[http://www.jwendel.de/vdr/vdr-graphtft-0.2.1.tar.bz2 0.2.1] & [http://www.jwendel.de/vdr/vdr-graphtft-0.2.2.tar.bz2 0.2.2]
 +
|[http://www.jwendel.de/vdr/DeepBlue-horchi-0.0.11.tar.bz2 0.0.11]
 +
|[http://www.jwendel.de/vdr/alien-vs-predator-0.0.11.tar.bz2 0.0.11]
 +
|n.a.
 +
|n.a.
 +
|n.a.
 +
|-
 +
|[http://www.jwendel.de/vdr/vdr-graphtft-0.2.0.tar.bz2 0.2.0]
 +
|[http://www.jwendel.de/vdr/DeepBlue-horchi-0.0.11.tar.bz2 0.0.10]
 +
|[http://www.jwendel.de/vdr/alien-vs-predator-0.0.10.tar.bz2 0.0.10]
 +
|n.a.
 +
|n.a.
 +
|n.a.
 +
|-
 +
|[http://www.jwendel.de/vdr 0.1.19 - .21alpha]
 +
|[http://www.jwendel.de/vdr/DeepBlue-horchi-0.0.8.tar.bz2 0.0.8] (benötigt [http://www.jwendel.de/vdr/deepblue-fonts.tar.bz2 Fonts])
 +
|[http://www.jwendel.de/vdr/alien-vs-predator.tar.bz2 0.0.8] (benötigt [http://www.jwendel.de/vdr/deepblue-fonts.tar.bz2 Fonts])
 +
|n.a.
 +
|n.a.
 +
|n.a.
 +
|-
 +
|[http://www.jwendel.de/vdr <0.1.19alpha]
 +
|[http://www.jwendel.de/vdr/DeepBlue-horchi-0.0.7.tar.bz2 0.0.7] (benötigt [http://www.jwendel.de/vdr/deepblue-fonts.tar.bz2 Fonts])
 +
|n.a.
 +
|n.a.
 +
|n.a.
 +
|n.a.
 +
|}
 +
 
 +
<!-- ===Tipps=== -->
 +
<!-- ===Snapshot=== -->
 +
 
 +
==Wünsche für Erweiterungen==
 +
'''Bild-in-Bild Funktion (von duc)'''<br />
 +
Im kleinen Display den Kanal mit der Werbung laufen lassen und am grossen was anderes gucken. Wenn die werbung zu Ende ist, Taste drücken und den Grossen wieder auf den vorherigen kanal zurückschalten und graphtft zeigt wieder seine üblichen Infos an.
 +
 
 +
'''Mausrads / Powemates (von gnapheus)'''<br />
 +
Ein Button ist immer im Fokus, der mit Drehung des Mausrads / Powemates immer einen Button weiter hüpft. Beim Klick wird das entsprechende Event zum Button im Fokus ausgeführt.
 +
 
 +
'''REC Anzeige erweitern (von brabax22)'''<br />
 +
Aufnahmestatus, wo jetzt "REC" erscheint - nur eben als "REC1" und "REC2", der einzelnen Karten getrennt anzeigen lassen. Hintergrund: Ich habe EINE DVBS2- und eine 'normale' Karte im System und bräuchte die Info bei spontanen HD-Aufnahmen.
 +
 
 +
'''Scrollfunktion auf dem Touchscreen (von CafeDelMar)'''<br />
 +
z.B. wenn man den Finger am rechten Bildschirmrand in einer Liste einfach hoch oder runter zieht/tippt.
 +
 
 +
'''Erweiterung für Radio Plugin (von Ulrich Eckhardt)'''
 +
http://www.vdr-portal.de/board/thread.php?postid=871430#post871430
 +
 
 +
Anzeige von RDS-Informationen.
 +
 
 +
'''Pfad und Typ der EPG-Bilder einstellen (von data)'''
 +
 
 +
Erweiterung der OSD Parameter für Ablagepfad und Dateityp (png,jpg) von EPG-Bildern.
 +
 
 +
Übergabe der Werte als Parameter für die Themes.
 +
 
 +
==Versions-Historie==
 +
{| width=100% class="wikitable"
 +
|-
 +
! Version
 +
! Datum
 +
! Beschreibung
 +
! Link
 +
|-
 +
| 0.4.0
 +
|
 +
|
 +
*
 +
| [http://www.jwendel.de/vdr/vdr-graphtft-0.4.0.tgz 0.4.0]
 +
|-
 +
| 0.3.7
 +
|
 +
|
 +
* neu: Funktionen des touchTFT Plugins
 +
* keine annähernd gleichen Setup Parameter mehr
 +
* optimierte Kalibrierung für xy Koordinaten
 +
* Testfunktion zum Koordinatencheck
 +
* neue Themes notwendig
 +
* Einblendbare Mausbuttons
 +
* Animation von bis zu 10 Bildern
 +
* Neue Funktionen zur Maus/Touchsteuerung für die Themes
 +
| [http://www.jwendel.de/vdr/vdr-graphtft-0.3.7.tar.bz2 0.3.7]
 +
|}
  
==Wunschliste==
+
==Entwicklerversionen==
* Wünschenswert wäre eine Option.
+
svn co https://vdr-graphtft.svn.sourceforge.net/svnroot/vdr-graphtft vdr-graphtft
  
<pre>
+
svn co https://vdr-gtft-themes.svn.sourceforge.net/svnroot/vdr-gtft-themes themes
-f ../../fontfile(Vera...)
+
</pre>
+
  
<!-- ==Snapshot== -->
+
==Aktuelle Version==
 +
[http://www.jwendel.de/vdr/vdr-graphtft-0.4.0.tgz 0.4.0]
  
 
==Links==
 
==Links==
# [http://enlightenment.org Imlib2]
+
# [http://www.jwendel.de/vdr Homepage des Plugins]
# [http://ffmpeg.sourceforge.net FFmpeg]
+
# [https://vdr-graphtft.svn.sourceforge.net/svnroot/vdr-graphtft SVN Version]
# [http://homepages.uni-paderborn.de/tegeler/vdr Homepage des Plugins]
+
# [http://www.siegers.biz/download/poetter-0.0.5.tar.bz2 Theme poetter]
# [http://www.haile.ch/vdr Skins / Themes]
+
# [http://sourceforge.net/projects/vdr-graphtft/ graphtft auf sourceforge]
# [http://xpix.dieserver.de/downloads Skins / Themes]
+
# [http://www.easyvdr-forum.de/forum/index.php/topic,10227.0.html easyvdr compile problem]
# [http://www.braun-edv.de/Downloads Skins / Themes]
+
# [http://www.vdrportal.de/board/thread.php?threadid=32758 Skins / Themes]
+
# [http://www.siegers.biz/index.php?option=com_weblinks&Itemid=4&catid=69 Skins / Themes]
+
# [http://www.heuwinkel.net/psone.htm Daten / Schaltungen / etc]
+
# {{spiegel 1|vdr-graphtft}}
+
  
 
[[Kategorie:Plugins]]
 
[[Kategorie:Plugins]]
 
[[Kategorie:Externe Anzeige]]
 
[[Kategorie:Externe Anzeige]]
 
{{i18n|graphtft-plugin}}
 
{{i18n|graphtft-plugin}}

Aktuelle Version vom 29. August 2013, 20:46 Uhr

Inhaltsverzeichnis

[Bearbeiten] Beschreibung

Autor: Lars Tegeler, Jörg Wendel

Plugin welches über ein Framebuffer-Device, directFB, einer zweiten Full-featured-DVB-Karte oder, via graphtft-fe, einem X-Server die VDR Menüs und EPG Informationen ausgibt.

Um die Wiedergabe via directFB nutzen zu können benötigt man eine Grafikkarte, die diese Funktion auch unterstützt. Eine Übersicht entsprechender Grafikkarten findet ihr hier.

[Bearbeiten] Status

Letztes Update 04/2013

[Bearbeiten] Bilder

Plugin
Theme "PearlHD" (yaVDR)
Theme-Deepblue
Theme-AVP
Theme-DeepPurple
Theme-poetter
Theme-izeman

[Bearbeiten] Hardwareanforderungen

[Bearbeiten] Softwareanforderungen

[Bearbeiten] Installation

[Bearbeiten] Allgemeines

  • VDR muss gepatched werden. Der Patch ist im Extension Patch enthalten und nicht einzeln verfügbar.

Nach dem patchen des VDR müssen immer ALLE Plugins neu übersetzt werden!

  1. VDR patchen
  2. epgserach-0.9.24 patchen (sofern erforderlich)
  3. graphTFT >= 0.2.1 Sourcen nach .../VDR/PLUGINS/src kopieren und verlinken
  4. alte Themes unter .../vdr/plugins/graphTFT/themes/ entfernen (nicht nur umbenennen - wirklich entfernen)
  5. zur graphTFT Version passenden Theme unter .../vdr/plugins/graphTFT/themes/ ablegen.
  6. EPG Bilder werden unter /video0/epgimages gesucht. Sollten die Images wo anders liegen, bitte in /video0 entsprechend verlinken. Ab 0.3.0 sind weitere Suchpfade vorgesehen.
  7. Nun den VDR selbst und ALLE vorhandenen Plugins übersetzen, in die Ausführungsverzeichnisse kopieren und den VDR verlinken.

[Bearbeiten] Konfiguration

[Bearbeiten] Spezielle Fonts

Ab 0.2.0 ist der Font-Suchpfad im Theme frei konfigurierbar. Theme Entwickler sollten die vom ihrem Theme benötigten Fonts, um Abhängigkeiten so gering wie möglich zu halten, mit dem Theme ausliefern.
Aktuelle Versionen von DeepBlue und Alien vs. Predator liefern einen eigenen auf die graphTFT Belange zugeschnittenen Font (graphTFT.ttf) mit.

Bis zur Version 0.2.0 müssen alle von den Thems benötigten Fonts in folgendem Ordner bereit gestellt werden (am Beispiel Vera):

mkdir -p $VDRCONFIG/plugins/graphTFT/fonts
locate Vera.ttf
/usr/X11R6/lib/X11/fonts/truetype/Vera.ttf
cp /usr/X11R6/lib/X11/fonts/truetype/Vera.ttf $VDRCONFIG/plugins/graphTFT/fonts

Fehlen Fonts auf dem System, kann man sie auch nachinstallieren.

Debian -> apt-get install ttf-bitstream-vera
SuSE   -> yast -i bitstream-vera
Gentoo -> emerge ttf-bitstream-vera


[Bearbeiten] Themes

Themes werden vom graphTFT Plugin im Verzeichnis $VDRCONFIG/plugins/graphTFT/themes erwartet.

mkdir -p $VDRCONFIG/plugins/graphTFT/themes
tar jxvf /wo/auch/immer/standard-theme-<VERSION>.tar.bz2 -C $VDRCONFIG/plugins/graphTFT/themes

[Bearbeiten] Zusammenspiel mit anderen Plugins

Um graphTFT zur Zusammenarbeit mit anderen Plugins wie z.B. epgsearch oder extrecmenu zu bewegen müssen auch diese, je nach Version, gepatched werden. In neueren Versionen von epgsearch, extrecmenu und music sind die nötigen Erweiterungen bereits enthalten, hier ist nur darauf zu achten, dass sie ggf. mit der entsprechenden Makefile Schaltern übersetzt wurden bzw. werden.

Die Darstellung von ID3Tag Daten in Zusammenspiel mit dem music Plugin, funktioniert erst ab der music Plugin Version 0.4.0-b3. music Plugin Version 0.4.0-b3 wiederum läuft erst ab VDR 1.6.0.

Ab Version 0.2.0 bitte auch unbedingt den Abschnitt Probleme beachten.

Ab Version 0.3.0 unterstützt graphTFT Plugin auch direkt Touchscreens. Das touchTFT Plugin wird dann nicht mehr benötigt und muss, um Kollisionen zu vermeiden, deinstalliert werden. Siehe auch Touchscreen Einrichtung

[Bearbeiten] Einstellungen

Folgende Einstellungen gibt es im Setup

Parameter Funktion
Aussehen: Theme Auswahl
Hauptmenueintrag verstecken: OSD-Hauptmenü Eintrag ausblenden
Konvertiere ISO zu UTF-8: Texte vor der Anzeige in UTF-8 konvertieren. Nur aktivieren wenn UTF-8 Konvertierung nötig und der der VDR nicht schon mit UTF-8 läuft!
Spectrum Analyzer: Spektrum Analyzer aktivieren
Dump Bild
Dump Bild in Datei speichern: Die graphTFT Ausgabe automatisch in regelmäßigen Abständen als graphTFT.png Datei unter /tmp abspeichern
Einmal eingestellt werden die Dump Bilder selbstständig, bis zum ausschalten der Funktion hier im Setup, immer wieder unter gleichen Namen, wobei sie sich gegenseitig überschreiben damit der Plattenplatz nicht ausgeht, erstellt. Zur Erzeugung ist außer diesem Eintrag hier, keine weitere manuelle Aktion notwendig.
Da diese Funktion den VDR kontinuierlich belastet, sollte sie nur dann aktiviert werden, wenn man auch Dump Images, z.B. zur Theme erstellung oder Fehlerdokumentation, benötigt.
Dump alle [Sek] erneuern: In welchem Zyklus (Sekunden) soll der graphTFT Screenshot erstellt werden?
Dump Bild Breite: Breite der abgespeicherten Grafik.
Dump Bild Hoehe: Höhe der abgespeicherten Grafik.
Snapshot Schnappschüsse für Bilder von Sendungen und Aufnahmen zur Anzeige in den OSD Menüs
Snapshot Breite: Gewünschte Breite der Snapshot-Bilddatei
Snapshot Hoehe: Gewünschte Höhe der Snapshot-Bilddatei
Snapshot JPEG Qualitaet: Kompression/Qualität des Snapshot Bildes von 0-100%. Je höher die Qualität, desto größer das Bild.
Snapshot Ablagepfad: Ordner in welchem die Snapshots abgelegt werden sollen.
DVB Device
Benutze StillPicture: Die Pausefunktion des DVB-Treibers wird benutzt, um die Grafik anzuzeigen.
Aktualisieren: Refresh Rate der DVB Ausgabe
DVB/FB Device
Tausche OSD: Bild 180° spiegeln
Breite: Display Breite
Hoehe: Display Höhe
X Koordinaten Abweichung: Bildposition vertikal
Y Koordinaten Abweichung: Bildposition horizontal
Rahmen zur Hoehe: Rahmen oben/unten
Rahmen zur Breite: Rahmen rechts/links
TCP Verbindung Parameter der TCP Verbindung zum optionalen X-Frontend
JPEG Qualitaet: JPEG Übertragungsqualität (0-100); schlechtere Qualität -> schnellere Übertragung ;)
touch Device
Device: Device des Touch-Displays z.B. /dev/input/event?
Debug
Log Device: Auswahl des Log-Device
Debug Level: Wie viel soll geloggt werden.

[Bearbeiten] Parameter

Unterstützte Kommandozeilenparameter:

Parameter (kurz) Parameter (lang) Ausgabe über <DEV> Wert
-d <DEV> --device=<DEV> FF-DVB-Karte:
DirectFB:
Framebuffer (Grafikkarte):
Aus:
vdr/1
directFB
/dev/fb0
none

Ist kein Device angegeben wird beim Start automatisch in dieser Reihenfolge gesucht: freie FF-DVB Karte, directFB, FB.
Die X Ausgabe funktioniert, sofern ein-compiliert, parallel und muss nicht extra angegeben werden.

[Bearbeiten] OSD-Hauptmenüeintrag

graphTFT verfügt, sofern es im Setup enstprechend aktiviert wird, über ein eigenes OSD-Menü mit folgenden Punkten:

OSD-Menü Verwendung
Themes neu laden Lädt das eingestellte Theme File neu, ohne das der VDR neu gestartet werden muss. Sehr hilfreich bei der Erstellung neuer Themes.
Entspricht SVDRP Befehl: RELOAD
Anzeige aktualisieren Aktiviert/Deaktiviert die Anzeigeaktualisierung.
Entspricht SVDRP Befehl: ACTIVE
Standardanzeige Umschaltung und Festlegung der graphTFT Standardanzeige (wird in setup.conf als Default gespeichert).
Die Darstellung der gewählten Anzeige wird in den Theme Dateien in den Abschnitten [normal...] festgelegt. Default verfügbare Darstellungen sind: Standard, Dia, Detail, Clock und Sysinfo.
Entspricht SVDRP Befehl: VIEW
Snapshot (Roter Button) Erzeugt ein Bildschirmfoto der laufenden Wiedergabe (TV-Bild) in dem im Setup festgelegten Verzeichnis (Snapshot path).
Snapshot erzeugt kein Bild der graphTFT Ausgabe. Ein graphTFT-Screenshot wird nur über die im Setup unter Dump Image vorzunehmenden Einstellungen erreicht.

[Bearbeiten] SVDRP Unterstützung

Einige graphTFT Funktionen lassen sich auch über SVDRP Befehle ausführen.

Allgemeiner Aufruf:

 svdrpsend.pl plug graphtft [Befehl] [Option]
Befehl Optionen Verwendung
ACTIVE Aktiviert/Deaktiviert die Anzeigeaktualisierung. ACTIVE funktioniert nur zusammen mit einer der folgenden Optionen
ACTIVE on Aktiviert die Anzeigeaktualisierung.
ACTIVE off Deaktiviert die Anzeigeaktualisierung.
NORMALVIEW Wurde mit graphTFT 0.2.2 gegen den Befehl VIEW ersetzt. Die Optionen sind die gleichen wie bei VIEW.
REFRESH Bewirkt eine erzwungene Aktualisierung der angezeigten Informationen.
RELOAD Lädt das eingestellte Theme File neu, ohne das der VDR neu gestartet werden muss. Sehr hilfreich bei der Erstellung neuer Themes.
VIEW Umschaltung und Festlegung der graphTFT Standardanzeige (wird in setup.conf als Default gespeichert).
Die Darstellung der gewählten Anzeige wird in den Theme Dateien in den Abschnitten [normal...] festgelegt. VIEW funktioniert nur zusammen mit einer der folgenden Optionen.
Ab 0.3.1.:Wird der VIEW Befehl ohne weiteren Parameter aufgerufen, wird auf die jeweils nächste Ansicht umgeschaltet. Einzeln kann man die Ansichten mit den nachfolgenden folgenden Optionen gezielt umschalten.
VIEW Standard Schaltet die Darstellung des Displays auf Standard-Ansicht um.
Die Standardansicht zeigt eine Übersicht über das laufende und nachfolgende Programm sowie Programmoptionen wie z.B. Dolby Digital oder Zweikanal Tonübertragung.
VIEW Detail Ab 0.3.1.: Schaltet die Darstellung des Displays auf EPG-Detail-Ansicht um.
Die EPG-Detailansicht zeigt die EPG-Informationen und EPG-Bilder zum laufenden Programm großformatig an. Liegen für die Sendung mehrere EPG-Bilder vor, wird die Anzeige in regelmäßigen Abständen neue Bilder des Programms anzeigen.
VIEW Dia Schaltet die Darstellung des Displays auf Dia-Ansicht um.
Die Dia Darstellung dient zur Ausgabe von beliebigen Bildern auf dem TFT. Mit diesem SVDRP Befehl ist es - durch Einsatz eines externen Scripts - möglich, das Display zusätzlich zur Programmanzeige auch als digitalen Bilderrahmen nutzen zu können. Ein kommentiertes Beispielscript liegt den graphTFT Sourcen unter scripts/dia.sh bei.
VIEW Clock Schaltet die Darstellung des Displays auf Uhren-Ansicht um.
Bei der Clock-Ansicht bildet eine große Uhren- und Datumsanzeige den Bildmittelpunkt. Darüber hinaus zeigt eine Übersicht über das laufende und nachfolgende Programm an.
VIEW Sysinfo Schaltet die Darstellung des Displays auf Systeminfo-Ansicht um.
Sysinfo bietet einen Überblick über die genutzten und freien Systemressourcen, wie z.B. der aktuellen Prozessorauslastung, des VDRs. Es werden keine Angaben zum laufenden Programm angezeigt.

[Bearbeiten] Touchscreen Einrichtung

Ab Version 0.3.0 verfügt graphTFT über eine eigene Schnittstelle für Touchscreen Displays.
Das bisher dafür notwendige touchTFT Plugin wird nun nicht mehr benötigt und muss, um Kollisionen zu vermeiden, sofern vorhanden deinstalliert werden.

Zur Einrichtung des Touchscreens ist im graphTFT-Setup zunächst das Event-Device des Touchscreens anzugeben.
Die Speicherung und Aktivierung aller Einstellungen erfolgt erst, nachdem das graphTFT Setup mit OK verlassen wurde.
Ist dies geschehen, folgt die Kalibrierung. Diese wird durch den gelben "Kalibrierung" Button gestartet.
Es erscheint ein Kalibrierungsbildschirm mit entsprechenden Anweisungen, welche mit dem Anklicken des Kalibrierungssymbols in der linken oberen Ecke beginnen.

Bei einigen Touchscreens sind die X und Y Koordinaten vertauscht. Das Kalibrierungsprogramm erkennt dies automatisch, sobald die rechte obere Ecke "getouched" wurde. Ist dieser der Fall, springt der Cursor in die linke obere Ecke zurück und die Kalibrierung beginnt, diesmal unter Berücksichtigung der getauschten X/Y Koordinaten, erneut.

Ist der Cursor in allen vier Ecken berührt worden, ist die Kalibrierung abgeschlossen.

Nun kann zum Test der Funktion und Genauigkeit wahllos auf dem Bildschrim "rumgetouched" werden. Die gewählten Koordinaten werden angezeigt und wenn alles richtig Funktioniert hat, sollte der Cursor auch an die berührte Stelle springen. Tut er es nicht, sollte die Kalibrierung noch einmal wiederholt werden.

Der Kalibrierungsvorgang wird wieder mit dem gelben Button (jetzt mit "Stop" beschriftet) beendet.

Möchte man die Kalibrierung seines Displays später noch einmal testen, gelangt man über den grünen Button "Test" in einen entsprechenden Testmodus. Es erscheint das gleiche Bild wie bei der Kalibrierung, es werden hier aber nur Koordinaten angezeigt und keine vorhandenen Werte überschrieben. Auch hier beendet der gelbe Button den Testvorgang.

Ein recht ausführliches Beispiel mit vielen Tipps für ein System mit TouchTFT Display findet man auch hier im Wiki.

[Bearbeiten] Dauerhaftes Touch Device

Bei einem Reboot wird für jedes am Linux-System angeschlossene Gerät ein entsprechendes Device zugeteilt. Die Device/Gerätezuteilung wird dynamisch bei jedem reboot erneut vorgenommen. In einigen Fällen ist es daher möglich, dass sich dabei die Devicenummer des Touchscreens nach einem reboot ändert.

Um das Touchscreen immer wieder auf dem gleichen Device ansprechen zu können, lohnt sich die Einrichtung einer udev Event-Regel.

Diese Regel erkennt das gesuchte Gerät und erstellt einen Link auf das automatisch vom System zugeteilte Device.
Angesprochen wird dann nur noch dieser Link und nicht mehr das automatisch zugeteilte Device.

Das Vorgehen (die Beschreibung erfolgt auf Basis von easyVDR 0.6.2. Sie kann auf anderen Systemen leicht anders aussehen.):

Zunächst muss man ein eindeutiges Identifikationskriterium für das Touchscreen ermitteln. Dies geschieht durch den Befehl

lsusb -v | more

Man erhält eine Ausgabe in etwas dieser Form

Bus 004 Device 002: ID 15c2:0034 SoundGraph Inc.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0         8
  idVendor           0x15c2 SoundGraph Inc.
  idProduct          0x0034
  bcdDevice            0.14
  iManufacturer           0
  iProduct                0
  iSerial                 0
  bNumConfigurations      1

Eindeutig identifizieren ließe sich dieser (Soundgraph) Touchscreen über die

idVendor = 15c2
idProdukt = 0034

Hieraus lässt sich nun eine entsprechende Regel erstellen:

KERNEL=="event*", SUBSYSTEM=="input", SYSFS{idVendor}=="15c2", SYSFS{idProduct}=="0034", SYMLINK+="input/mein_touch_device"

Das am meisten verwendete Touchscreen Display ist das eGalax Display. Für dieses Display sieht die Einrichtung so aus:

KERNEL=="event*", SUBSYSTEM=="input", SYSFS{idVendor}=="0eef", SYSFS{idProduct}=="0001", SYMLINK+="input/mein_touch_device"

Alternativ kann die Identifikation grundsätzlich auch durch andere Werte erfolgen. Dies ist z.B. dann notwendig, wenn ein USB-Gerät über mehrere Devices, wie z.B. Fernsteuerungsempfänger oder Tastaturen (Gehäusetasten), verfügt.
Das könnte dann wie folgt aussehen:

KERNEL=="event*", SUBSYSTEM=="input", ATTRS{name}=="USB Touchscreen 15c2:0034", SYMLINK+="input/mein_touch_device"

Diese Regel wird in einer udev-Datei hinterlegt:

vi /etc/udev/10-remotes.rules

Inhalt ist die oben ermittelte Regel, also z.B.:

KERNEL=="event*", SUBSYSTEM=="input", SYSFS{idVendor}=="15c2", SYSFS{idProduct}=="0034", SYMLINK+="input/mein_touch_device"

Anschließend wird diese Regeldatei noch als Regel bekannt gemacht. Dies geschieht über einen Link.

cd /etc/udev/rules.d
ln -s ../10-remotes.rules

Zur Aktivierung ist nun ein reboot erforderlich.

Nach dem reboot müsste nun in der Liste nach

ls -l /dev/input

eine Zeile mit mein_touch_device stehen.

Als Device dient nun /dev/input/mein_touch_device
Dieses Device wird nun über das graphTFT OSD Setup unter Device hinterlegt.

Alternativ kann das auch direkt in der /etc/vdr/setup.conf Datei hinter graphtft.touchDevice = eingetragen werden.

graphtft.touchDevice = /dev/input/mein_touch_device

Achtung:
- Vor dem Bearbeiten der setup.conf muss der VDR gestoppt werden, da die manuellen Änderungen ansonsten beim Neustart überschrieben werden können.
- Sollte nun in der Log-Datei der Fehler "[graphTFT] Error: Opening device '/dev/input/mein_touch_device' failed, errno was (13) 'Keine Berechtigung'" stehen, so fehlen wahrscheinlich die Zugriffsrechte des VDR an der durch mein_touch_device verlinkten Gerätedatei /dev/input/event*. Hier kann der zusätzliche Parameter GROUP="vdr" in der in /etc/udev/10-remotes.rules definierten Regel helfen!

[Bearbeiten] graphtft-fe - Das X-Frontend

Über den X-Server, respektive über das dem Plugin beiligende X-Frontend AddOn graphtft-fe, kann der VDR mittels Tastatur und Maus bedient werden.
graphtft-fe liegt im Sourcenverzeichen des graphTFT Plugins und muss gesondert übersetzt und gestartet werden.

Die Unterstützung der Schnittstelle zum graphtft-fe X-Frontend kann im graphTFT Makefile durch auskommentieren von WITH_X_COMM deaktiviert werden. Bei aktiver Schnittstelle muss für das X-Frontend einmalig die Tastatur angelernt werden.
Daher verlangt das VDR System nach dem nächsten reboot das Anlernen der dafür benötigten Tasten, wozu ein entsprechendes Anlernmenü auf dem Bildschirm erscheint.

Möchte oder kann man die Tasten nicht anlernen aber dennoch die X-Frontend Unterstützung mit übersetzen, kann die Anlernfunktion durch hinzufügen einer Dummy-Zeile aus der nachfolgenden Liste in der $VDRCONFIG/remote.conf ausgetrickst werden. Zum unterdrücken der anlernfunktion würde schon eine Zeile reichen. Die übrigen stellen ein Beispiel einer weitgehend angelernteren Tastatur dar, was auch nicht schaden kann.

graphtft-fe.Up         0000000000000062
graphtft-fe.Down       0000000000000068
graphtft-fe.Menu       0000000000000047
graphtft-fe.Ok         0000000000000024
graphtft-fe.Back       0000000000000016
graphtft-fe.Left       0000000000000064
graphtft-fe.Right      0000000000000066
graphtft-fe.Red        0000000000000043
graphtft-fe.Green      0000000000000044
graphtft-fe.Yellow     0000000000000045
graphtft-fe.Blue       0000000000000046
graphtft-fe.0          0000000000000013
graphtft-fe.1          000000000000000A
graphtft-fe.2          000000000000000B
graphtft-fe.3          000000000000000C
graphtft-fe.4          000000000000000D
graphtft-fe.5          000000000000000E
graphtft-fe.6          000000000000000F
graphtft-fe.7          0000000000000010
graphtft-fe.8          0000000000000011
graphtft-fe.9          0000000000000012
graphtft-fe.Info       0000000000000048
graphtft-fe.Volume+    0000000000000063
graphtft-fe.Volume-    0000000000000069
graphtft-fe.Mute       0000000000000067

Damit denkt der VDR es wurde bereits angelernt und das Anlernmenü wird nicht gestartet(dann funktionieren natürlich die Tasten nicht). Möchte man die Tasten später dann doch mal anlernen, entfernt man diese Zeile(n) wieder aus der $VDRCONFIG/remote.conf und startet den VDR neu. Nun würde der Anlernvorgang erneut beginnen.

graphtft-fe kann mit folgenden Parametern gestartet werden:

-h <host>       vdr host no default, please specify
-p <port>       plugin port  (default 2039)
-e <eloquence>  log level    (default 0)
-W <width>      width        (default 720)
-H <height>     height       (default 576)
-d <file>       dump each image to file (default off)
-n              not managed  (default managed)
-r              resize image (default off)
?, --help       help


[Bearbeiten] Ausgabe unter Windows

Um graphtft-fe über einen Windows PC ausgeben und bedienen zu können, wird ein X-Server für Windows benötigt. Ein solcher X-Server ist z.B. Xming.
Zusätzlich zu Xming benötigt man einen ssh-Client der X11 Forwarding beherrscht, wie etwa PuTTY - den man u.a. auch über das Xming Projekt downloaden kann.

Xming muss nicht extra konfiguriert werden, was z.B. über XLaunsch erfolgen würde. Es reicht wenn es auf dem Windows PC im Hintergrund gestartet wird.
Zur Einrichtung der X11 Weiterleitung in Putty wird unter

Configurations -> Connection -> SSH -> X11

die Option Enable X11 Forwarding aktiviert und im Feld X display location der Wert localhost:0 eingetragen.

Nun kann man in einer Putty Session graphtft-fe mit dem Parameter -h localhost starten

graphtft-fe -h localhost

Es sollte sich nun direkt ein Fenster mit der graphTFT Ausgabe auf dem Windows-PC öffnen.
Die größe des Fensters lässt sich ebenfalls über graphtft-fe Parameter variieren. Dies ist z.B. dann notwendig, wenn die Anzeige bzw. Auflösung der graphTFT Anzeige von der Fenstergröße abweicht. Das könnte dann z.B. so aussehen:

graphtft-fe -h localhost -W 800 -H 600

Alternativ dazu (oder wenn aus irgendwelchen Gründen die X11 Weiterleitung nicht funktioniert) kann man wie folgt vorgehen:

Die "Access - Control" von Xming ausschalten. Dazu startet man 'Xlaunch'-> Display settings (hier das gewünschte Fensterverhalten eingeben) -> Start no client -> Additional Parameters Checkbox "No Access Control" anhaken -> Save Configuration -> es wird ein File config.xlaunch gespeichert.

Nun Xming mit Doppelklick auf <config.xlaunch> starten. Der Xserver startet.

Nun mit Putty auf den VDR verbinden. $DISPLAY - Variable setzen und graphtft-fe starten.

export DISPLAY=<ip-adresse des Windows PC>:0.0
graphtft-fe -h localhost -W 800 -H 600 &


Beispiel um graphtft-fe mit X automatisch zu starten: http://www.easyvdr-forum.de/forum/index.php/topic,9742.0

[Bearbeiten] Sonstiges

[Bearbeiten] Plasmoid

Für den KDE Desktop ist auch ein Plasmoid (KDE Plasma Desktop Widget) zur VDR Bedienung über graphtft verfügbar.

Mehr dazu unter http://www.kde-look.org/content/show.php?content=98815

[Bearbeiten] Probleme

[Bearbeiten] Keine EPG Daten mit graphTFT >= 0.2.x

Mit graphTFT 0.2.x wurde die EPG-Daten-Anzeige in Zusammenarbeit mit dem epgsearch Plugin stark überarbeitet. Die Darstellung ist nun auch unabhängig von der Verwendung des epgsearch Plugins und der epgsearch.conf, somit muss das Theme diesbezüglich nicht mehr an euer System angepasst werden.

Damit diese Änderungen genutzt werden können, muss der vdr (mit vdr-1.7.0-extension-59-graphTFT-0.2.0.diff, dieses Passt zum VDR 1.7.0 mit Extension Patch) und das epgsearch-Plugin (mit epgsearch-0.9.24.diff) gepatcht werden.
Die notwendigen Patches werden im ./patch Verzeichnis des graphTFT Plugins mitgeliefert. Das VDR Patch ist auch im Extensions-Patch 65 enthalten, welches alternativ auch installiert werden kann.
Die Änderungen am epgsearch Plugin wurden in die Version 0.9.25 (ab Beta6) mit aufgenommen. Von da an, ist ein gesonderter Patch nicht mehr erforderlich.

Für andere Versionen muss man ggf. selbst Hand anlegen und ein paar Rejects auflösen.

Anschließend müssen der vdr und ALLE Plugins neu übersetzt und installiert werden.

[Bearbeiten] Dargestellte Spalten stimmen nicht

Einige OSD Darstellungen, wie z.B. den Umfang der angezeigten Daten im Aufnahmemenü, können individuell am OSD vorgenommen werden. In den graphTFT Themes sind für einige Bereiche jedoch feste Spalten vorgesehen. Wählt ein Benutzer nun für das OSD eine andere Einstellung, kommt es zur Verschiebung und unsauberen Darstellung der Informationen auf der graphTFT Ausgabe.

Dies gilt besonders für die Anzeige der Aufnahmemenü's (mit und ohne extRecMenu Plugin) sowie des ArghDirector Plugins.
Wünscht man sich nun eine andere Darstellung, muss auch das jeweilige Theme File manuell angepasst werden.
Falls die Unterstützung der WarEagleIcons aktiviert ist, ist erst ab graphTFT 0.3.0 eine fehlerfreie Darstellung zu gewährleisten.

Ein Beispiel anhand der Aufnahmemenü Sektion im theme File.

//***************************************************************************
// Aufnahmemenü (VDR Standardversion)
//***************************************************************************
[MenuRecordings]
...
// Date
// conditon example
Column number=1,width=150;
// Time
Column number=2,width=120;
// length
Column number=3,width=120;
// text
Column number=4,dots=yes;
// Select Entry
...

Die Syntax entspricht graphTFT ab Version 0.3.0. Bei kleineren Versionen ist ein item= an Zeilenanfang, sowie ein Komma nach dem ersten Wort einzufügen.

Beispiel graphTFT < 0.3.0:

item=Column,number=1,width=150;

Beispiel graphTFT >= 0.3.0:

Column number=1,width=150;

Dieser Abschnitt ist so aufgebaut, dass die ersten vier Spalten (number) der OSD Anzeige ausgegeben werden.

width beschreibt dabei die Breite der Spalte. Wird kein width angegeben, wird automatisch die max. mögliche Spaltenbreite genommen.

Legt man im OSD Setup nun fest, dass z.B. die Aufnahmezeit (Time) nicht mehr angezeigt werden soll, gäbe es keine vier sondern nur noch drei angezeige Spalten, welche erneut durchnummeriert werden. Der Effekt ist nun, dass die ehemals 4. Spalte (text) nun die Nummer 3 (vormals length) trägt. Für die Spalte 3 ist aber eine width von 120 Pixeln festgelegt, wohingegen die ursprüngliche Spalte 4 keine Längenbegrenzung besaß. In Folge dessen wird der Text (der Sendungstitel) nun nach 120 Pixeln abgeschnitten.

Um das zu korrigieren enpfielt es sich, die nun mehr gewünschte Spalte auszukommentieren, und die Spaltenzähler der nachfolgenden Zeilen entsprechend der OSD Position zu korrigieren.
Für unser Beispiel sähe das so aus:

// Date
// conditon example
Item=Column,number=1,width=150;
// Time
Item=Column,number=2,width=120;
// length
// Item=Column,number=3,width=120;
// text
Item=Column,number=3,dots=yes;
// Select Entry
...

Nach Änderungen am Themefile muss dieses neu geladen werden. Siehe hierzu die o.g. Abschnitte OSD-Menü oder SVDRP.

[Bearbeiten] Themes

[Bearbeiten] Alien vs. Predator Theme

Dieses Theme wurde für die Auflösung von 800x600 Pixeln erstellt. Es kann aber auch mit kleineren Auflösungen verwandt werden, da graphTFT die Darstellung dann automatisch skalliert.

Um die entsprechenden TFTs optimal nutzen zu können, sollten im GraphTFT folgende Einstellungen vorgenommen werden:

Width 800
Height 600
X Offset 0
Y Offset 0
Border to Height 0
Border to Width 0

Im Theme selbst gibt es ebenfalls einige Einstellungsmöglichkeiten wie z.B. eine alternative Ansicht für das music plugin oder wählbare Maus-Buttons.
Einstellbar ist das ganze über einen Editor in der avp.theme Datei. Die entsprechenden Abschnitte sind in der Datei selbst dokumentiert.


Nur für AvP kleiner Version 0.8 / graphTFT kleiner 0.2.0:

Für das Theme wurden die beiden Schriftarten Vera und Enigma des DeepBlue Themes verwandt.

Von diesen Schriften gibt es mehrere Versionen, daher sind die hier genutzen ebenfalls auf der graphTFT Downloadseite zu beziehen.

Die Schriftarten gehören in das fonts Verzeichnis des Plugins unter ../plugins/graphTFT/fonts

Neuere Plugin/Theme Versionen verfügen über einen eigenen internen Zeichensatz (graphTFT.ttf). Hier müssen keine Fonts mehr kopiert werden.


[Bearbeiten] Download/Versionzuordnung

Folgende graphTFT und Theme Versionen passen zu einander:

graphTFT DeepBlue Theme AvP Theme DeepPurple Theme Poetter Theme izeman Theme
0.3.1-0.3.7 0.3.1 0.3.1 0.3.2 0.3.2 0.0.9
0.3.0 0.3.0 0.3.0 n.a. n.a. n.a.
0.2.1 & 0.2.2 0.0.11 0.0.11 n.a. n.a. n.a.
0.2.0 0.0.10 0.0.10 n.a. n.a. n.a.
0.1.19 - .21alpha 0.0.8 (benötigt Fonts) 0.0.8 (benötigt Fonts) n.a. n.a. n.a.
<0.1.19alpha 0.0.7 (benötigt Fonts) n.a. n.a. n.a. n.a.


[Bearbeiten] Wünsche für Erweiterungen

Bild-in-Bild Funktion (von duc)
Im kleinen Display den Kanal mit der Werbung laufen lassen und am grossen was anderes gucken. Wenn die werbung zu Ende ist, Taste drücken und den Grossen wieder auf den vorherigen kanal zurückschalten und graphtft zeigt wieder seine üblichen Infos an.

Mausrads / Powemates (von gnapheus)
Ein Button ist immer im Fokus, der mit Drehung des Mausrads / Powemates immer einen Button weiter hüpft. Beim Klick wird das entsprechende Event zum Button im Fokus ausgeführt.

REC Anzeige erweitern (von brabax22)
Aufnahmestatus, wo jetzt "REC" erscheint - nur eben als "REC1" und "REC2", der einzelnen Karten getrennt anzeigen lassen. Hintergrund: Ich habe EINE DVBS2- und eine 'normale' Karte im System und bräuchte die Info bei spontanen HD-Aufnahmen.

Scrollfunktion auf dem Touchscreen (von CafeDelMar)
z.B. wenn man den Finger am rechten Bildschirmrand in einer Liste einfach hoch oder runter zieht/tippt.

Erweiterung für Radio Plugin (von Ulrich Eckhardt) http://www.vdr-portal.de/board/thread.php?postid=871430#post871430

Anzeige von RDS-Informationen.

Pfad und Typ der EPG-Bilder einstellen (von data)

Erweiterung der OSD Parameter für Ablagepfad und Dateityp (png,jpg) von EPG-Bildern.

Übergabe der Werte als Parameter für die Themes.

[Bearbeiten] Versions-Historie

Version Datum Beschreibung Link
0.4.0
0.4.0
0.3.7
  • neu: Funktionen des touchTFT Plugins
  • keine annähernd gleichen Setup Parameter mehr
  • optimierte Kalibrierung für xy Koordinaten
  • Testfunktion zum Koordinatencheck
  • neue Themes notwendig
  • Einblendbare Mausbuttons
  • Animation von bis zu 10 Bildern
  • Neue Funktionen zur Maus/Touchsteuerung für die Themes
0.3.7

[Bearbeiten] Entwicklerversionen

svn co https://vdr-graphtft.svn.sourceforge.net/svnroot/vdr-graphtft vdr-graphtft
svn co https://vdr-gtft-themes.svn.sourceforge.net/svnroot/vdr-gtft-themes themes

[Bearbeiten] Aktuelle Version

0.4.0

[Bearbeiten] Links

  1. Homepage des Plugins
  2. SVN Version
  3. Theme poetter
  4. graphtft auf sourceforge
  5. easyvdr compile problem
In anderen Sprachen