summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkamel5 <vdr.kamel5 (at) gmx (dot) net>2021-02-12 15:20:34 +0100
committerkamel5 <vdr.kamel5 (at) gmx (dot) net>2021-02-15 12:22:33 +0100
commit7a70ed13a768e4c22653b12e1045aa8d9b4716eb (patch)
tree0e491938eb41e24a82cd4727e5ee81557b5039dd
parent808fba23671a879b3a38675f69478189cb735a29 (diff)
downloadvdr-plugin-skindesigner-7a70ed13a768e4c22653b12e1045aa8d9b4716eb.tar.gz
vdr-plugin-skindesigner-7a70ed13a768e4c22653b12e1045aa8d9b4716eb.tar.bz2
Add tokens eventstart and eventstop to eDRRecTitleST
Tokens eventstart and eventstop can be used in displayreplay timshiftmode to display the start and end time of the coresponding event
-rw-r--r--coreengine/definitions.h7
-rw-r--r--coreengine/viewdisplayreplay.c2
-rw-r--r--coreengine/viewelementsdisplayreplay.c11
-rw-r--r--coreengine/viewelementsdisplayreplay.h3
-rw-r--r--skins/estuary4vdr/xmlfiles/displayreplay.xml7
-rw-r--r--skinskeleton/xmlfiles/displayreplay.xml3
6 files changed, 29 insertions, 4 deletions
diff --git a/coreengine/definitions.h b/coreengine/definitions.h
index b7a3022..943bea8 100644
--- a/coreengine/definitions.h
+++ b/coreengine/definitions.h
@@ -1491,6 +1491,13 @@ enum class eDRRecTitleST {
recsubtitle,
recdate,
rectime,
+ eventstart,
+ eventstop,
+ count
+};
+
+enum class eDRRecTitleIT {
+ timeshift = 0,
count
};
diff --git a/coreengine/viewdisplayreplay.c b/coreengine/viewdisplayreplay.c
index 927780a..e84ef2c 100644
--- a/coreengine/viewdisplayreplay.c
+++ b/coreengine/viewdisplayreplay.c
@@ -210,7 +210,7 @@ void cViewReplay::SetTimeShiftValues(int current, int total) {
const cEvent *eventReplay = Schedule->GetEventAround(time(NULL) - secondsafter);
// Display title at replay position
if (eventReplay && eventReplay != lastEvent && veRecTitle) {
- veRecTitle->Set(recording, eventReplay);
+ veRecTitle->Set(recording, eventReplay, true);
veRecTitle->Parse();
lastEvent = eventReplay;
}
diff --git a/coreengine/viewelementsdisplayreplay.c b/coreengine/viewelementsdisplayreplay.c
index 5efb2d3..64df8a8 100644
--- a/coreengine/viewelementsdisplayreplay.c
+++ b/coreengine/viewelementsdisplayreplay.c
@@ -22,10 +22,14 @@ void cVeDrRecTitle::SetTokenContainer(void) {
tokenContainer->DefineStringToken("{recsubtitle}", (int)eDRRecTitleST::recsubtitle);
tokenContainer->DefineStringToken("{recdate}", (int)eDRRecTitleST::recdate);
tokenContainer->DefineStringToken("{rectime}", (int)eDRRecTitleST::rectime);
+ tokenContainer->DefineStringToken("{eventstart}", (int)eDRRecTitleST::eventstart);
+ tokenContainer->DefineStringToken("{eventstop}", (int)eDRRecTitleST::eventstop);
+ tokenContainer->DefineIntToken("{timeshift}", (int)eDRRecTitleIT::timeshift);
InheritTokenContainer();
}
-void cVeDrRecTitle::Set(const cRecording *recording, const cEvent *event) {
+void cVeDrRecTitle::Set(const cRecording *recording, const cEvent *event, bool timeshiftActive) {
+ this->timeshiftActive = timeshiftActive;
if (this->title) {
free(this->title);
this->title = NULL;
@@ -83,6 +87,11 @@ bool cVeDrRecTitle::Parse(bool force) {
tokenContainer->AddStringToken((int)eDRRecTitleST::recsubtitle, recShortText);
tokenContainer->AddStringToken((int)eDRRecTitleST::recdate, *ShortDateString(recording->Start()));
tokenContainer->AddStringToken((int)eDRRecTitleST::rectime, *TimeString(recording->Start()));
+ tokenContainer->AddIntToken((int)eDRRecTitleIT::timeshift, timeshiftActive);
+ if (event) {
+ tokenContainer->AddStringToken((int)eDRRecTitleST::eventstart, *TimeString(event->StartTime()));
+ tokenContainer->AddStringToken((int)eDRRecTitleST::eventstop, *TimeString(event->EndTime()));
+ }
} else if (title) {
tokenContainer->AddStringToken((int)eDRRecTitleST::rectitle, title);
}
diff --git a/coreengine/viewelementsdisplayreplay.h b/coreengine/viewelementsdisplayreplay.h
index c9e40f9..f6d28e5 100644
--- a/coreengine/viewelementsdisplayreplay.h
+++ b/coreengine/viewelementsdisplayreplay.h
@@ -12,11 +12,12 @@ private:
const cRecording *recording;
const cEvent *event;
char *title;
+ bool timeshiftActive;
public:
cVeDrRecTitle(void);
virtual ~cVeDrRecTitle(void);
void SetTokenContainer(void);
- void Set(const cRecording *recording = NULL, const cEvent *event = NULL);
+ void Set(const cRecording *recording = NULL, const cEvent *event = NULL, bool timeshiftActive = false);
void Set(const char *title = NULL);
bool Parse(bool forced = false);
};
diff --git a/skins/estuary4vdr/xmlfiles/displayreplay.xml b/skins/estuary4vdr/xmlfiles/displayreplay.xml
index f3e96b6..0e8b33a 100644
--- a/skins/estuary4vdr/xmlfiles/displayreplay.xml
+++ b/skins/estuary4vdr/xmlfiles/displayreplay.xml
@@ -38,7 +38,12 @@
</scrapercontent>
<rectitle>
- <area x="12%" y="75%" width="63%" height="6%" layer="2">
+ <area condition="{timeshift}" x="12%" y="75%" width="63%" height="6%" layer="2">
+ <drawtext name="eventtime" align="right" y="0" fontsize="{areaheight}*{replaytitlesize}/100" font="{bold}" color="{fontactive}" text= "{eventstart} - {eventstop}" />
+ <drawtext name="title" x="0" y="0" width="{areawidth} - {width(eventtime)} - 2" fontsize="{areaheight}*{replaytitlesize}/100" font="{regular}" color="{fontdefault}" text="{rectitle}" />
+ <drawtext condition="isset{title} ++ isset{recsubtitle}" x="{width(title)}" y="0" width="{areawidth} - {width(title)} - {width(eventtime)} - 2" fontsize="{areaheight}*{replaytitlesize}/100" font="{regular}" color="{fontdefault}" text=" - {recsubtitle}" />
+ </area>
+ <area condition="not{timeshift}" x="12%" y="75%" width="63%" height="6%" layer="2">
<drawtext name="title" x="0" y="0" fontsize="{areaheight}*{replaytitlesize}/100" font="{regular}" color="{fontdefault}" text="{rectitle}" />
<drawtext condition="isset{title} ++ isset{recsubtitle}" x="{width(title)}" y="0" fontsize="{areaheight}*{replaytitlesize}/100" font="{regular}" color="{fontdefault}" text=" - {recsubtitle}" />
</area>
diff --git a/skinskeleton/xmlfiles/displayreplay.xml b/skinskeleton/xmlfiles/displayreplay.xml
index 083cdf6..ed548ba 100644
--- a/skinskeleton/xmlfiles/displayreplay.xml
+++ b/skinskeleton/xmlfiles/displayreplay.xml
@@ -56,6 +56,9 @@
{recsubtitle} Subtitle of the Recording
{recdate} Date Recording in dd.mm.yy
{rectime} Time of Recording in hh:mm
+ {eventstart} Starttime of coresponding event in timeshiftmode in hh:mm
+ {eventstop} Endtime of coresponding event in timeshiftmode in hh:mm
+ {timeshift} true if a timeshifted recording is displayed
-->
<rectitle>
</rectitle>