Text2skin-skin reference: Difference between revisions
(22 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{Box |
{{Box Info| |
||
This documentation is valid for the "1.0" version of the [[text2skin-plugin]]. |
This documentation is valid for the "1.0" version of the [[text2skin-plugin]]. |
||
}} |
}} |
||
Line 13: | Line 13: | ||
!Description |
!Description |
||
|- |
|- |
||
| version || VERSION || Version of the skin |
| version || VERSION || Version of the skin format (this is fix value, currently "1.0") |
||
|- |
|- |
||
| name || NAME || Name to display in the VDR-OSD |
| name || NAME || Name to display in the VDR-OSD |
||
|- |
|- |
||
| screenBase || |
|||
| screenBase || "relative","absolute" || defines wether the skin be drawn ''relative''' to the VDR setup or ''absolute'' to the coordinates 720x576 |
|||
* relative |
|||
* absolute |
|||
| Should the skin be drawn "relative" (OSD left, top, width, height) to the VDR setup or "absolute" to an area of 720x576 |
|||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
!example |
!example |
||
Line 33: | Line 36: | ||
===<display>=== |
===<display>=== |
||
For each |
For each type of the OSD display a <display>-section is required. |
||
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;" |
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;" |
||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
Line 49: | Line 51: | ||
* replaySmall |
* replaySmall |
||
* menu |
* menu |
||
* audioTracks |
|||
| Type of the OSD view |
|||
| Type of the OSD display |
|||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
!example |
!example |
||
Line 67: | Line 70: | ||
===<window>=== |
===<window>=== |
||
Each <display>-container has to start with a definition of drawing areas |
Each <display>-container has to start with a definition of drawing areas. |
||
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;" |
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;" |
||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
Line 82: | Line 85: | ||
| y2 || NUMBER || Position of the bottom border |
| y2 || NUMBER || Position of the bottom border |
||
|- |
|- |
||
| bpp || NUMBER || [[ |
| bpp || NUMBER || [[#color|Color]] depth of the drawing area (4 = 16 colors, 8 = 256 colors) |
||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
!example |
!example |
||
Line 119: | Line 122: | ||
| condition || FUNCTION/TOKEN || Complex condition |
| condition || FUNCTION/TOKEN || Complex condition |
||
|- |
|- |
||
| color || STRING || [[ |
| color || STRING || [[#color|Color]] of the rectangle |
||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
!example |
!example |
||
Line 141: | Line 144: | ||
| y1 || NUMBER || Position of the top border |
| y1 || NUMBER || Position of the top border |
||
|- |
|- |
||
| |
| x2 || NUMBER || Position of the right border |
||
|- |
|- |
||
| |
| y2 || NUMBER || Position of the bottom border |
||
|- |
|- |
||
| condition || FUNCTION/TOKEN || Complex condition |
| condition || FUNCTION/TOKEN || Complex condition |
||
|- |
|- |
||
| color || STRING || [[ |
| color || STRING || [[#color|Color]] |
||
|- |
|- |
||
| arc || NUMBER || |
| arc || NUMBER || [[#arc|Pitch circle]] |
||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
!example |
!example |
||
Line 171: | Line 174: | ||
| y1 || NUMBER || Position of the top border |
| y1 || NUMBER || Position of the top border |
||
|- |
|- |
||
| |
| x2 || NUMBER || Position of the right border |
||
|- |
|- |
||
| |
| y2 || NUMBER || Position of the bottom border |
||
|- |
|- |
||
| condition || FUNCTION/TOKEN || Complex condition |
| condition || FUNCTION/TOKEN || Complex condition |
||
|- |
|- |
||
| color || STRING || [[ |
| color || STRING || [[#color|Color]] |
||
|- |
|- |
||
| arc || NUMBER || Direction |
| arc || NUMBER || [[#arc|Direction]] |
||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
!example |
!example |
||
Line 186: | Line 189: | ||
|- |
|- |
||
|colspan=3| |
|colspan=3| |
||
<slope x1="10" x2="100" y1="10" y2="100" arc="1" color="#CC000066" /> |
|||
;-( |
|||
|} |
|} |
||
Line 197: | Line 200: | ||
!Description |
!Description |
||
|- |
|- |
||
| x || NUMBER || Position of the left border ( |
| x || NUMBER || Position of the left border (no scaling) |
||
|- |
|- |
||
| y || NUMBER || Position of the top border ( |
| y || NUMBER || Position of the top border (no scaling) |
||
|- |
|- |
||
| x1 || NUMBER || Position of the left border ( |
| x1 || NUMBER || Position of the left border (with scaling) |
||
|- |
|- |
||
| y1 || NUMBER || Position of the top border ( |
| y1 || NUMBER || Position of the top border (with scaling) |
||
|- |
|- |
||
| x2 || NUMBER || Position of the right border ( |
| x2 || NUMBER || Position of the right border (with scaling) |
||
|- |
|- |
||
| y2 || NUMBER || Position of the bottom border ( |
| y2 || NUMBER || Position of the bottom border (with scaling) |
||
|- |
|- |
||
| condition || FUNCTION/TOKEN || Complex condition |
| condition || FUNCTION/TOKEN || Complex condition |
||
|- |
|- |
||
| alpha || NUMBER || [[ |
| alpha || NUMBER || [[#color|Transparency]] (0-255) |
||
|- |
|- |
||
| colors || NUMBER || |
| colors || NUMBER || Maximum amount of colors in the scaled image (if scaling should be applied) |
||
|- |
|- |
||
| color || STRING || |
| color || STRING || [[#color|Replacement color]] for color 1 of the image |
||
|- |
|- |
||
| bgColor || STRING || |
| bgColor || STRING || [[#color|Replacement color]] for color 0 of the image |
||
|- |
|- |
||
| maskColor || STRING || [[#color|Mask color]] (skipped when image is drawn) |
|||
| path || STRING/TOKEN || path to picture |
|||
|- |
|||
| path || STRING/TOKEN || Image file |
|||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
!example |
!example |
||
Line 242: | Line 247: | ||
| y1 || NUMBER || Position of the top border |
| y1 || NUMBER || Position of the top border |
||
|- |
|- |
||
| |
| x2 || NUMBER || Position of the right border |
||
|- |
|- |
||
| |
| y2 || NUMBER || Position of the bottom border |
||
|- |
|- |
||
| condition || FUNCTION/TOKEN || Complex condition |
| condition || FUNCTION/TOKEN || Complex condition |
||
|- |
|- |
||
| color || STRING || |
| color || STRING || [[#color|Text color]] |
||
|- |
|- |
||
| align || |
| align || |
||
Line 256: | Line 261: | ||
| Alignment of the text |
| Alignment of the text |
||
|- |
|- |
||
| font || STRING || [[ |
| font || STRING || [[#font|Font name]] |
||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
!example |
!example |
||
Line 278: | Line 283: | ||
| y1 || NUMBER || Position of the top border |
| y1 || NUMBER || Position of the top border |
||
|- |
|- |
||
| |
| x2 || NUMBER || Position of the right border |
||
|- |
|- |
||
| |
| y2 || NUMBER || Position of the bottom border |
||
|- |
|- |
||
| condition || FUNCTION/TOKEN || Complex condition |
| condition || FUNCTION/TOKEN || Complex condition |
||
|- |
|- |
||
| color || STRING || |
| color || STRING || [[#color|Text color]] |
||
|- |
|- |
||
| delay || NUMBER || |
| delay || NUMBER || Scroll rate (in msec) |
||
|- |
|- |
||
| align || |
| align || |
||
Line 294: | Line 299: | ||
| Alignment of the text |
| Alignment of the text |
||
|- |
|- |
||
| font || STRING || [[ |
| font || STRING || [[#font|Font name]] |
||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
!example |
!example |
||
Line 316: | Line 321: | ||
| y1 || NUMBER || Position of the top border |
| y1 || NUMBER || Position of the top border |
||
|- |
|- |
||
| |
| x2 || NUMBER || Position of the right border |
||
|- |
|- |
||
| |
| y2 || NUMBER || Position of the bottom border |
||
|- |
|- |
||
| condition || FUNCTION/TOKEN || Complex condition |
| condition || FUNCTION/TOKEN || Complex condition |
||
|- |
|- |
||
| color || STRING || |
| color || STRING || [[#color|Text color]] |
||
|- |
|- |
||
| blinkColor || STRING || |
| blinkColor || STRING || [[#color|Highlight color]] (optional; default: on/off) |
||
|- |
|- |
||
| delay || NUMBER || |
| delay || NUMBER || Blink rate (in msec) |
||
|- |
|- |
||
| align || |
| align || |
||
Line 334: | Line 339: | ||
| Alignment of the text |
| Alignment of the text |
||
|- |
|- |
||
| font || STRING || [[ |
| font || STRING || [[#font|Font name]] |
||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
!example |
!example |
||
Line 341: | Line 346: | ||
|- |
|- |
||
|colspan=3| |
|colspan=3| |
||
<blink x1="30" x2="80" y1="90" y2="80" color="Text" blinkColor="Green" delay="800" font="Sml" condition="{IsRunning}">{PresentStartDateTime:%H\:%M}</blink> |
|||
;-( |
|||
|} |
|} |
||
Line 356: | Line 361: | ||
| y1 || NUMBER || Position of the top border |
| y1 || NUMBER || Position of the top border |
||
|- |
|- |
||
| |
| x2 || NUMBER || Position of the right border |
||
|- |
|- |
||
| |
| y2 || NUMBER || Position of the bottom border |
||
|- |
|- |
||
| condition || FUNCTION/TOKEN || Complex condition |
| condition || FUNCTION/TOKEN || Complex condition |
||
|- |
|- |
||
| color || STRING || [[ |
| color || STRING || [[#color|Text color]] |
||
|- |
|- |
||
| align || |
| align || |
||
Line 370: | Line 375: | ||
| Alignment of the text |
| Alignment of the text |
||
|- |
|- |
||
| font || STRING || [[ |
| font || STRING || [[#font|Font name]] |
||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
!example |
!example |
||
Line 395: | Line 400: | ||
| y1 || NUMBER || Position of the top border |
| y1 || NUMBER || Position of the top border |
||
|- |
|- |
||
| |
| x2 || NUMBER || Position of the right border |
||
|- |
|- |
||
| |
| y2 || NUMBER || Position of the bottom border |
||
|- |
|- |
||
| condition || FUNCTION/TOKEN || Complex condition |
| condition || FUNCTION/TOKEN || Complex condition |
||
|- |
|- |
||
| color || STRING || [[ |
| color || STRING || [[#color|Color]] of the bar |
||
|- |
|- |
||
| bgColor || STRING || [[ |
| bgColor || STRING || [[#color|Color]] of the background |
||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
!example |
!example |
||
Line 425: | Line 430: | ||
| y1 || NUMBER || Position of the top border |
| y1 || NUMBER || Position of the top border |
||
|- |
|- |
||
| |
| x2 || NUMBER || Position of the right border |
||
|- |
|- |
||
| |
| y2 || NUMBER || Position of the bottom border |
||
|- |
|- |
||
| condition || FUNCTION/TOKEN || Complex condition |
| condition || FUNCTION/TOKEN || Complex condition |
||
|- |
|- |
||
| color || STRING || [[ |
| color || STRING || [[#color|Color]] of the bar |
||
|- |
|- |
||
| bgColor || STRING || [[ |
| bgColor || STRING || [[#color|Color]] of the background |
||
|- |
|- |
||
| mark || STRING || [[ |
| mark || STRING || [[#color|Color]] of the cutting marks |
||
|- |
|- |
||
| active || STRING || [[ |
| active || STRING || [[#color|Color]] of the active area |
||
|- |
|- |
||
| keep || STRING || [[ |
| keep || STRING || [[#color|Color]] of the video area that should be kept |
||
|- |
|- |
||
| current || NUMBER/TOKEN || Current index value |
| current || NUMBER/TOKEN || Current index value |
||
Line 451: | Line 456: | ||
|colspan=3| |
|colspan=3| |
||
<progress x1="19" x2="556" y1="-17" y2="-7" color="#AF000000" current="{VolumeCurrent}" total="{VolumeTotal}" /> |
<progress x1="19" x2="556" y1="-17" y2="-7" color="#AF000000" current="{VolumeCurrent}" total="{VolumeTotal}" /> |
||
<progress x1="129" x2="478" y1="487" y2="502" color="#FFCE7B00" bgColor="Blue" mark="Black" active="Black" keep="Black" current="{ReplayPositionIndex}" total="{ReplayDurationIndex}"/> |
|||
|} |
|} |
||
===<block>=== |
===<block>=== |
||
A '''<block></block>''' |
A '''<block></block>''' groups several objects together. |
||
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;" |
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;" |
||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
Line 461: | Line 468: | ||
!Description |
!Description |
||
|- |
|- |
||
| condition || FUNCTION |
| condition || FUNCTION/TOKEN || Complex condition |
||
|- bgcolor=#efefef |
|- bgcolor=#efefef |
||
!example |
!example |
||
Line 486: | Line 493: | ||
| y1 || NUMBER || Position of the top border |
| y1 || NUMBER || Position of the top border |
||
|- |
|- |
||
| |
| x2 || NUMBER || Position of the right border |
||
|- |
|- |
||
| |
| y2 || NUMBER || Position of the bottom border |
||
|- |
|- |
||
| condition || FUNCTION/TOKEN || Complex condition |
| condition || FUNCTION/TOKEN || Complex condition |
||
Line 515: | Line 522: | ||
!Description |
!Description |
||
|- |
|- |
||
| condition || |
| condition || FUNCTION/TOKEN || Complex condition (possible, but makes little sense) |
||
|- |
|- |
||
| height || NUMBER || Height of one list item |
| height || NUMBER || Height of one list item |
||
Line 542: | Line 549: | ||
!Description |
!Description |
||
|- |
|- |
||
| DateTime || ( |
| DateTime || (see "man strftime") || Current date/time |
||
|- |
|||
| IsRecording || || True, if VDR is currently recording |
|||
|- |
|||
| CurrentRecording || || delivers every 2 secs all current recordings <br/>Attribute: Number to choose n-th current recording |
|||
|- |
|||
| FreeDiskSpace || || Remaining free disk space in MB<br/>Attribute: return as formatted time. |
|||
|- |
|||
| CanScrollUp || || True, if scrollable text can be scrolled up |
|||
|- |
|||
| CanScrollDown || || True, if scrollable text can be scrolled down |
|||
|- |
|||
| AudioTrack || || Identifier of the current audio-track |
|||
|- |
|||
| AudioChannel || || Identifier of the switched channel ("stereo", "left" or "right") |
|||
|- |
|||
| ReplayMode || || Type of the replay (e.g. "dvd", "vcd", "mp3", "normal", ...) |
|||
|- |
|||
| ReplayIsShuffle || || True, if replay is in shuffle mode (currently only in mp3 mode) |
|||
|- |
|||
| ReplayIsLoop || || True, if replay is in loop mode (currently only in mp3 mode) |
|||
|} |
|} |
||
Line 552: | Line 579: | ||
!Description |
!Description |
||
|- |
|- |
||
| ChannelNumber || || |
| ChannelNumber || || Channel number ("channel number-" if there is an input at this time) |
||
|- |
|- |
||
| ChannelName || || |
| ChannelName || || Channel or group name |
||
|- |
|- |
||
| ChannelShortName || || |
| ChannelShortName || || Short name of channel if available |
||
|- |
|- |
||
| ChannelBouquet || || |
| ChannelBouquet || || Provider/bouquet name, if available |
||
|- |
|- |
||
| ChannelPortal || || |
| ChannelPortal || || Portal name if available |
||
|- |
|- |
||
| ChannelSource || || |
| ChannelSource || || Signal source (e.g. "S19.2E") |
||
|- |
|- |
||
| ChannelID || || Identifier of the current channel |
|||
| PresentStartDateTime || (also in [[#Menu Display]]) || |
|||
|- |
|- |
||
| |
| PresentStartDateTime || (also in [[#Menu Display|Menu Display]]) || Start time of current title |
||
|- |
|- |
||
| |
| PresentVPSDateTime || (also in [[#Menu Display|Menu Display]]) || VPS start time of current title if available |
||
|- |
|- |
||
| |
| PresentEndDateTime || (also in [[#Menu Display|Menu Display]]) || End time of current title |
||
|- |
|- |
||
| |
| PresentDuration || (also in [[#Menu Display|Menu Display]]) || Duration of current title |
||
|- |
|- |
||
| PresentProgress || (also in [[#Menu Display]]) || |
| PresentProgress || (also in [[#Menu Display|Menu Display]]) || Elapsed time of current title |
||
|- |
|- |
||
| |
| PresentRemaining || (also in [[#Menu Display|Menu Display]]) || Remaining time of current title |
||
|- |
|- |
||
| |
| PresentTitle || (also in [[#Menu Display|Menu Display]]) || Title/heading of current title |
||
|- |
|- |
||
| |
| PresentShortText || (also in [[#Menu Display|Menu Display]]) || Short text/episode of current title |
||
|- |
|- |
||
| PresentDescription || (also in [[#Menu Display|Menu Display]]) || Description of current title |
|||
| FollowingStartDateTime || || |
|||
|- |
|- |
||
| PresentHasTimer (alt: HasTimer) || (also in [[#Menu Display|Menu Display]]) || True, if a timer for the current title is set |
|||
| FollowingVPSDateTime || || |
|||
|- |
|- |
||
| PresentIsRunning (alt: IsRunning) || (also in [[#Menu Display|Menu Display]]) || True, if the current title has the state "running" |
|||
| FollowingEndDateTime || || |
|||
|- |
|- |
||
| |
| PresentHasVPS || (also in [[#Menu Display|Menu Display]]) || True, if VPS for the current title is available |
||
|- |
|- |
||
| |
| FollowingStartDateTime || || Start time of following title |
||
|- |
|- |
||
| |
| FollowingVPSDateTime || || VPS start time of following title if available |
||
|- |
|- |
||
| |
| FollowingEndDateTime || || End time of following title |
||
|- |
|- |
||
| |
| FollowingDuration || || Duration of following title |
||
|- |
|- |
||
| FollowingTitle || || Title/heading of following title |
|||
| ButtonGreen || (also in [[#Menu Display]], [[#Replay Display]]) || |
|||
|- |
|- |
||
| FollowingShortText || || Short text/episode of following title |
|||
| ButtonYellow || (also in [[#Menu Display]], [[#Replay Display]]) || |
|||
|- |
|- |
||
| FollowingDescription || || Description of following title |
|||
| ButtonBlue || (also in [[#Menu Display]], [[#Replay Display]]) || |
|||
|- |
|- |
||
| |
| FollowingHasTimer || || True, if the following title is targeted by a timer |
||
|- |
|- |
||
| |
| FollowingIsRunning || || True, if the following title has the status "running" |
||
|- |
|- |
||
| |
| FollowingHasVPS || || True, if the following title has it's own VPS-time |
||
|- |
|- |
||
| |
| ButtonRed || (also in [[#Menu Display|Menu Display]], [[#Replay Display|Replay Display]]) || Caption of red button if available |
||
|- |
|- |
||
| |
| ButtonGreen || (also in [[#Menu Display|Menu Display]], [[#Replay Display|Replay Display]]) || Caption of green button if available |
||
|- |
|- |
||
| ButtonYellow || (also in [[#Menu Display|Menu Display]], [[#Replay Display|Replay Display]]) || Caption of yellow button if available |
|||
| IsRadio || || |
|||
|- |
|- |
||
| |
| ButtonBlue || (also in [[#Menu Display|Menu Display]], [[#Replay Display|Replay Display]]) || Caption of blue button if available |
||
|- |
|- |
||
| |
| Language || || language (currently only "Audio 1", "Audio 2" or "Digital Audio") |
||
|- |
|- |
||
| |
| ChannelHasTeletext (alt:HasTeletext) || || True, if teletext is available on current channel |
||
|- |
|- |
||
| |
| ChannelHasMultilang (alt: HasMultilang) || || True, if multi language on current channel |
||
|- |
|||
| ChannelHasDolby (alt: HasDolby) || || True, if Dolby Digital on current channel |
|||
|- |
|||
| ChannelIsEncrypted (alt: IsEncrypted) || || True, if current channel is encrypted |
|||
|- |
|||
| ChannelIsRadio (alt: IsRadio) || || True, if current channel is a radio channel |
|||
|- |
|||
| ChannelHasVPS (alt: HasVPS) || (also in [[#Menu Display|Menu Display]]) || True, if current channel can broadcast VPS |
|||
|} |
|} |
||
Line 632: | Line 667: | ||
!Description |
!Description |
||
|- |
|- |
||
| VolumeCurrent || || |
| VolumeCurrent || || Current volume (0-VolumeTotal) (numeric) |
||
|- |
|- |
||
| VolumeTotal || || |
| VolumeTotal || || Maximum value for volume |
||
|- |
|- |
||
| |
| VolumeIsMute (alt: IsMute) || || True, if volume is muted |
||
|} |
|} |
||
Line 646: | Line 681: | ||
!Description |
!Description |
||
|- |
|- |
||
| Message || |
| Message || (also in all other displays) || Text of the current message if available (whatever type) |
||
|- |
|- |
||
| MessageStatus || |
| MessageStatus || (also in all other displays) || Text of the current message if available (status message) |
||
|- |
|- |
||
| MessageInfo || |
| MessageInfo || (also in all other displays) || Text of the current message if available (information) |
||
|- |
|- |
||
| MessageWarning || |
| MessageWarning || (also in all other displays) || Text of the current message if available (warning) |
||
|- |
|- |
||
| MessageError || |
| MessageError || (also in all other displays) || Text of the current message if available (error) |
||
|} |
|} |
||
Line 664: | Line 699: | ||
!Description |
!Description |
||
|- |
|- |
||
| ReplayTitle || |
| ReplayTitle || Attribute: clean || Title of the current replay |
||
|- |
|- |
||
| ReplayPositionIndex || || |
| ReplayPositionIndex || || Position in the current replay (numeric, analog to PresentProgress) |
||
|- |
|- |
||
| ReplayDurationIndex || || |
| ReplayDurationIndex || || Duration of the current replay (numeric, analog to PresentDuration) |
||
|- |
|- |
||
| |
| ReplayRemaining || || Remaining time of the current replay (numeric, analog to PresentRemaining) |
||
|- |
|- |
||
| |
| ReplayPrompt || || Input request, if available (e.g. "Jump: --:--") |
||
|- |
|- |
||
| |
| ReplayIsPlaying (alt: IsPlaying) || Attribute: 0 = no multispeed, 1-3 = multispeed, nothing = any || True, if a replay is runnning at normal speed |
||
|- |
|- |
||
| ReplayIsFastForward (alt: IsFastForward) || Attribute: 0 = no multispeed, 1-3 = multispeed, nothing = any || True, if fast forward |
|||
| IsFastRewind || || |
|||
|- |
|- |
||
| ReplayIsFastRewind (alt: IsFastRewind) || Attribute: 0 = no multispeed, 1-3 = multispeed, nothing = any || True, if fast rewind |
|||
| IsSlowForward || || |
|||
|- |
|- |
||
| ReplayIsSlowForward (alt: IsSlowForward) || Attribute: 0 = no multispeed, 1-3 = multispeed, nothing = any || True, if slow forward |
|||
| IsSlowRewind || || |
|||
|- |
|- |
||
| ReplayIsSlowRewind (alt: IsSlowRewind) || Attribute: 0 = no multispeed, 1-3 = multispeed, nothing = any || True, if slow rewind |
|||
| IsPausing || || |
|||
|- |
|- |
||
| |
| ReplayIsPausing (alt: IsPausing) || Attribute: 0 = no multispeed, 1-3 = multispeed, nothing = any || True, if replay is pausing |
||
|- |
|- |
||
| |
| ReplayPosition || || Position in the replay, completely formatted, with frames at cutting marks, otherwise without frames |
||
|- |
|- |
||
| |
| ReplayDuration || || Duration of the replay, completely formatted |
||
|- |
|- |
||
| |
| ButtonRed || (also in [[#Channel Display|Channel Display]], [[#Menu Display|Menu Display]]) || Caption of red button if available |
||
|- |
|- |
||
| |
| ButtonGreen || (also in [[#Channel Display|Channel Display]], [[#Menu Display|Menu Display]]) || Caption of green button if available |
||
|- |
|- |
||
| |
| ButtonYellow || (also in [[#Channel Display|Channel Display]], [[#Menu Display|Menu Display]]) || Caption of yellow button if available |
||
|- |
|- |
||
| |
| ButtonBlue || (also in [[#Channel Display|Channel Display]], [[#Menu Display|Menu Display]]) || Caption of blue button if available |
||
|- |
|||
| ButtonBlue || (also in [[#Channel Display]], [[#Menu Display]]) || |
|||
|} |
|} |
||
Line 708: | Line 741: | ||
!Description |
!Description |
||
|- |
|- |
||
| MenuTitle || Attribute: "clean" |
| MenuTitle || Attribute: "clean", "rest"|| Title of the menu page, or filtered title with "clean" or rest of the filtered title |
||
|- |
|- |
||
| MenuGroup || || |
| MenuGroup || || Text of the current list item if it is a group/delimiter |
||
|- |
|- |
||
| IsMenuGroup || || |
| IsMenuGroup || || True, if currently drawn list item is a group/delimiter |
||
|- |
|- |
||
| MenuItem || || |
| MenuItem || || Text of the current list item if it is a normal entry |
||
|- |
|- |
||
| IsMenuItem || || |
| IsMenuItem || || True, if currently drawn list item is a normal entry |
||
|- |
|- |
||
| MenuCurrent || |
| MenuCurrent || Attribute: "clean" || Text of the current list item if it is the selected entry |
||
|- |
|- |
||
| IsMenuCurrent || || |
| IsMenuCurrent || || True, if currently drawn list item is the selected entry |
||
|- |
|- |
||
| MenuText || Attribute: "clean" || |
| MenuText || Attribute: "clean" || Text page to display instead of the list (e.g. display in the command menu) |
||
|- |
|- |
||
| RecordingName || || Name of the current recording |
|||
| ButtonRed || (also in [[#Channel Display]], [[#Replay Display]]) || |
|||
|- |
|- |
||
| RecordingDateTime || || Start time of the current recording |
|||
| ButtonGreen || (also in [[#Channel Display]], [[#Replay Display]]) || |
|||
|- |
|- |
||
| RecordingTitle || || Title/heading of the current recording |
|||
| ButtonYellow || (also in [[#Channel Display]], [[#Replay Display]]) || |
|||
|- |
|- |
||
| RecordingShortText || || Short text/episode of the current recording |
|||
| ButtonBlue || (also in [[#Channel Display]], [[#Replay Display]]) || |
|||
|- |
|- |
||
| |
| RecordingDescription || || Description of the current recording |
||
|- |
|- |
||
| |
| RecordingLanguageCode || || |
||
|- |
|- |
||
| RecordingLanguageDescription || || |
|||
| PresentStartDateTime || (also in [[#Channel Display]]) || |
|||
|- |
|- |
||
| |
| ButtonRed || (also in [[#Channel Display|Channel Display]], [[#Replay Display|Replay Display]]) || Caption of red button if available |
||
|- |
|- |
||
| |
| ButtonGreen || (also in [[#Channel Display|Channel Display]], [[#Replay Display|Replay Display]]) || Caption of green button if available |
||
|- |
|- |
||
| |
| ButtonYellow || (also in [[#Channel Display|Channel Display]], [[#Replay Display|Replay Display]]) || Caption of yellow button if available |
||
|- |
|- |
||
| |
| ButtonBlue || (also in [[#Channel Display|Channel Display]], [[#Replay Display|Replay Display]]) || Caption of blue button if available |
||
|- |
|- |
||
| |
| PresentStartDateTime || (also in [[#Channel Display|Channel Display]]) || Start time of current title |
||
|- |
|- |
||
| |
| PresentVPSDateTime || (also in [[#Channel Display|Channel Display]]) || VPS start time of current title if available |
||
|- |
|- |
||
| |
| PresentEndDateTime || (also in [[#Channel Display|Channel Display]]) || End time of current title |
||
|- |
|- |
||
| |
| PresentDuration || (also in [[#Channel Display|Channel Display]]) || Duration of current title |
||
|- |
|- |
||
| |
| PresentProgress || (also in [[#Channel Display|Channel Display]]) || Elapsed time of current title |
||
|- |
|- |
||
| |
| PresentRemaining || (also in [[#Channel Display|Channel Display]]) || Remaining time of current title |
||
|- |
|||
| PresentTitle || (also in [[#Channel Display|Channel Display]]) || Title/heading of current title |
|||
|- |
|||
| PresentShortText || (also in [[#Channel Display|Channel Display]]) || Short text/episode of current title |
|||
|- |
|||
| PresentDescription || (also in [[#Channel Display|Channel Display]]) || Description of current title |
|||
|- |
|||
| PresentHasTimer (alt: HasTimer) || (also in [[#Channel Display|Channel Display]]) || True, if a timer for the current title is set |
|||
|- |
|||
| PresentIsRunning (alt: IsRunning) || (also in [[#Channel Display|Channel Display]]) || True, if the current title has the state "running" |
|||
|- |
|||
| PresentHasVPS || (also in [[#Channel Display|Channel Display]]) || True, if VPS for the current title is available |
|||
|- |
|||
| ChannelHasVPS (alt: HasVPS) || (also in [[#Channel Display|Channel Display]]) || True, if current channel can broadcast VPS |
|||
|} |
|} |
||
===Audio Tracks Display=== |
|||
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;" |
|||
|- bgcolor=#efefef |
|||
!width=20%|Token |
|||
!width=20%|Comment |
|||
!width=80%|Description |
|||
|- |
|||
| MenuTitle || || Title display of the audio-track list |
|||
|- |
|||
| MenuItem || || Text of the current list item if it is a normal entry |
|||
|- |
|||
| IsMenuItem || || True, if currently drawn list item is a normal entry |
|||
|- |
|||
| MenuCurrent || || Text of the current list item if it is the selected entry |
|||
|- |
|||
| IsMenuCurrent || || True, if currently drawn list item is the selected entry |
|||
|- |
|||
| AudioTrack || || Identifier of the current selected audio-track |
|||
|- |
|||
| AudioChannel || || Identifier of the switched channel ("stereo", "left" or "right") |
|||
|} |
|||
==Functions== |
==Functions== |
||
Line 767: | Line 835: | ||
===and=== |
===and=== |
||
True, if all |
True, if all parameters are true. |
||
and({CanScrollUp},{CanScrollDown}) |
and({CanScrollUp},{CanScrollDown}) |
||
===or=== |
===or=== |
||
True, if one parameter is true. |
True, if at least one parameter is true. |
||
or({CanScrollUp},{CanScrollDown}) |
or({CanScrollUp},{CanScrollDown}) |
||
===equal=== |
===equal=== |
||
True, if both parameters are |
True, if both parameters are equal. |
||
equal('Kanäle', trans('Channels')) |
equal('Kanäle', trans('Channels')) |
||
===ne=== |
|||
True, if both parameter are unequal (not equal). |
|||
ne({ReplayMode}, 'normal') |
|||
===gt=== |
|||
True, if the first parameter is greater than the second. |
|||
gt({FreeDiskSpace},5000) |
|||
===ge=== |
|||
True, if the first parameter is greater or equal than the second |
|||
ge({FreeDiskSpace},5000) |
|||
===lt=== |
|||
True, if the first parameter is less than the second. |
|||
lt({FreeDiskSpace},5000) |
|||
===le=== |
|||
True, if the first parameter is less or equal than the second. |
|||
gt({FreeDiskSpace},5000) |
|||
===file=== |
===file=== |
||
Line 787: | Line 880: | ||
===trans=== |
===trans=== |
||
Returns the translation (i18n) of the parameter or false, if no translation is found. |
|||
equal('Kanäle', trans('Channels')) |
equal('Kanäle', trans('Channels')) |
||
==Attributes== |
|||
===arc=== |
|||
{| border=1 cellpadding=2 cellspacing=0 width=100% style="border-collapse:collapse;" |
|||
|- bgcolor=#efefef |
|||
!width=10%|Attribute |
|||
!width=10%|Value |
|||
!width=40%|Meaning (ellipse) |
|||
!width=40%|Meaning (slope) |
|||
|- |
|||
| arc || 0 || full ellipse || horizontal, increasing, bottom |
|||
|- |
|||
| || 1 || first quadrant || horizontal, increasing, top |
|||
|- |
|||
| || 2 || second quadrant || horizontal, decreasing, bottom |
|||
|- |
|||
| || 3 || third quadrant || horizontal, decreasing, top |
|||
|- |
|||
| || 4 || fourth quadrant || vertical, increasing, right |
|||
|- |
|||
| || 5 || right half || vertical, increasing, left |
|||
|- |
|||
| || 6 || upper half || vertical, decreasing, right |
|||
|- |
|||
| || 7 || left half || vertical, decreasing, left |
|||
|- |
|||
| || 8 || lower half || |
|||
|- |
|||
| || -1..-8 || invers of the above || |
|||
|} |
|||
===color=== |
|||
Also concerns bgColor, maskColor, blinkColor, mark, active, keep. |
|||
Colors are given in RGB format with transparency like this: |
|||
color="#AARRGGBB" |
|||
* A = alpha value (transparency 0-255) |
|||
* R = red value |
|||
* G = green value |
|||
* B = blue value |
|||
Some examples: |
|||
AARRGGBB |
|||
color="#00000000" ''= black, fully transparent (translucent)'' |
|||
color="#FF000000" ''= black, full opacity'' |
|||
color="#7F000000" ''= black, half translucent'' |
|||
color="#7FFFFFFF" ''= white, half translucent'' |
|||
For sure you can use every value between. |
|||
Colors might also be given as symbolic value which has to be defined in .colors |
|||
file of the skin, e.g.: |
|||
color="MenuTextFg" |
|||
===font=== |
|||
There are three predefined fonts |
|||
* Osd |
|||
* Fix |
|||
* Sml |
|||
For those who have installed the freetype library and activated at compile time every font found at |
|||
* '''/etc/vdr/plugins/text2skin/fonts/''' |
|||
or |
|||
* '''/etc/vdr/plugins/text2skin/SkinName/''' |
|||
is usable. |
|||
In the skin file the font name, |
|||
font="Osd" |
|||
or, for Truetype fonts, the font filename and size (and optional width too) |
|||
font="helmetr.ttf:'''SIZE'''[,WIDTH]" |
|||
is given. |
Latest revision as of 01:14, 3 September 2009
This documentation is valid for the "1.0" version of the text2skin-plugin.
Elements
<skin>
This is the root element of the skins. All further elements go inside this container.
Attribute | Value | Description |
---|---|---|
version | VERSION | Version of the skin format (this is fix value, currently "1.0") |
name | NAME | Name to display in the VDR-OSD |
screenBase |
|
Should the skin be drawn "relative" (OSD left, top, width, height) to the VDR setup or "absolute" to an area of 720x576 |
example | ||
<?xml version="1.0"?> <skin version="1.0" name="brushed Aluminium" screenBase="relative"> . . . </skin> |
<display>
For each type of the OSD display a <display>-section is required.
Attribute | Value | Description |
---|---|---|
id |
|
Type of the OSD display |
example | ||
<?xml version="1.0"?> <skin version="1.0" name="brushed Aluminium" screenBase="relative"> <display id="replayInfo"> . . . </display> </skin> |
<window>
Each <display>-container has to start with a definition of drawing areas.
Attribute | Value | Description |
---|---|---|
x1 | NUMBER | Position of the left border |
y1 | NUMBER | Position of the top border |
x2 | NUMBER | Position of the right border |
y2 | NUMBER | Position of the bottom border |
bpp | NUMBER | Color depth of the drawing area (4 = 16 colors, 8 = 256 colors) |
example | ||
<?xml version="1.0"?> <skin version="1.0" name="brushed Aluminium" screenBase="relative"> <display id="replayInfo"> <window x1="0" x2="619" y1="-113" y2="-84" bpp="4" /> <window x1="20" x2="99" y1="-83" y2="-44" bpp="4" /> . . . </display> </skin> |
<rectangle>
Draws a filled rectangle.
Attribute | Value | Description |
---|---|---|
x1 | NUMBER | Position of the left border |
y1 | NUMBER | Position of the top border |
x2 | NUMBER | Position of the right border |
y2 | NUMBER | Position of the bottom border |
condition | FUNCTION/TOKEN | Complex condition |
color | STRING | Color of the rectangle |
example | ||
<rectangle x1="20" x2="99" y1="-83" y2="-44" color="#00000000" /> |
<ellipse>
Draws a circle, a pitch circle, or a ellipse.
Attribute | Value | Description |
---|---|---|
x1 | NUMBER | Position of the left border |
y1 | NUMBER | Position of the top border |
x2 | NUMBER | Position of the right border |
y2 | NUMBER | Position of the bottom border |
condition | FUNCTION/TOKEN | Complex condition |
color | STRING | Color |
arc | NUMBER | Pitch circle |
example | ||
<ellipse x1="5" y1="7" x2="14" y2="15" color="GraphLight" condition="{IsMenuCurrent}"/> |
<slope>
Draws a curve.
Attribute | Value | Description |
---|---|---|
x1 | NUMBER | Position of the left border |
y1 | NUMBER | Position of the top border |
x2 | NUMBER | Position of the right border |
y2 | NUMBER | Position of the bottom border |
condition | FUNCTION/TOKEN | Complex condition |
color | STRING | Color |
arc | NUMBER | Direction |
example | ||
<slope x1="10" x2="100" y1="10" y2="100" arc="1" color="#CC000066" /> |
<image>
Display an image.
Attribute | Value | Description |
---|---|---|
x | NUMBER | Position of the left border (no scaling) |
y | NUMBER | Position of the top border (no scaling) |
x1 | NUMBER | Position of the left border (with scaling) |
y1 | NUMBER | Position of the top border (with scaling) |
x2 | NUMBER | Position of the right border (with scaling) |
y2 | NUMBER | Position of the bottom border (with scaling) |
condition | FUNCTION/TOKEN | Complex condition |
alpha | NUMBER | Transparency (0-255) |
colors | NUMBER | Maximum amount of colors in the scaled image (if scaling should be applied) |
color | STRING | Replacement color for color 1 of the image |
bgColor | STRING | Replacement color for color 0 of the image |
maskColor | STRING | Mask color (skipped when image is drawn) |
path | STRING/TOKEN | Image file |
example | ||
<image x="0" y="-70" path="Aluminium_volumebar.png" /> <image x="585" y="138" condition="{CanScrollUp}" path="symbols/arrowup.xpm" color="#AFFFFF00" /> |
<text>
A static or compound text.
Attribute | Value | Description |
---|---|---|
x1 | NUMBER | Position of the left border |
y1 | NUMBER | Position of the top border |
x2 | NUMBER | Position of the right border |
y2 | NUMBER | Position of the bottom border |
condition | FUNCTION/TOKEN | Complex condition |
color | STRING | Text color |
align |
|
Alignment of the text |
font | STRING | Font name |
example | ||
<text x1="42" x2="571" y1="-113" y2="-86" color="#FF000000" font="Osd">{ReplayTitle}</text> |
<marquee>
An alternative to <text> for oversized texts. Scrolls text if needed.
Attribute | Value | Description |
---|---|---|
x1 | NUMBER | Position of the left border |
y1 | NUMBER | Position of the top border |
x2 | NUMBER | Position of the right border |
y2 | NUMBER | Position of the bottom border |
condition | FUNCTION/TOKEN | Complex condition |
color | STRING | Text color |
delay | NUMBER | Scroll rate (in msec) |
align |
|
Alignment of the text |
font | STRING | Font name |
example | ||
<marquee x1="130" x2="480" y1="423" y2="445" color="Text" font="Sml">{ReplayTitle}</marquee> |
<blink>
An alternative to <text> which lets the text blink.
Attribute | Value | Description |
---|---|---|
x1 | NUMBER | Position of the left border |
y1 | NUMBER | Position of the top border |
x2 | NUMBER | Position of the right border |
y2 | NUMBER | Position of the bottom border |
condition | FUNCTION/TOKEN | Complex condition |
color | STRING | Text color |
blinkColor | STRING | Highlight color (optional; default: on/off) |
delay | NUMBER | Blink rate (in msec) |
align |
|
Alignment of the text |
font | STRING | Font name |
example | ||
<blink x1="30" x2="80" y1="90" y2="80" color="Text" blinkColor="Green" delay="800" font="Sml" condition="{IsRunning}">{PresentStartDateTime:%H\:%M}</blink> |
<scrolltext>
A multiline text.
Attribute | Value | Description |
---|---|---|
x1 | NUMBER | Position of the left border |
y1 | NUMBER | Position of the top border |
x2 | NUMBER | Position of the right border |
y2 | NUMBER | Position of the bottom border |
condition | FUNCTION/TOKEN | Complex condition |
color | STRING | Text color |
align |
|
Alignment of the text |
font | STRING | Font name |
example | ||
<scrolltext x1="24" y1="138" y2="-72" x2="583" font="helmetr.ttf:20" color="#AFFFFF00"> {PresentShortText} {PresentDescription} </scrolltext> |
<scrollbar>
A scrollbar.
Attribute | Value | Description |
---|---|---|
x1 | NUMBER | Position of the left border |
y1 | NUMBER | Position of the top border |
x2 | NUMBER | Position of the right border |
y2 | NUMBER | Position of the bottom border |
condition | FUNCTION/TOKEN | Complex condition |
color | STRING | Color of the bar |
bgColor | STRING | Color of the background |
example | ||
<scrollbar x1="585" x2="608" y1="162" y2="-110" color="#AFFFFF00" bgColor="#8F2B1B9E" /> |
<progress>
A progressbar.
Attribute | Value | Description |
---|---|---|
x1 | NUMBER | Position of the left border |
y1 | NUMBER | Position of the top border |
x2 | NUMBER | Position of the right border |
y2 | NUMBER | Position of the bottom border |
condition | FUNCTION/TOKEN | Complex condition |
color | STRING | Color of the bar |
bgColor | STRING | Color of the background |
mark | STRING | Color of the cutting marks |
active | STRING | Color of the active area |
keep | STRING | Color of the video area that should be kept |
current | NUMBER/TOKEN | Current index value |
total | NUMBER/TOKEN | Maximum index value |
example | ||
<progress x1="19" x2="556" y1="-17" y2="-7" color="#AF000000" current="{VolumeCurrent}" total="{VolumeTotal}" /> <progress x1="129" x2="478" y1="487" y2="502" color="#FFCE7B00" bgColor="Blue" mark="Black" active="Black" keep="Black" current="{ReplayPositionIndex}" total="{ReplayDurationIndex}"/> |
<block>
A <block></block> groups several objects together.
Attribute | Value | Description |
---|---|---|
condition | FUNCTION/TOKEN | Complex condition |
example | ||
<block condition="file('logos/{ChannelName}.mng')"> <rectangle x1="4" x2="67" y1="4" y2="51" color="#AF000000" /> <image x="0" y="0" path="logos/{ChannelName}.mng" /> </block> |
<list>
Defines a list in the menu.
Attribute | Value | Description |
---|---|---|
x1 | NUMBER | Position of the left border |
y1 | NUMBER | Position of the top border |
x2 | NUMBER | Position of the right border |
y2 | NUMBER | Position of the bottom border |
condition | FUNCTION/TOKEN | Complex condition |
example | ||
<list x1="24" y1="62" x2="569" y2="-82"> <item height="28"/> <text x1="25" x2="569" y1="3" y2="27" color="#AF00FFFF" font="Sml">{MenuGroup}</text> <text x1="25" x2="569" y1="3" y2="27" color="#AFFFFFFF" font="Sml">{MenuItem}</text> <rectangle x1="0" x2="579" y1="0" y2="27" color="#FF2B1B9E" condition="{IsMenuCurrent}" /> <text x1="22" x2="569" y1="0" y2="27" color="#AFFFFFFF" font="Osd">{MenuCurrent}</text> <text x1="0" x2="25" y1="0" y2="27" color="#AFFFFFFF" font="Osd">-></text> </list> |
<item>
Defines an item for the list.
Attribute | Value | Description |
---|---|---|
condition | FUNCTION/TOKEN | Complex condition (possible, but makes little sense) |
height | NUMBER | Height of one list item |
example | ||
<list x1="24" y1="62" x2="569" y2="-82"> <item height="28" /> <text x1="25" x2="569" y1="3" y2="27" color="#AF00FFFF" font="Sml">{MenuGroup}</text> <text x1="25" x2="569" y1="3" y2="27" color="#AFFFFFFF" font="Sml">{MenuItem}</text> <rectangle x1="0" x2="579" y1="0" y2="27" color="#FF2B1B9E" condition="{IsMenuCurrent}" /> <text x1="22" x2="569" y1="0" y2="27" color="#AFFFFFFF" font="Osd">{MenuCurrent}</text> <text x1="0" x2="25" y1="0" y2="27" color="#AFFFFFFF" font="Osd">-></text> </list> |
Token
Common
Token | Comment | Description |
---|---|---|
DateTime | (see "man strftime") | Current date/time |
IsRecording | True, if VDR is currently recording | |
CurrentRecording | delivers every 2 secs all current recordings Attribute: Number to choose n-th current recording | |
FreeDiskSpace | Remaining free disk space in MB Attribute: return as formatted time. | |
CanScrollUp | True, if scrollable text can be scrolled up | |
CanScrollDown | True, if scrollable text can be scrolled down | |
AudioTrack | Identifier of the current audio-track | |
AudioChannel | Identifier of the switched channel ("stereo", "left" or "right") | |
ReplayMode | Type of the replay (e.g. "dvd", "vcd", "mp3", "normal", ...) | |
ReplayIsShuffle | True, if replay is in shuffle mode (currently only in mp3 mode) | |
ReplayIsLoop | True, if replay is in loop mode (currently only in mp3 mode) |
Channel Display
Token | Comment | Description |
---|---|---|
ChannelNumber | Channel number ("channel number-" if there is an input at this time) | |
ChannelName | Channel or group name | |
ChannelShortName | Short name of channel if available | |
ChannelBouquet | Provider/bouquet name, if available | |
ChannelPortal | Portal name if available | |
ChannelSource | Signal source (e.g. "S19.2E") | |
ChannelID | Identifier of the current channel | |
PresentStartDateTime | (also in Menu Display) | Start time of current title |
PresentVPSDateTime | (also in Menu Display) | VPS start time of current title if available |
PresentEndDateTime | (also in Menu Display) | End time of current title |
PresentDuration | (also in Menu Display) | Duration of current title |
PresentProgress | (also in Menu Display) | Elapsed time of current title |
PresentRemaining | (also in Menu Display) | Remaining time of current title |
PresentTitle | (also in Menu Display) | Title/heading of current title |
PresentShortText | (also in Menu Display) | Short text/episode of current title |
PresentDescription | (also in Menu Display) | Description of current title |
PresentHasTimer (alt: HasTimer) | (also in Menu Display) | True, if a timer for the current title is set |
PresentIsRunning (alt: IsRunning) | (also in Menu Display) | True, if the current title has the state "running" |
PresentHasVPS | (also in Menu Display) | True, if VPS for the current title is available |
FollowingStartDateTime | Start time of following title | |
FollowingVPSDateTime | VPS start time of following title if available | |
FollowingEndDateTime | End time of following title | |
FollowingDuration | Duration of following title | |
FollowingTitle | Title/heading of following title | |
FollowingShortText | Short text/episode of following title | |
FollowingDescription | Description of following title | |
FollowingHasTimer | True, if the following title is targeted by a timer | |
FollowingIsRunning | True, if the following title has the status "running" | |
FollowingHasVPS | True, if the following title has it's own VPS-time | |
ButtonRed | (also in Menu Display, Replay Display) | Caption of red button if available |
ButtonGreen | (also in Menu Display, Replay Display) | Caption of green button if available |
ButtonYellow | (also in Menu Display, Replay Display) | Caption of yellow button if available |
ButtonBlue | (also in Menu Display, Replay Display) | Caption of blue button if available |
Language | language (currently only "Audio 1", "Audio 2" or "Digital Audio") | |
ChannelHasTeletext (alt:HasTeletext) | True, if teletext is available on current channel | |
ChannelHasMultilang (alt: HasMultilang) | True, if multi language on current channel | |
ChannelHasDolby (alt: HasDolby) | True, if Dolby Digital on current channel | |
ChannelIsEncrypted (alt: IsEncrypted) | True, if current channel is encrypted | |
ChannelIsRadio (alt: IsRadio) | True, if current channel is a radio channel | |
ChannelHasVPS (alt: HasVPS) | (also in Menu Display) | True, if current channel can broadcast VPS |
Volume Display
Token | Comment | Description |
---|---|---|
VolumeCurrent | Current volume (0-VolumeTotal) (numeric) | |
VolumeTotal | Maximum value for volume | |
VolumeIsMute (alt: IsMute) | True, if volume is muted |
Message Display
Token | Comment | Description |
---|---|---|
Message | (also in all other displays) | Text of the current message if available (whatever type) |
MessageStatus | (also in all other displays) | Text of the current message if available (status message) |
MessageInfo | (also in all other displays) | Text of the current message if available (information) |
MessageWarning | (also in all other displays) | Text of the current message if available (warning) |
MessageError | (also in all other displays) | Text of the current message if available (error) |
Replay Display
Token | Comment | Description |
---|---|---|
ReplayTitle | Attribute: clean | Title of the current replay |
ReplayPositionIndex | Position in the current replay (numeric, analog to PresentProgress) | |
ReplayDurationIndex | Duration of the current replay (numeric, analog to PresentDuration) | |
ReplayRemaining | Remaining time of the current replay (numeric, analog to PresentRemaining) | |
ReplayPrompt | Input request, if available (e.g. "Jump: --:--") | |
ReplayIsPlaying (alt: IsPlaying) | Attribute: 0 = no multispeed, 1-3 = multispeed, nothing = any | True, if a replay is runnning at normal speed |
ReplayIsFastForward (alt: IsFastForward) | Attribute: 0 = no multispeed, 1-3 = multispeed, nothing = any | True, if fast forward |
ReplayIsFastRewind (alt: IsFastRewind) | Attribute: 0 = no multispeed, 1-3 = multispeed, nothing = any | True, if fast rewind |
ReplayIsSlowForward (alt: IsSlowForward) | Attribute: 0 = no multispeed, 1-3 = multispeed, nothing = any | True, if slow forward |
ReplayIsSlowRewind (alt: IsSlowRewind) | Attribute: 0 = no multispeed, 1-3 = multispeed, nothing = any | True, if slow rewind |
ReplayIsPausing (alt: IsPausing) | Attribute: 0 = no multispeed, 1-3 = multispeed, nothing = any | True, if replay is pausing |
ReplayPosition | Position in the replay, completely formatted, with frames at cutting marks, otherwise without frames | |
ReplayDuration | Duration of the replay, completely formatted | |
ButtonRed | (also in Channel Display, Menu Display) | Caption of red button if available |
ButtonGreen | (also in Channel Display, Menu Display) | Caption of green button if available |
ButtonYellow | (also in Channel Display, Menu Display) | Caption of yellow button if available |
ButtonBlue | (also in Channel Display, Menu Display) | Caption of blue button if available |
Menu Display
Token | Comment | Description |
---|---|---|
MenuTitle | Attribute: "clean", "rest" | Title of the menu page, or filtered title with "clean" or rest of the filtered title |
MenuGroup | Text of the current list item if it is a group/delimiter | |
IsMenuGroup | True, if currently drawn list item is a group/delimiter | |
MenuItem | Text of the current list item if it is a normal entry | |
IsMenuItem | True, if currently drawn list item is a normal entry | |
MenuCurrent | Attribute: "clean" | Text of the current list item if it is the selected entry |
IsMenuCurrent | True, if currently drawn list item is the selected entry | |
MenuText | Attribute: "clean" | Text page to display instead of the list (e.g. display in the command menu) |
RecordingName | Name of the current recording | |
RecordingDateTime | Start time of the current recording | |
RecordingTitle | Title/heading of the current recording | |
RecordingShortText | Short text/episode of the current recording | |
RecordingDescription | Description of the current recording | |
RecordingLanguageCode | ||
RecordingLanguageDescription | ||
ButtonRed | (also in Channel Display, Replay Display) | Caption of red button if available |
ButtonGreen | (also in Channel Display, Replay Display) | Caption of green button if available |
ButtonYellow | (also in Channel Display, Replay Display) | Caption of yellow button if available |
ButtonBlue | (also in Channel Display, Replay Display) | Caption of blue button if available |
PresentStartDateTime | (also in Channel Display) | Start time of current title |
PresentVPSDateTime | (also in Channel Display) | VPS start time of current title if available |
PresentEndDateTime | (also in Channel Display) | End time of current title |
PresentDuration | (also in Channel Display) | Duration of current title |
PresentProgress | (also in Channel Display) | Elapsed time of current title |
PresentRemaining | (also in Channel Display) | Remaining time of current title |
PresentTitle | (also in Channel Display) | Title/heading of current title |
PresentShortText | (also in Channel Display) | Short text/episode of current title |
PresentDescription | (also in Channel Display) | Description of current title |
PresentHasTimer (alt: HasTimer) | (also in Channel Display) | True, if a timer for the current title is set |
PresentIsRunning (alt: IsRunning) | (also in Channel Display) | True, if the current title has the state "running" |
PresentHasVPS | (also in Channel Display) | True, if VPS for the current title is available |
ChannelHasVPS (alt: HasVPS) | (also in Channel Display) | True, if current channel can broadcast VPS |
Audio Tracks Display
Token | Comment | Description |
---|---|---|
MenuTitle | Title display of the audio-track list | |
MenuItem | Text of the current list item if it is a normal entry | |
IsMenuItem | True, if currently drawn list item is a normal entry | |
MenuCurrent | Text of the current list item if it is the selected entry | |
IsMenuCurrent | True, if currently drawn list item is the selected entry | |
AudioTrack | Identifier of the current selected audio-track | |
AudioChannel | Identifier of the switched channel ("stereo", "left" or "right") |
Functions
not
Negation of the term.
not(equal({PresentStartDateTime},{PresentVPSDateTime}))
and
True, if all parameters are true.
and({CanScrollUp},{CanScrollDown})
or
True, if at least one parameter is true.
or({CanScrollUp},{CanScrollDown})
equal
True, if both parameters are equal.
equal('Kanäle', trans('Channels'))
ne
True, if both parameter are unequal (not equal).
ne({ReplayMode}, 'normal')
gt
True, if the first parameter is greater than the second.
gt({FreeDiskSpace},5000)
ge
True, if the first parameter is greater or equal than the second
ge({FreeDiskSpace},5000)
lt
True, if the first parameter is less than the second.
lt({FreeDiskSpace},5000)
le
True, if the first parameter is less or equal than the second.
gt({FreeDiskSpace},5000)
file
Returns the parameter, if the file exists in the skin directory.
file('logos/{ChannelName}.png')
trans
Returns the translation (i18n) of the parameter or false, if no translation is found.
equal('Kanäle', trans('Channels'))
Attributes
arc
Attribute | Value | Meaning (ellipse) | Meaning (slope) |
---|---|---|---|
arc | 0 | full ellipse | horizontal, increasing, bottom |
1 | first quadrant | horizontal, increasing, top | |
2 | second quadrant | horizontal, decreasing, bottom | |
3 | third quadrant | horizontal, decreasing, top | |
4 | fourth quadrant | vertical, increasing, right | |
5 | right half | vertical, increasing, left | |
6 | upper half | vertical, decreasing, right | |
7 | left half | vertical, decreasing, left | |
8 | lower half | ||
-1..-8 | invers of the above |
color
Also concerns bgColor, maskColor, blinkColor, mark, active, keep.
Colors are given in RGB format with transparency like this:
color="#AARRGGBB"
- A = alpha value (transparency 0-255)
- R = red value
- G = green value
- B = blue value
Some examples:
AARRGGBB color="#00000000" = black, fully transparent (translucent) color="#FF000000" = black, full opacity color="#7F000000" = black, half translucent color="#7FFFFFFF" = white, half translucent
For sure you can use every value between.
Colors might also be given as symbolic value which has to be defined in .colors file of the skin, e.g.:
color="MenuTextFg"
font
There are three predefined fonts
- Osd
- Fix
- Sml
For those who have installed the freetype library and activated at compile time every font found at
- /etc/vdr/plugins/text2skin/fonts/
or
- /etc/vdr/plugins/text2skin/SkinName/
is usable.
In the skin file the font name,
font="Osd"
or, for Truetype fonts, the font filename and size (and optional width too)
font="helmetr.ttf:SIZE[,WIDTH]"
is given.