Project

General

Profile

How to create a skin with Skindesigner (WIP)

Skindesigner is a powerful tool to create VDR skins using specialized XML code. The following documentation provides a detailed overview of the Skindesigner "internals", giving `skinners` all the necessary information to start skinning.

Using Skindesigner, you can customize any or all of the six different OSD views provided by VDR; main menu, channel switch, replay, message display, audio track selection, and volume selection. Each of these OSD views are represented by individual XML files. Each of these XML files contain all the elements necessary to create the visual appearance and information displayed by the OSD. Tokens are used to create each element type. Some elements are used to draw shapes, other elements are used to overlay text like channel names, show descriptions, EPG information, etc.

Skindesigner features extended capabilities as well such as interaction with other Skindesigner-compatible plugins (like vdr-weatherforecast), the ability to alter aspects of a skins behavior using a skin setup menu, and multiple themes that allow on-the-fly changes to things like colors, fonts, icons, and background images.

Each chapter in this documentation deals with different aspects of Skindesigner while each sub-chapter focuses on specifics. By reading through the chapters, you should have a basic understanding of what Skindesigner can do and how to use it. If you have any questions, please visit the forums at VDR Portal (http://www.vdr-portal.de) and ask!

Download the Skindesigner Plugin

Here always the most current Versions can be downloaded directly as a tarball:

https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git/

For installing the git repository, just use
git clone git://projects.vdr-developer.org/vdr-plugin-skindesigner.git

----

Content

1. Setup and Layout of a XML Skin

   1.1    General Directory Structure
   1.2    Theme Files
   1.3    globals.xml
   1.4    setup.xml and skin specific OSD setup menu
   1.5    Skin and XML File Structure
   1.6    SVG Templates

2. Structure of a SkinDesigner XML File in detail

   2.1    Views, Viewelements and Tokens
   2.2    Areas
   2.3    Basic Functions
   2.4    Numerical Attributes
   2.5    Conditions
   2.6    Complex Functions
   2.7    Scrolling Areas
   2.8    Area Containers
   2.9    Subviews
   2.10  List Views with Menu Items, List Elements and Current Element
   2.11  Tabbed Views with Tab Elements
   2.12  Custom Tokens

3. Skindesigner Plugin Interface

   3.1    The "basic" and the "advanced" Plugin Interface
   3.2    Preparing the plugin - "basic" or "advanced"?
   3.3    The basic Interface in detail
   3.4    The advanced Interface in detail

4. Useful Hints

   4.1    Getting started
   4.2    Debugging
   4.3    Best Practices