You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kamel5 5b61c36484 Fix compiler error 2 months ago
coreengine Fix compiler error 2 months ago
dtd Delete asterisk 3 months ago
extensions Fix Incorrect detection of a recording that is currently running 3 months ago
extrecinfo added extented recording information 7 years ago
fonts/VDROpenSans initial commit version 0.0.1 7 years ago
libskindesignerapi Version 1.2.8 2 years ago
patches Eliminate a lock sequence report in vdr-2.4.0_zapcockpit.patch 1 year ago
po Refactor reruns 1 year ago
scripts improved vdrstats.default script 5 years ago
services Update services/epgtimer.h 1 year ago
skins Update Skin estuary4vdr 2 months ago
skinskeleton Add token errors for recordings (VDR >= 2.5.4) 2 months ago
themes update metrixhd - thx@saman 5 years ago
.gitignore introduced libskindesignerapi 6 years ago
COPYING initial commit version 0.0.1 7 years ago
HISTORY Version 1.2.17 2 months ago
Makefile Install libskindesignerapi after all other 1 year ago
README improved disabling of skininstaller 5 years ago
config.c Refresh imgCache if OsdProvider was changed (Thanks to lnj 8 months ago
config.h Refresh imgCache if OsdProvider was changed (Thanks to lnj 8 months ago
designer.c also be initialized in case of backup skin is active 6 months ago
designer.h SVDRP: do not reload in case plugin is not fully initialized (results in VDR crash) 6 months ago
displaychannel.c Eliminate a look sequence report in displaychannel 2 years ago
displaychannel.h left / right keys in zappilot configurable in skin 5 years ago
displaymenu.c compatibility to vdr 2.3.8 4 years ago
displaymenu.h compatibility to vdr 2.3.8 4 years ago
displaymessage.c Version 0.8.0 beta 6 years ago
displaymessage.h Version 0.8.0 beta 6 years ago
displayreplay.c Fix segfault with mpv plugin (thx to @lnj at 4 months ago
displayreplay.h Eliminate SetRecordingLength 6 months ago
displaytracks.c Version 0.8.0 beta 6 years ago
displaytracks.h Version 0.8.0 beta 6 years ago
displayvolume.c Version 0.8.0 beta 6 years ago
displayvolume.h Version 0.8.0 beta 6 years ago
setup.c Refactor reruns 1 year ago
setup.h Refactor reruns 1 year ago
skindesigner.c Version 1.2.17 2 months ago


This is a "plugin" for the Video Disk Recorder (VDR).

Written by: Louis Braun <louis DOT braun AT gmx DOT de>

Project's homepage:

Latest version:
GIT repository: git clone git://

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
See the file COPYING for more information.


Skindesigner is a VDR skin engine that displays XML based Skins.

Currently three XML Skins (MetrixHD, nOpacity freestyle and blackhole) are included in


- VDR version >= 2.2.0

- cairo

- librsvg-2 >= 2.36.0

- libxml2

- libcurl

- softhddevice plugin revision ec58e456 (2015-06-13) or newer. With older
versions shifting does not work properly

- For displaying horizontal menus with VDR <= 2.2.x a VDR patch is required
(see /patches/vdr-2.2.0_horizontal_menu.patch in the plugin source directory)
Without this patch the keys left/right and up/down are not toggled in
horizontal menus. With VDR >= 2.3.1 this patch is not needed anymore.

- epgsearch Git since commit ba7c6277 (2013-01-03) to correctly replace the
schedules menu with epgsearch


Skindesigner consists of the Skindesigner Plugin itself and a shared library
called "libSkindesignerAPI" which allows other Plugins to use the facilities of
Skindesigner. Since these other Plugins need to have access to the library,
the library has to be proper installed on your system.

With a "make install" both the plugin and the library are installed on your
system. The destination where the library will be installed can be set with
the PREFIX parameter: "PREFIX=/usr make install". Default of PREFIX is

After installation check if libskindesignerapi.pc is correctly found in your
PKG_CONFIG_PATH. Other Plugins using the library issue the following
commands in their makefiles which should also work on your commandline:
pkg-config --cflags libskindesignerapi
pkg-config --libs libskindesignerapi
pkg-config --modversion libskindesignerapi

Note that skindesigner itself and all plugins which use libSkindesignerAPI have to
be build against the same major verison of the library to be compatible.

If you like to disable the possibility to install skins from skindesigner setup
menu, you can enable the option in the makefile or set the option

After installation you have to care about the paths for the XML skins and epg images.
The following paths can be set at startup:

-s <SKINPATH>, --skinpath=<SKINPATH>
Path where XML skins get installed by "make install" or by package manager
(Default: <ResourceDirectory>/plugins/skindesigner/skins/)

Path where XML skins are installed by the Skindesigner Installer
(Default: <ConfigDirectory>/plugins/skindesigner/installerskins/)

-l <LOGOPATH>, --logopath=<LOGOPATH>
Path to common logo set for all skins (Default: <ResourceDirectory>/plugins/skindesigner/logos/)

-e path, --epgimages=path
Path to the epgimages (Default: <CacheDirectory>/epgimages/)

ResourceDirectory, ConfigDirectory and CacheDirectory are taken from your VDR configuration
(make.config or vdr.pc).

During a "make install" the included skins are automatically copied from
<SkinSourceDirectory>/skins/ to the configured skin path.

Important: All Skins (both the skins installed by a packet manager or by "make install" and the
skins installed with Skindesigner) need the directory "dtd" accessible one level above the directory
the skin itself is placed. With a "make install" the dtd directory is copied to <ResourceDirectory>/dtd.
If you use a <SKINPATH> different to the default, please add a symlink in the appropriate directory
to <ResourceDirectory>/dtd.
Add this symlink necessarily for the skins installed to <INSTALLERPATH>. If
<INSTALLERPATH> is /var/cache/vdr/plugins/skindesigner/skins for instance, and the dtd directory
is located at /etc/vdr/plugins/skindesigner/dtd, create the following symlink:

ln -s /etc/vdr/plugins/skindesigner/dtd /var/cache/vdr/plugins/skindesigner/dtd

For S2-6400 Users: Disable High Level OSD, otherwise the plugin will not be
loaded because lack of true color support

For Xine-Plugin Users: Set "Blend scaled Auto" as OSD display mode to achieve
an suitable true color OSD.

For Xineliboutput Users: Start vdr-sxfe with the --hud option enabled

Since the default skin MetrixHD uses VDROpenSans as font which is not installed
per default, you may want to install this font (included in
<SkinSourceDirectory>/fonts/) first. Otherwise the inside VDRs OSD menu
configured vdrOsd Font is used as default.

Channel Logos

Since each XML skin is responsible for it's used channel logos, skindesigner
searches for channel logos only in the skin dependend directory


Each copy your used logos directly to this directory or set a symbolic link to
a common channellogo directory.

I recommend to use channel logos from
To download them just change in the directory you want to place the logos
and do a:
git clone logos
An update of the logos can then be done with a "git pull" just inside this

In this logo pack all files are named only with lower case letters.
Skindesigner uses the channel name CONVERTED TO LOWER CASE LETTERS to search
for an appropriate channel logo. With this, approximately 90% of the channel
logos should work immediately after placing the channel logos in the correct
place. So if you have to change the name of a channel logo (may be by inserting
a space or a hyphen) so that it fits to the channel name, only use lower case
letters, and not the name of the channel with upper and lower letters as
displayed inside VDR.
If no logo is found for the channel name, additionally a search for a logo
named as the ChannelID is performed. Analog to the channel name the ChannelID
is also converted to lower case letters. This allows channel logos for channels
with changing names (for instance Sky Feed Channels).
Additional hint: some channels have slashes in their name (in germany
nick/comedy for instance).
In this example, as a dirty hack just create a folder in your channel logo
directory named "nick" and place an image named "comedy.png" inside this folder.