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

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

Project's homepage:          http://projects.vdr-developer.org/projects/plg-skindesigner

Latest version: http://projects.vdr-developer.org/projects/plg-skindesigner/files
GIT repository: git clone git://projects.vdr-developer.org/vdr-plugin-skindesigner.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.

Description
-----------

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

Currently three XML Skins (MetrixHD, nOpacity freestyle and blackhole) are included in
<pluginsourcedir>/skins/

Requirements
------------

- 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

Installation
------------

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
/usr/local.

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 
DO_NOT_USE_SKININSTALLER manually via CPP Flags:
make CPPFLAGS="-DDO_NOT_USE_SKININSTALLER"

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/)

-i <INSTALLERPATH>, --installerpath=<INSTALLERPATH>
    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

<ResourceDirectory>/plugins/skindesigner/skins/<skinname>/logos

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 https://github.com/3PO/Senderlogos
To download them just change in the directory you want to place the logos
and do a:
git clone https://github.com/3PO/Senderlogos.git logos
An update of the logos can then be done with a "git pull" just inside this
directory.

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.
