Graphlcd-plugin/touchcol: Difference between revisions

From VDR Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
==Description==
==Description==

'''Author:''' Community maintained.


This page is about a branch of the [[Graphlcd-plugin|GraphLCD plugin]] with built-in support for skins. The '''GraphLCD plugin''' integrates a graphical display into [[VDR]] and makes it possible to control VDR even if the television is off.
This page is about a branch of the [[Graphlcd-plugin|GraphLCD plugin]] with built-in support for skins. The '''GraphLCD plugin''' integrates a graphical display into [[VDR]] and makes it possible to control VDR even if the television is off.
Line 13: Line 15:
{|
{|
|- valign="bottom"
|- valign="bottom"
| [[Image:oled_pictiva256x64x4_graphlcd.jpg|OLED with customised skin]]
|colspan="2"| [[Image:oled_pictiva256x64x4_graphlcd.jpg|thumb|240px|''OLED, 256x64, customised skin'']]
| [[Image:sdcmegtron_graphlcds2.jpg|240px|another display with a customised skin]]
|- valign="bottom"
|- valign="bottom"
| [[Image:sdcmegtron_graphlcds2.jpg|thumb|none|''GLCD, 240x128, another customised skin'']]
|colspan="2"| [[Image:usb13700_tlx1342_graphlcd.jpg|580px|big one]]
| [[Image:usb13700_tlx1342_graphlcd.jpg|thumb|200px|''LCD panel, 640x200, connected to USB13700 module'']]
|}
|}


Line 32: Line 34:




* Then the VDR plugin needs to be retreived, installed, and compiled:
* Then the VDR plugin needs to be retrieved, installed, and compiled:
** Note: <tt>$SOURCEDIR/VDR</tt> is the source directory of VDR and needs to be adapted accordingly.
** Get current version of the branch from the GIT repository:
** Get current version of the branch from the GIT repository:
cd $SOURCEDIR/VDR/PLUGINS/src/
cd $SOURCEDIR/VDR/PLUGINS/src/
Line 38: Line 41:
ln -s vdr-plugin-graphlcd_0.2.0 graphlcd
ln -s vdr-plugin-graphlcd_0.2.0 graphlcd
:* compile plugin, eg:
:* compile plugin, eg:
cd $SOURCEDIR/VDR
cd $SOURCEDIR/VDR/
make plugins
make plugins


Line 44: Line 47:


==Configuration==
==Configuration==
At the end, the directory with the logos, fonts, and skins has to be copied to '''/etc/vdr/plugins'''
After finishing the installation, some files need to be copied.

cp -r $SOURCEDIR/VDR/PLUGINS/src/graphlcd/graphlcd /etc/vdr/plugins
* copy the configuration file <tt>graphlcd.conf</tt> to some destination, usually /etc:
cp graphlcd.conf /etc/
* copy the directory with logos, fonts, and skins to <tt>$VDRCONFIG/plugins</tt> (depending on your installation this will be <tt>/etc/vdr/plugins</tt>, or <tt>/video/plugins</tt>, or some other destination):
cp -r $SOURCEDIR/VDR/PLUGINS/src/graphlcd/graphlcd $VDRCONFIG/plugins/


===Parameter===
===Parameter===
Line 66: Line 73:
==Skins==
==Skins==


A '''skin''' gives a high flexibility of how and which information is brought to a display. Its markup language is the well-known '''XML'''.
A skin gives a high flexibility of how and which information is brought to a display. Its markup language is the well-known '''XML'''.


===Structure and elements of a skin===
===Structure and elements of a skin===

Revision as of 07:31, 6 June 2010

Description

Author: Community maintained.

This page is about a branch of the GraphLCD plugin with built-in support for skins. The GraphLCD plugin integrates a graphical display into VDR and makes it possible to control VDR even if the television is off.

The branch was started by Andreas 'powarman' Regel but was then abandoned and given to new maintainers by his request.

The functionality of this branch is rather impressive but unfortunately the code is hardly documented.

So this page will be used as a starting point for collecting and formatting its features. Thus this page will be started being a pigsty and improved 'along the way'.

Images

OLED, 256x64, customised skin
GLCD, 240x128, another customised skin
LCD panel, 640x200, connected to USB13700 module


Installation

Hardware requirements and installation of prerequisites

look at GraphLCD plugin.


  • First of all a current version (contains included skin support) of graphlcd-base (library with low level drivers and basic functionality) needs to be installed:
    • Get current version from the GIT repoository:
  git clone git://projects.vdr-developer.org/graphlcd-base.git
  • compile and install the library


  • Then the VDR plugin needs to be retrieved, installed, and compiled:
    • Note: $SOURCEDIR/VDR is the source directory of VDR and needs to be adapted accordingly.
    • Get current version of the branch from the GIT repository:
  cd $SOURCEDIR/VDR/PLUGINS/src/
  git clone git://projects.vdr-developer.org/vdr-plugin-graphlcd.git -b 0.2.0 vdr-plugin-graphlcd_0.2.0
  ln -s vdr-plugin-graphlcd_0.2.0 graphlcd
  • compile plugin, eg:
  cd $SOURCEDIR/VDR/
  make plugins

Everything else is the same as described in plugin installation.

Configuration

After finishing the installation, some files need to be copied.

  • copy the configuration file graphlcd.conf to some destination, usually /etc:
 cp graphlcd.conf /etc/
  • copy the directory with logos, fonts, and skins to $VDRCONFIG/plugins (depending on your installation this will be /etc/vdr/plugins, or /video/plugins, or some other destination):
 cp -r $SOURCEDIR/VDR/PLUGINS/src/graphlcd/graphlcd $VDRCONFIG/plugins/

Parameter

Parameter (short) Parameter (long) Description
-c CFG --config=CFG use CFG as driver config file
-d DISP --display=DISP use display DISP for ouput
-s SKIN --skin=SKIN use skin SKIN (default is "default")
-p SKINPATH path to skin files


Skins

A skin gives a high flexibility of how and which information is brought to a display. Its markup language is the well-known XML.

Structure and elements of a skin

Example skeleton of a skin

<?xml version="1.0"?>
<skin version="1.0" name="SKINNAME">
 

 <variable id="VARNAME" value="VARVALUE" condition="CONDITION" />

 <display id="DISPLAYNAME">

   <variable id="VARNAME" value="VARVALUE" condition="CONDITION" />

   <text ...>
     DATA
   </text>

   <image ... />
   <rectangle ... />
   <progress ... />

   <block condition="CONDITION">
     <text ...>
       DATA
     </text>
     <image ... />
   </block>

   <text ... >{MenuTitle}</text>
   <list ...>
     <item height="ITEMHEIGHT" />
     <text ... >{MenuCurrent}</text>
     <text ... >{Menuitem}</text>
     <image ... path="MENUMARKER" condition="{IsMenuCurrent}" />
   </list>

 </display>
</skin>



Problems

Links

[1] http://projects.vdr-developer.org/projects/show/graphlcd new plugin homepage
[2] http://projects.vdr-developer.org/wiki/graphlcd/GraphlcdSkin page for skin branch