mirror of
https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git
synced 2023-10-19 17:58:31 +02:00
An error with the remaining time in the channel display has been fixed
The remaining time in the channel display wasn't updated. A new token "currentremaining" was introduced in the Progressbar section of displaychannel.xml.
This commit is contained in:
parent
78d424d256
commit
538d59ca4e
@ -433,6 +433,7 @@ enum class eDCProgressBarIT {
|
|||||||
remaining,
|
remaining,
|
||||||
permashift,
|
permashift,
|
||||||
livebuffer,
|
livebuffer,
|
||||||
|
currentremaining,
|
||||||
count
|
count
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -216,16 +216,19 @@ void cVeDcProgressBar::SetTokenContainer(void) {
|
|||||||
tokenContainer->DefineIntToken("{remaining}", (int)eDCProgressBarIT::remaining);
|
tokenContainer->DefineIntToken("{remaining}", (int)eDCProgressBarIT::remaining);
|
||||||
tokenContainer->DefineIntToken("{permashift}", (int)eDCProgressBarIT::permashift);
|
tokenContainer->DefineIntToken("{permashift}", (int)eDCProgressBarIT::permashift);
|
||||||
tokenContainer->DefineIntToken("{livebuffer}", (int)eDCProgressBarIT::livebuffer);
|
tokenContainer->DefineIntToken("{livebuffer}", (int)eDCProgressBarIT::livebuffer);
|
||||||
|
tokenContainer->DefineIntToken("{currentremaining}", (int)eDCProgressBarIT::currentremaining);
|
||||||
InheritTokenContainer();
|
InheritTokenContainer();
|
||||||
}
|
}
|
||||||
|
|
||||||
void cVeDcProgressBar::Set(const cEvent *p) {
|
void cVeDcProgressBar::Set(const cEvent *p) {
|
||||||
if (!p) {
|
if (!p) {
|
||||||
startTime = -1;
|
startTime = -1;
|
||||||
|
endTime = -1;
|
||||||
duration = -1;
|
duration = -1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
startTime = p->StartTime();
|
startTime = p->StartTime();
|
||||||
|
endTime = p-> EndTime();
|
||||||
duration = p->Duration();
|
duration = p->Duration();
|
||||||
|
|
||||||
int current = 0;
|
int current = 0;
|
||||||
@ -249,18 +252,24 @@ void cVeDcProgressBar::Set(const cEvent *p) {
|
|||||||
} else {
|
} else {
|
||||||
tokenContainer->AddIntToken((int)eDCProgressBarIT::permashift, 0);
|
tokenContainer->AddIntToken((int)eDCProgressBarIT::permashift, 0);
|
||||||
}
|
}
|
||||||
|
tokenContainer->AddIntToken((int)eDCProgressBarIT::currentremaining, (int)round((endTime - t) / 60));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool cVeDcProgressBar::Parse(bool force) {
|
bool cVeDcProgressBar::Parse(bool force) {
|
||||||
if (!cViewElement::Parse(force))
|
if (!cViewElement::Parse(force))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
int current = 0;
|
int current = 0;
|
||||||
time_t t = time(NULL);
|
time_t t = time(NULL);
|
||||||
if (t > startTime)
|
if (t > startTime)
|
||||||
current = t - startTime;
|
current = t - startTime;
|
||||||
|
|
||||||
if (!(current > currentLast + 3) && !force && !Dirty())
|
if (!(current > currentLast + 3) && !force && !Dirty())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
currentLast = current;
|
||||||
SetDirty();
|
SetDirty();
|
||||||
|
|
||||||
if (duration <= 0) {
|
if (duration <= 0) {
|
||||||
tokenContainer->AddIntToken((int)eDCProgressBarIT::duration, 0);
|
tokenContainer->AddIntToken((int)eDCProgressBarIT::duration, 0);
|
||||||
tokenContainer->AddIntToken((int)eDCProgressBarIT::elapsed, 0);
|
tokenContainer->AddIntToken((int)eDCProgressBarIT::elapsed, 0);
|
||||||
@ -276,6 +285,7 @@ bool cVeDcProgressBar::Parse(bool force) {
|
|||||||
} else {
|
} else {
|
||||||
tokenContainer->AddIntToken((int)eDCProgressBarIT::permashift, 0);
|
tokenContainer->AddIntToken((int)eDCProgressBarIT::permashift, 0);
|
||||||
}
|
}
|
||||||
|
tokenContainer->AddIntToken((int)eDCProgressBarIT::currentremaining, (int)round((endTime - t) / 60));
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -51,6 +51,7 @@ class cVeDcProgressBar : public cViewElement {
|
|||||||
private:
|
private:
|
||||||
int currentLast;
|
int currentLast;
|
||||||
int startTime;
|
int startTime;
|
||||||
|
int endTime;
|
||||||
int duration;
|
int duration;
|
||||||
int GetLiveBuffer(void);
|
int GetLiveBuffer(void);
|
||||||
public:
|
public:
|
||||||
@ -199,4 +200,4 @@ public:
|
|||||||
cVeDcGroupChannelListDetail(void) {};
|
cVeDcGroupChannelListDetail(void) {};
|
||||||
virtual ~cVeDcGroupChannelListDetail(void) {};
|
virtual ~cVeDcGroupChannelListDetail(void) {};
|
||||||
};
|
};
|
||||||
#endif //__VIEWELEMENTSDC_H
|
#endif //__VIEWELEMENTSDC_H
|
||||||
|
@ -37,9 +37,6 @@
|
|||||||
<drawtext condition="isset{currentsubtitle}" x="0" y="{areaheight}*{epgsubtextposy}/100" fontsize="{areaheight}*{epgsubtextfontsize}/100" width="{areawidth} - {width(startstop)} - 10" font="{regular}" color="{fontdefault}" text="{currentsubtitle}" />
|
<drawtext condition="isset{currentsubtitle}" x="0" y="{areaheight}*{epgsubtextposy}/100" fontsize="{areaheight}*{epgsubtextfontsize}/100" width="{areawidth} - {width(startstop)} - 10" font="{regular}" color="{fontdefault}" text="{currentsubtitle}" />
|
||||||
<drawtext condition="empty{currentsubtitle}" x="0" valign="center" fontsize="{areaheight}*{epgtextfontsizelarge}/100" width="{areawidth} - {width(startstop)} - 10" font="{regular}" color="{fontdefault}" text="{currenttitle}" />
|
<drawtext condition="empty{currentsubtitle}" x="0" valign="center" fontsize="{areaheight}*{epgtextfontsizelarge}/100" width="{areawidth} - {width(startstop)} - 10" font="{regular}" color="{fontdefault}" text="{currenttitle}" />
|
||||||
</area>
|
</area>
|
||||||
<area x="70%" y="83%" width="10%" height="3%" layer="2">
|
|
||||||
<drawtext align="right" y="0" fontsize="100%" font="{regular}" color="{fontactive}" text="+{currentremaining} min" />
|
|
||||||
</area>
|
|
||||||
<!-- next schedule -->
|
<!-- next schedule -->
|
||||||
<area x="20%" y="88%" width="60%" height="10%" layer="2">
|
<area x="20%" y="88%" width="60%" height="10%" layer="2">
|
||||||
<drawtext name="startstop" align="right" valign="center" fontsize="{areaheight}*{startstopfontsize}/100" font="{bold}" color="{fontdefault}" text="{nextstart} - {nextstop}" />
|
<drawtext name="startstop" align="right" valign="center" fontsize="{areaheight}*{startstopfontsize}/100" font="{bold}" color="{fontdefault}" text="{nextstart} - {nextstop}" />
|
||||||
@ -58,6 +55,10 @@
|
|||||||
<drawrectangle condition="{permashift}" x="{elapsed}/{duration}*{areawidth} - {livebuffer}/{duration}*{areawidth}" y="0" width="{livebuffer}/{duration}*{areawidth}" height="100%" color="{progressbartimeshift}" />
|
<drawrectangle condition="{permashift}" x="{elapsed}/{duration}*{areawidth} - {livebuffer}/{duration}*{areawidth}" y="0" width="{livebuffer}/{duration}*{areawidth}" height="100%" color="{progressbartimeshift}" />
|
||||||
<drawrectangle condition="{permashift}" x="0" y="{areaheight}*0.2" width="{areawidth}*{elapsed}/{duration} - 1" height="{areaheight}*0.6" color="{progressbar}" />
|
<drawrectangle condition="{permashift}" x="0" y="{areaheight}*0.2" width="{areawidth}*{elapsed}/{duration} - 1" height="{areaheight}*0.6" color="{progressbar}" />
|
||||||
</area>
|
</area>
|
||||||
|
<!-- time remaining -->
|
||||||
|
<area x="70%" y="83%" width="10%" height="3%" layer="2">
|
||||||
|
<drawtext align="right" y="0" fontsize="100%" font="{regular}" color="{fontactive}" text="+{currentremaining} min" />
|
||||||
|
</area>
|
||||||
</progressbar>
|
</progressbar>
|
||||||
|
|
||||||
<statusinfo>
|
<statusinfo>
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
<area x="22%" y="80%" width="76%" height="7%" layer="2">
|
<area x="22%" y="80%" width="76%" height="7%" layer="2">
|
||||||
<drawtext name="title" x="0" valign="center" font="{light}" fontsize="99%" color="{fontdefault}" text="{currenttitle}" width="{areawidth} - {width(startstop)}"/>
|
<drawtext name="title" x="0" valign="center" font="{light}" fontsize="99%" color="{fontdefault}" text="{currenttitle}" width="{areawidth} - {width(startstop)}"/>
|
||||||
<drawtext name="startstop" align="right" y="0" font="{light}" fontsize="60%" color="{fontdefault}" text="{currentstart} - {currentstop}" />
|
<drawtext name="startstop" align="right" y="0" font="{light}" fontsize="60%" color="{fontdefault}" text="{currentstart} - {currentstop}" />
|
||||||
<drawtext align="right" y="45%" font="{light}" fontsize="60%" color="{fontdefault}" text="+ {currentremaining} min" />
|
|
||||||
</area>
|
</area>
|
||||||
<area x="22%" y="87%" width="76%" height="7%" layer="2">
|
<area x="22%" y="87%" width="76%" height="7%" layer="2">
|
||||||
<drawtext x="0" valign="center" font="{light}" fontsize="80%" color="{fontdefault}" text="{nexttitle}" width="{areawidth} - {width(startstop)}"/>
|
<drawtext x="0" valign="center" font="{light}" fontsize="80%" color="{fontdefault}" text="{nexttitle}" width="{areawidth} - {width(startstop)}"/>
|
||||||
@ -47,6 +46,9 @@
|
|||||||
<drawrectangle x="{elapsed}/{duration}*{areawidth} - {livebuffer}/{duration}*{areawidth}" y="0" width="{livebuffer}/{duration}*{areawidth}" height="5" color="{clrRed}" />
|
<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="{menuheader}" />
|
<drawrectangle x="0" y="1" width="{elapsed}/{duration}*{areawidth}" height="3" color="{menuheader}" />
|
||||||
</area>
|
</area>
|
||||||
|
<area x="22%" y="80%" width="76%" height="7%" layer="2">
|
||||||
|
<drawtext align="right" y="45%" font="{light}" fontsize="60%" color="{fontdefault}" text="+ {currentremaining} min" />
|
||||||
|
</area>
|
||||||
</progressbar>
|
</progressbar>
|
||||||
|
|
||||||
<statusinfo>
|
<statusinfo>
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
{currentdurationhours} Duration, full hours
|
{currentdurationhours} Duration, full hours
|
||||||
{currentdurationminutes} Duration, rest of minutes
|
{currentdurationminutes} Duration, rest of minutes
|
||||||
{currentelapsed} Elapsed time of current Schedule in min
|
{currentelapsed} Elapsed time of current Schedule in min
|
||||||
{currentremaining} Remaining time of current Schedule in min
|
{currentremaining} Remaining time of current Schedule in min -> DEPRECATED, it doesn't work as expected
|
||||||
{currentrecording} true if current Schedule is recorded
|
{currentrecording} true if current Schedule is recorded
|
||||||
{hasVPS} true if current Schedule has VPS
|
{hasVPS} true if current Schedule has VPS
|
||||||
{nexttitle} Title of next Schedule
|
{nexttitle} Title of next Schedule
|
||||||
@ -48,6 +48,7 @@
|
|||||||
{remaining} Remaining time of current Schedule in seconds
|
{remaining} Remaining time of current Schedule in seconds
|
||||||
{permashift} true if permashift plugin is in use
|
{permashift} true if permashift plugin is in use
|
||||||
{livebuffer} current buffered data in seconds
|
{livebuffer} current buffered data in seconds
|
||||||
|
{currentremaining} Remaining time of current Schedule in min
|
||||||
-->
|
-->
|
||||||
<progressbar>
|
<progressbar>
|
||||||
</progressbar>
|
</progressbar>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user