Graphlcd-plugin/touchcol

From VDR Wiki
Revision as of 07:31, 6 June 2010 by Mrwastl (talk | contribs)
Jump to navigation Jump to search

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