Graphtft-plugin-Themes-Anleitung

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Zur Anzeige von Daten nutzt das Graphtft-plugin so genannte Themes. Diese Themes können selbst nach eigenem Geschmack erstellt und verändert werden. Wie das im einzelnen geht und was für Funktionen hierfür zur Verfügung stehen, soll dieser Artikel näher bringen.


Inhaltsverzeichnis

Allgemeines

Wie werden Themes aufgebaut?

Wo werden diese abgelegt?

Beispiele...

...

Sektionen

Ein Theme besteht aus Sektionen, welche in eckigen Klammern [] markiert werden. Es gibt graphTFT interne Sektionen, aber auch welche die vom VDR oder von anderen Plugins, wie. z.B. das Arghdirector-plugin, speziell für das graphTFT eingerichtet wurden. So können für unterschiedlichste VDR Menüs jeweils eigene Beschreibungen angelegt werden.

In jeder Sektion stehen Variablen zur Verfügung, welche Daten vom VDR oder zuliefernden Plugins, wie z.B. das Music-plugin, enthalten und verwenden werden können. Die Art der Variablen machen die Buchstaben an Ende der Variablenbezeichnung deutlich.

Diese sind:

Buchstabe Bedeutung
t time
a text (alpha-num)
n number
f flag

Es gibt einige Variablen, welche in allen Sektionen zur Verfügung stehen.


Sektion Verwendung Verfügbare Variablen
[Calibration] Beschreibt die Darstellung der graphTFT internen Kalibrationsdarstellung.
[Menu]
[MenuArghDirector]
[MenuChannels]
[MenuCommands]
[MenuCommon]
[MenuEpgsSchedule]
[MenuEpgsWhatsOn_Event]
[MenuEpgsWhatsOn_logo_time]
[MenuEpgsWhatsOnElse]
[MenuEpgsWhatsOnNext]
[MenuEpgsWhatsOnNow]
[MenuEvent] {eventID} - n
{eventTitle} - a
{eventSubTitle} - a
{eventStartTime} - t
{eventEndTime} - t
[MenuExtRecording]
[MenuExtRecordings]
[MenuMain]
[MenuMusicTrackList]
[MenuRecording] {recordingPath} - a
{recordingTitle} - a
{recordingEventID} - n
{recordingPath} - a
{recordingTitle} - a
{recordingSubTitle} - a
{recordingTime} - t
{recordingChannel} - a
[MenuRecordings]
[MenuSchedule]
[MenuSetupPage]
[MenuSetupPlugins]
[MenuTimers]
[MenuUnknown]
[MenuWhatsOnNext]
[MenuWhatsOnNow]
[MouseButtons]
[NormalClock]
[NormalDia]
[NormalRadio]
[NormalSysinfo]
[NormalTV] {eventID} - n
{eventTitle} - a
{eventSubTitle} - a
{eventStartTime} - t
{eventEndTime} - t
[OSD-Messages]
[RecSymbol]
[ReplayCommon]
[ReplayDVD]
[ReplayMP3] {recordingPath} - a
{recordingTitle} - a
{recordingEventID} - n
{recordingPath} - a
{recordingTitle} - a
{recordingSubTitle} - a
{recordingTime} - t
{recordingChannel} - a

Music Plugin: (ReplayMP3 mit music Plugin, in der 'Player-View')
{musicArtist} - a
{musicAlbum} - a
{musicGenre} - a
{musicYear} - n // <0 wenn unbekannt
{musicFilename} - a
{musicComment} - a
{musicFrequence} - n
{musicBitrate} - n
{musicStereoMode} - a
{musicIndex} - n // Numer of Current Track
{musicCount} - n // Count of Tracks in Playlist
{musicPlayStatus} - a // Playing, Stopped, ...
{musicRating} - n // 0-nicht bewertet 3-zum löschen, >3-rating
{musicLoop} - f
{musicShuffle} - f
{musicShutdown} - f
{musicRecording} - f
{musicButtonRed} - a // Button-Texte des Music-Plugins
{musicButtonYellow} - a
{musicButtonGreen} - a
{musicButtonBlue} - a
{musicCoverName} - a // Cover Image (Pfad)

Beispiel:
Item=Text,text={time/%d.%m %H:%M},x=520,y=27,width=200,height=40,red=52,green=162,blue=159;
[ReplayNormal] {recordingPath} - a
{recordingTitle} - a
{recordingEventID} - n
{recordingPath} - a
{recordingTitle} - a
{recordingSubTitle} - a
{recordingTime} - t
{recordingChannel} - a
[Theme]
[TV_Radio_Common]
[Volume]

Funktionen / Items

In jeder Sektion finden verschiedene Funktionen Anwendung. So gibt die eine Funktion z.B. EPG Daten aus, die andere wiederum ein Bild oder eine Zeitleiste. Nicht alle Funktionen können in allen Sektionen verwendet werden, da hierfür entweder nicht die geeigneten Daten zur Verfügung stehen, es sich um spezielle graphTFT interne Funktionen handelt oder die Funktion im der gewählten Sektion keinen Sinn macht.

Funktion / Item Verwendung
Background
CalibrationCursor
Column
ColumnSelected
Defaults
EventColumn
EventColumnSelected
if - endif
#define - #ifdef - #else - #endif - #ifndef
Image
ImageFile
Include
MailCount
MailSymbol
Menu
MenuButtonBackgroundBlue
MenuButtonBackgroundGreen
MenuButtonBackgroundRed
MenuButtonBackgroundYellow
MenuButtonBlue
MenuButtonGreen
MenuButtonRed
MenuButtonYellow
MenuImageMap
MenuNavigationArea
MenuSelected
MenuText
MenuTitle
Message
PartingLine
Progressbar
Recording
Rectangle
SpectrumAnalyzer
Sym2ch
SymCrypt
SymDD
SymRecording
SymVTX
Sysinfo
Text Anzuzeigender Text
Der Text kann Variablen enthalten, diese werden in geschweiften Klammern angegeben. Für Datum/Zeit Felder kann optional ein Formatstring definiert werden.
Der Formatstring für Datum/Zeit entspricht dem in der Manpage zu strftime beschriebenen. Anzuzeigende Kommata und Semikolons im Formatstring müssen mit '\' maskiert werden.
TextList
Theme
Timebar
var
Volumebar

Parameter

Koordinaten

Größenangeben

Pfadangaben

Operatoren

Sollen Theme Items nur in bestimmten Situationen angezeigt werden kann dies über den Parameter condition erreicht werden.

Bedingungen können aufbauend auf den unten beschriebenen Variablen definiert werden.

Operator Bedeutung Verwendung
< kleiner
> größer
<= keiner gleich
>= größer gleich
<> ungleich
!= ungleich
= gleich
== gleich (c/c++ like ;))

Beispiel:

Item=Image,condition={musicLoop} == 1,x=25,y=515,width=20,height=20,fit=yes,path=symbols/music-loop.png;
Item=Image,condition={musicLoop} <> 1,x=25,y=515,width=20,height=20,fit=yes,path=symbols/music-noloop.png;