mirror of
https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git
synced 2023-10-19 15:58:31 +00:00
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
This commit is contained in:
@@ -1491,6 +1491,13 @@ enum class eDRRecTitleST {
|
||||
recsubtitle,
|
||||
recdate,
|
||||
rectime,
|
||||
eventstart,
|
||||
eventstop,
|
||||
count
|
||||
};
|
||||
|
||||
enum class eDRRecTitleIT {
|
||||
timeshift = 0,
|
||||
count
|
||||
};
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
};
|
||||
|
Reference in New Issue
Block a user