summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkamel5 <vdr.kamel5 (at) gmx (dot) net>2019-06-21 14:07:00 +0200
committerkamel5 <vdr.kamel5 (at) gmx (dot) net>2019-06-21 14:07:00 +0200
commit8a04a17fc0a48f99903c3f5d2a0a30b238cbd7f7 (patch)
treec039b70b7a5d54f11104271212dc40035bc1d84c
parent9278f18cb95c1fe417668d9ae790398698d3c907 (diff)
downloadvdr-plugin-skindesigner-8a04a17fc0a48f99903c3f5d2a0a30b238cbd7f7.tar.gz
vdr-plugin-skindesigner-8a04a17fc0a48f99903c3f5d2a0a30b238cbd7f7.tar.bz2
Eliminate a look sequence report in displayreplay
-rw-r--r--coreengine/viewdisplayreplay.c40
-rw-r--r--coreengine/viewdisplayreplay.h6
-rw-r--r--displayreplay.c36
-rw-r--r--displayreplay.h1
4 files changed, 47 insertions, 36 deletions
diff --git a/coreengine/viewdisplayreplay.c b/coreengine/viewdisplayreplay.c
index 28373b6..0e4328b 100644
--- a/coreengine/viewdisplayreplay.c
+++ b/coreengine/viewdisplayreplay.c
@@ -157,6 +157,8 @@ void cViewReplay::ClearVariables(void) {
veEndTime->Set(cString(""));
if (veCutMarks)
veCutMarks->Reset();
+ timersLoaded = false;
+ globalTimers.ClearTimers();
}
void cViewReplay::SetTimeShift(int framesTotal, int timeShiftLength) {
@@ -180,6 +182,44 @@ void cViewReplay::SetRecording(const cRecording *recording) {
}
}
+void cViewReplay::GetTimers(void) {
+ if (!timersLoaded) {
+ timersLoaded = true;
+ globalTimers.LoadTimers();
+ }
+}
+
+void cViewReplay::SetTimeShiftValues(const cRecording *recording) {
+ //check for instant recording
+ const char *recName = recording->Name();
+ if (recName && *recName == '@')
+ return;
+ bool isTimeShift = false;
+#if APIVERSNUM >= 20101
+ int usage = recording->IsInUse();
+ if (usage & ruTimer)
+ isTimeShift = true;
+ else {
+ if (globalTimers.IsRecording(recording))
+ isTimeShift = true;
+ }
+#endif
+ if (!isTimeShift)
+ return;
+ const cRecordingInfo *recInfo = recording->Info();
+ if (!recInfo)
+ return;
+ const cEvent *event = recInfo->GetEvent();
+ if (!event)
+ return;
+ double fps = recording->FramesPerSecond();
+ time_t liveEventStop = event->EndTime();
+ time_t recordingStart = time(0) - recording->LengthInSeconds();
+ int framesTotal = (liveEventStop - recordingStart)*fps;
+ int recLength = liveEventStop - recordingStart;
+ SetTimeShift(framesTotal, recLength);
+}
+
void cViewReplay::SetTitle(const char *title) {
if (veRecTitle) {
veRecTitle->Set(title);
diff --git a/coreengine/viewdisplayreplay.h b/coreengine/viewdisplayreplay.h
index 162d63e..9098275 100644
--- a/coreengine/viewdisplayreplay.h
+++ b/coreengine/viewdisplayreplay.h
@@ -30,6 +30,8 @@ private:
int timeShiftFramesTotal;
int timeShiftLength;
cString timeShiftDuration;
+ bool timersLoaded;
+ cGlobalTimers globalTimers;
void SetViewElements(void);
void ClearVariables(void);
void SetViewElementObjects(void);
@@ -43,6 +45,8 @@ public:
void SetTimeShift(int framesTotal, int timeShiftLength);
void SetRecording(const cRecording *recording);
void SetTitle(const char *title);
+ void GetTimers(void);
+ void SetTimeShiftValues(const cRecording *recording);
void SetCurrent(const char *current);
void SetTotal(const char *total);
void SetEndTime(int current, int total);
@@ -57,4 +61,4 @@ public:
void Flush(void);
};
-#endif //__VIEWDISPLAYREPLAY_H1 \ No newline at end of file
+#endif //__VIEWDISPLAYREPLAY_H1
diff --git a/displayreplay.c b/displayreplay.c
index 7e2fe72..3472548 100644
--- a/displayreplay.c
+++ b/displayreplay.c
@@ -18,7 +18,7 @@ void cSDDisplayReplay::SetRecording(const cRecording *Recording) {
view->SetRecording(Recording);
if (init) {
view->SetRecordingLength(Recording->LengthInSeconds());
- SetTimeShiftValues(Recording);
+ view->SetTimeShiftValues(Recording);
init = false;
}
}
@@ -78,38 +78,6 @@ void cSDDisplayReplay::SetMessage(eMessageType Type, const char *Text) {
void cSDDisplayReplay::Flush(void) {
if (!ok)
return;
+ view->GetTimers();
view->Flush();
}
-
-void cSDDisplayReplay::SetTimeShiftValues(const cRecording *recording) {
- //check for instant recording
- const char *recName = recording->Name();
- if (recName && *recName == '@')
- return;
- bool isTimeShift = false;
-#if APIVERSNUM >= 20101
- int usage = recording->IsInUse();
- if (usage & ruTimer)
- isTimeShift = true;
- else {
- cGlobalTimers globalTimers;
- globalTimers.LoadTimers();
- if (globalTimers.IsRecording(recording))
- isTimeShift = true;
- }
-#endif
- if (!isTimeShift)
- return;
- const cRecordingInfo *recInfo = recording->Info();
- if (!recInfo)
- return;
- const cEvent *event = recInfo->GetEvent();
- if (!event)
- return;
- double fps = recording->FramesPerSecond();
- time_t liveEventStop = event->EndTime();
- time_t recordingStart = time(0) - recording->LengthInSeconds();
- int framesTotal = (liveEventStop - recordingStart)*fps;
- int recLength = liveEventStop - recordingStart;
- view->SetTimeShift(framesTotal, recLength);
-}
diff --git a/displayreplay.h b/displayreplay.h
index 2c4fa77..1ee635d 100644
--- a/displayreplay.h
+++ b/displayreplay.h
@@ -10,7 +10,6 @@ private:
bool ok;
bool init;
cViewReplay *view;
- void SetTimeShiftValues(const cRecording *recording);
public:
cSDDisplayReplay(cViewReplay *replayView, bool ModeOnly);
virtual ~cSDDisplayReplay();