summaryrefslogtreecommitdiff
path: root/coreengine
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 /coreengine
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
Diffstat (limited to 'coreengine')
-rw-r--r--coreengine/definitions.h7
-rw-r--r--coreengine/viewdisplayreplay.c2
-rw-r--r--coreengine/viewelementsdisplayreplay.c11
-rw-r--r--coreengine/viewelementsdisplayreplay.h3
4 files changed, 20 insertions, 3 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);
};