diff options
author | kamel5 <vdr.kamel5 (at) gmx (dot) net> | 2021-02-12 15:20:34 +0100 |
---|---|---|
committer | kamel5 <vdr.kamel5 (at) gmx (dot) net> | 2021-02-15 12:22:33 +0100 |
commit | 7a70ed13a768e4c22653b12e1045aa8d9b4716eb (patch) | |
tree | 0e491938eb41e24a82cd4727e5ee81557b5039dd | |
parent | 808fba23671a879b3a38675f69478189cb735a29 (diff) | |
download | vdr-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.h | 7 | ||||
-rw-r--r-- | coreengine/viewdisplayreplay.c | 2 | ||||
-rw-r--r-- | coreengine/viewelementsdisplayreplay.c | 11 | ||||
-rw-r--r-- | coreengine/viewelementsdisplayreplay.h | 3 | ||||
-rw-r--r-- | skins/estuary4vdr/xmlfiles/displayreplay.xml | 7 | ||||
-rw-r--r-- | skinskeleton/xmlfiles/displayreplay.xml | 3 |
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> |