From fcf191be71d88c5689d00532c0cb268edd9cdeb8 Mon Sep 17 00:00:00 2001 From: NemoN Date: Mon, 7 Nov 2011 14:02:44 +0100 Subject: new token support for: - UsedDiskSpace - TotalDiskSpace - VideoSizeWidth - VideoSizeHeight --- Docs/Reference.txt | 4 ++++ HISTORY | 2 ++ display.c | 26 +++++++++++++++++++++++++- render.c | 12 ++++++++++++ xml/string.c | 2 +- xml/string.h | 4 ++++ 6 files changed, 48 insertions(+), 2 deletions(-) diff --git a/Docs/Reference.txt b/Docs/Reference.txt index d0bc1ad..48816f6 100644 --- a/Docs/Reference.txt +++ b/Docs/Reference.txt @@ -610,6 +610,10 @@ Defines an item for the list. | FreeDiskSpace | | Remaining free disk space in MB | | | Attribute: return as formatted time. ----------------------------------------------------------------------------- +| UsedDiskSpace | | Used disk space in MB +----------------------------------------------------------------------------- +| TotalDiskSpace | | Total disk space in MB +----------------------------------------------------------------------------- | CanScrollUp | | True, if scrollable text can be scrolled up ----------------------------------------------------------------------------- | CanScrollDown | | True, if scrollable text can be scrolled down diff --git a/HISTORY b/HISTORY index 9e0430b..cbcfba0 100644 --- a/HISTORY +++ b/HISTORY @@ -3,6 +3,8 @@ VDR Plugin 'text2skin' Revision History 201x-xx-xx: Version x.x.x +- New tokens: UsedDiskSpace, TotalDiskSpace, VideoSizeWidth, VideoSizeHeight + (closes #465, thanks to NemoN). - Documentation fixes. 2011-11-06: Version 1.3.2 diff --git a/display.c b/display.c index 577f2a6..93086e5 100644 --- a/display.c +++ b/display.c @@ -243,7 +243,31 @@ cxType cText2SkinDisplayChannel::GetTokenData(const txToken &Token) return (cxType)false; } return false; - + + case tVideoSizeWidth: { +#if VDRVERSNUM >= 10707 + int width, height; + double aspect; + cDevice *dev = cDevice::PrimaryDevice(); + dev->GetVideoSize(width, height, aspect); + return (cxType)width; +#else + return 0; +#endif + } + + case tVideoSizeHeight: { +#if VDRVERSNUM >= 10707 + int width, height; + double aspect; + cDevice *dev = cDevice::PrimaryDevice(); + dev->GetVideoSize(width, height, aspect); + return (cxType)height; +#else + return 0; +#endif + } + case tHasTeletext: case tChannelHasTeletext: return mChannel != NULL && mChannel->Tpid() != 0; diff --git a/render.c b/render.c index 49e5fdc..20b6976 100644 --- a/render.c +++ b/render.c @@ -821,6 +821,18 @@ cxType cText2SkinRender::GetTokenData(const txToken &Token) : (cxType)FreeMB; } + case tUsedDiskSpace: { + int FreeMB, UsedMB; + VideoDiskSpace(&FreeMB, &UsedMB); + return (cxType)UsedMB; + } + + case tTotalDiskSpace: { + int FreeMB, UsedMB; + VideoDiskSpace(&FreeMB, &UsedMB); + return (cxType)FreeMB+UsedMB; + } + case tDateTime: return TimeType(time(NULL), Token.Attrib.Text); case tCanScrollUp: diff --git a/xml/string.c b/xml/string.c index 230a8f3..dda65bb 100644 --- a/xml/string.c +++ b/xml/string.c @@ -4,7 +4,7 @@ #include "render.h" static const char *Tokens[__COUNT_TOKEN__] = { - "DateTime", "FreeDiskSpace", "AudioTrack", "AudioChannel", + "DateTime", "FreeDiskSpace", "UsedDiskSpace", "TotalDiskSpace", "VideoSizeWidth", "VideoSizeHeight", "AudioTrack", "AudioChannel", // Channel Display "ChannelNumber", "ChannelName", "ChannelShortName", "ChannelBouquet", "ChannelPortal", diff --git a/xml/string.h b/xml/string.h index 3fd6361..2bc1388 100644 --- a/xml/string.h +++ b/xml/string.h @@ -10,6 +10,10 @@ enum exToken { tDateTime, tFreeDiskSpace, + tUsedDiskSpace, + tTotalDiskSpace, + tVideoSizeWidth, + tVideoSizeHeight, tAudioTrack, tAudioChannel, -- cgit v1.2.3