Graphlcd-plugin/touchcol: Difference between revisions

From VDR Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 62: Line 62:
| -p SKINPATH || || path to skin files
| -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">
<font id="FONTID" url="FONTURL" condition="CONDITION" />
<variable id="VARNAME" value="VARVALUE" condition="CONDITION" />
<display id="DISPLAYNAME">
<!-- attention: scope of variable stays skin-wide -->
<variable id="VARNAME" value="VARVALUE" condition="CONDITION" />
<text ...>
DATA
</text>
<image ... />
<rectangle ... />
<progress ... />
<block condition="CONDITION">
<text ...>
DATA
</text>
<image ... />
</block>
<!-- basic menu structure -->
<text ... >{MenuTitle}</text>
<list ...>
<item height="ITEMHEIGHT" />
<text ... >{MenuCurrent}</text>
<text ... >{Menuitem}</text>
<image ... path="MENUMARKER" condition="{IsMenuCurrent}" />
</list>
</display>
</skin>






==Problems==
==Problems==

Revision as of 21:12, 4 June 2010

Description

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 with customised skin another display with a customised skin
big one


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 retreived, installed, and compiled:
    • 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

At the end, the directory with the logos, fonts, and skins has to be copied to /etc/vdr/plugins

cp -r $SOURCEDIR/VDR/PLUGINS/src/graphlcd/graphlcd /etc/vdr/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