diff options
author | louis <louis.braun@gmx.de> | 2015-05-15 10:03:34 +0200 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2015-05-15 10:03:34 +0200 |
commit | 727f20617cb17ab23f2e41a192366692c6d45374 (patch) | |
tree | cad34a4380b86a85bb5ec513b20de8214cae65d3 | |
parent | 5a0155d1e924601c7fa686001af19928887f83f7 (diff) | |
download | vdr-plugin-skindesigner-727f20617cb17ab23f2e41a192366692c6d45374.tar.gz vdr-plugin-skindesigner-727f20617cb17ab23f2e41a192366692c6d45374.tar.bz2 |
added permashift support in displaychannel
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | skins/metrixhd/xmlfiles/displaychannel.xml | 9 | ||||
-rw-r--r-- | skinskeleton/xmlfiles/displaychannel.xml | 2 | ||||
-rw-r--r-- | views/displaychannelview.c | 9 | ||||
-rw-r--r-- | views/viewhelpers.c | 12 | ||||
-rw-r--r-- | views/viewhelpers.h | 1 |
6 files changed, 34 insertions, 1 deletions
@@ -330,5 +330,7 @@ Version 0.4.6 - added token {startsin} in displaymenuschedules - added viewelement <vdrstatistics> in main menu +- added permashift support in displaychannel + diff --git a/skins/metrixhd/xmlfiles/displaychannel.xml b/skins/metrixhd/xmlfiles/displaychannel.xml index c9dbb6f..13b9c07 100644 --- a/skins/metrixhd/xmlfiles/displaychannel.xml +++ b/skins/metrixhd/xmlfiles/displaychannel.xml @@ -70,12 +70,19 @@ {duration} Total Duration of current Schedule in seconds {elapsed} Elapsed time of current Schedule in seconds {remaining} Remaining time of current Schedule in seconds + {permashift} true if permashift plugin is in use + {livebuffer} current buffered data in seconds --> <progressbar> - <area x="22%" y="87%" width="76%" height="3" layer="2"> + <area condition="not{permashift}" x="22%" y="87%" width="76%" height="3" layer="2"> <drawrectangle x="0" y="1" width="100%" height="1" color="{clrWhite}" /> <drawrectangle x="0" y="0" width="{elapsed}/{duration}*{areawidth}" height="3" color="{clrTransBlueLight}" /> </area> + <area condition="{permashift}" x="22%" y="87%" width="76%" height="5" layer="2"> + <drawrectangle x="0" y="2" width="100%" height="1" color="{clrWhite}" /> + <drawrectangle x="{elapsed}/{duration}*{areawidth} - {livebuffer}/{duration}*{areawidth}" y="0" width="{livebuffer}/{duration}*{areawidth}" height="5" color="{clrRed}" /> + <drawrectangle x="0" y="1" width="{elapsed}/{duration}*{areawidth}" height="3" color="{clrTransBlueLight}" /> + </area> </progressbar> <!-- Available Variables statusinfo: diff --git a/skinskeleton/xmlfiles/displaychannel.xml b/skinskeleton/xmlfiles/displaychannel.xml index aecf946..319ff20 100644 --- a/skinskeleton/xmlfiles/displaychannel.xml +++ b/skinskeleton/xmlfiles/displaychannel.xml @@ -46,6 +46,8 @@ {duration} Total Duration of current Schedule in seconds {elapsed} Elapsed time of current Schedule in seconds {remaining} Remaining time of current Schedule in seconds + {permashift} true if permashift plugin is in use + {livebuffer} current buffered data in seconds --> <progressbar> </progressbar> diff --git a/views/displaychannelview.c b/views/displaychannelview.c index 28626f8..255dc3e 100644 --- a/views/displaychannelview.c +++ b/views/displaychannelview.c @@ -124,6 +124,15 @@ void cDisplayChannelView::DrawProgressBar(cString &start, cString &stop, int Cur intTokens.insert(pair<string, int>("elapsed", Current)); intTokens.insert(pair<string, int>("remaining", Total - Current)); + int liveBuffer = GetLiveBuffer(); + if (liveBuffer >= 0) { + intTokens.insert(pair<string, int>("permashift", 1)); + intTokens.insert(pair<string, int>("livebuffer", liveBuffer)); + } else { + intTokens.insert(pair<string, int>("permashift", 0)); + intTokens.insert(pair<string, int>("livebuffer", 0)); + } + ClearProgressBar(); DrawViewElement(veProgressBar, &stringTokens, &intTokens); } diff --git a/views/viewhelpers.c b/views/viewhelpers.c index 9163282..cc72c9b 100644 --- a/views/viewhelpers.c +++ b/views/viewhelpers.c @@ -442,6 +442,18 @@ bool cViewHelpers::CheckNewMails(void) { return false; } +int cViewHelpers::GetLiveBuffer(void) { + static cPlugin *pPermashift = cPluginManager::GetPlugin("permashift"); + if (!pPermashift) { + return -1; + } + int buffer = 0; + if (pPermashift->Service("Permashift-GetUsedBufferSecs-v1", &buffer)) { + return buffer; + } + return -1; +} + void cViewHelpers::SetScraperTokens(const cEvent *event, const cRecording *recording, stringmap &stringTokens, intmap &intTokens, map < string, vector<stringmap> > &loopTokens) { static cPlugin *pScraper = GetScraperPlugin(); if (!pScraper || (!event && !recording)) { diff --git a/views/viewhelpers.h b/views/viewhelpers.h index 9640406..e1675bc 100644 --- a/views/viewhelpers.h +++ b/views/viewhelpers.h @@ -32,6 +32,7 @@ protected: void InitDevices(void); bool SetDevices(bool initial, bool light, intmap *intTokens, vector<stringmap> *devices); bool CheckNewMails(void); + int GetLiveBuffer(void); void SetScraperTokens(const cEvent *event, const cRecording *recording, stringmap &stringTokens, intmap &intTokens, map < string, vector<stringmap> > &loopTokens); void SetPosterBanner(const cEvent *event, stringmap &stringTokens, intmap &intTokens); void SetTimers(map<string,int> *intTokens, map<string,string> *stringTokens, vector<stringmap> *timers); |