diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2004-02-21 15:30:35 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2004-02-21 15:30:35 +0100 |
commit | 6fef98aa971f8ee51b21d95f9fe3f975a13858f1 (patch) | |
tree | 9a08f57ac8377d16a35c1a84b0609b49a58318fe | |
parent | c969c77d9c5faed74e429a60c9eaa00b4b84ec1f (diff) | |
download | vdr-6fef98aa971f8ee51b21d95f9fe3f975a13858f1.tar.gz vdr-6fef98aa971f8ee51b21d95f9fe3f975a13858f1.tar.bz2 |
Implemented an "EPG linger time"
-rw-r--r-- | CONTRIBUTORS | 1 | ||||
-rw-r--r-- | HISTORY | 2 | ||||
-rw-r--r-- | MANUAL | 3 | ||||
-rw-r--r-- | config.c | 5 | ||||
-rw-r--r-- | config.h | 3 | ||||
-rw-r--r-- | epg.c | 4 | ||||
-rw-r--r-- | i18n.c | 20 | ||||
-rw-r--r-- | menu.c | 8 |
8 files changed, 38 insertions, 8 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 6719ef41..bc19b3ea 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -561,6 +561,7 @@ Jaakko Hyvätti <jaakko@hyvatti.iki.fi> for fixing the minimum lifespan of deleted recordings for suggesting to improve channel switching in case of numerical input by switching as soon as the channel is unique + for implementing an "EPG linger time" Dennis Noordsij <dennis.noordsij@wiral.com> for reporting a small glitch when switching channels @@ -2689,3 +2689,5 @@ Video Disk Recorder Revision History will still be shown in the display (provided the broadcasters handle the 'running status' flag correctly). This also applies to programmes that have a start time that is in the future, but are already running. +- Implemented an "EPG linger time", which can be set to have older EPG information + still displayed in the "Schedule" menu (thanks to Jaakko Hyvätti). @@ -462,6 +462,9 @@ Version 1.2 be fixed accordingly. Restart VDR if you want to make sure all data is fixed. + EPG linger time = 0 The time (in minutes) within which old EPG information + shall still be displayed in the "Schedule" menu. + Set system time = no Defines whether the system time will be set according to the time received from the DVB data stream. Note that this works only if VDR is running under a user @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.c 1.123 2004/02/09 16:57:59 kls Exp $ + * $Id: config.c 1.124 2004/02/21 15:05:40 kls Exp $ */ #include "config.h" @@ -262,6 +262,7 @@ cSetup::cSetup(void) EPGLanguages[0] = -1; EPGScanTimeout = 5; EPGBugfixLevel = 2; + EPGLinger = 0; SVDRPTimeout = 300; ZapTimeout = 3; SortTimers = 1; @@ -406,6 +407,7 @@ bool cSetup::Parse(const char *Name, const char *Value) else if (!strcasecmp(Name, "EPGLanguages")) return ParseLanguages(Value, EPGLanguages); else if (!strcasecmp(Name, "EPGScanTimeout")) EPGScanTimeout = atoi(Value); else if (!strcasecmp(Name, "EPGBugfixLevel")) EPGBugfixLevel = atoi(Value); + else if (!strcasecmp(Name, "EPGLinger")) EPGLinger = atoi(Value); else if (!strcasecmp(Name, "SVDRPTimeout")) SVDRPTimeout = atoi(Value); else if (!strcasecmp(Name, "ZapTimeout")) ZapTimeout = atoi(Value); else if (!strcasecmp(Name, "SortTimers")) SortTimers = atoi(Value); @@ -457,6 +459,7 @@ bool cSetup::Save(void) StoreLanguages("EPGLanguages", EPGLanguages); Store("EPGScanTimeout", EPGScanTimeout); Store("EPGBugfixLevel", EPGBugfixLevel); + Store("EPGLinger", EPGLinger); Store("SVDRPTimeout", SVDRPTimeout); Store("ZapTimeout", ZapTimeout); Store("SortTimers", SortTimers); @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 1.187 2004/02/09 17:04:09 kls Exp $ + * $Id: config.h 1.188 2004/02/21 15:04:53 kls Exp $ */ #ifndef __CONFIG_H @@ -220,6 +220,7 @@ public: int EPGLanguages[I18nNumLanguages + 1]; int EPGScanTimeout; int EPGBugfixLevel; + int EPGLinger; int SVDRPTimeout; int ZapTimeout; int SortTimers; @@ -7,7 +7,7 @@ * Original version (as used in VDR before 1.3.0) written by * Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>. * - * $Id: epg.c 1.9 2004/02/21 14:33:11 kls Exp $ + * $Id: epg.c 1.10 2004/02/21 15:15:47 kls Exp $ */ #include "epg.h" @@ -523,7 +523,7 @@ void cSchedule::Cleanup(time_t Time) Event = events.Get(a); if (!Event) break; - if (Event->StartTime() + Event->Duration() + 3600 < Time) { // adding one hour for safety + if (Event->StartTime() + Event->Duration() + Setup.EPGLinger * 60 + 3600 < Time) { // adding one hour for safety events.Del(Event); a--; } @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: i18n.c 1.147 2004/02/20 13:58:14 kls Exp $ + * $Id: i18n.c 1.148 2004/02/21 15:14:36 kls Exp $ * * Translations provided by: * @@ -2355,6 +2355,24 @@ const tI18nPhrase Phrases[] = { "Nivell de correcció de la Guia", "ÃàÞÒÕÝì ÚÞààÕÚæØØ ÞèØÑÞÚ", }, + { "Setup.EPG$EPG linger time (min)", + "Alte EPG-Daten anzeigen (min)",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "",// TODO + "Vanha tieto näkyy (min)", + "",// TODO + "",// TODO + "",// TODO + "Visa gammal info (min)", + "",// TODO + "",// TODO + "",// TODO + "",// TODO + }, { "Setup.EPG$Set system time", "Systemzeit stellen", "Nastavi sistemski cas", @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 1.287 2004/02/21 13:53:25 kls Exp $ + * $Id: menu.c 1.288 2004/02/21 15:26:47 kls Exp $ */ #include "menu.h" @@ -1366,12 +1366,13 @@ void cMenuSchedule::PrepareSchedule(cChannel *Channel) if (schedules) { const cSchedule *Schedule = schedules->GetSchedule(Channel->GetChannelID()); if (Schedule) { + const cEvent *PresentEvent = Schedule->GetPresentEvent(); int num = Schedule->NumEvents(); - time_t now = time(NULL); + time_t now = time(NULL) - Setup.EPGLinger * 60; for (int a = 0; a < num; a++) { const cEvent *Event = Schedule->GetEventNumber(a); if (Event->StartTime() + Event->Duration() > now) - Add(new cMenuScheduleItem(Event)); + Add(new cMenuScheduleItem(Event), Event == PresentEvent); } } } @@ -2026,6 +2027,7 @@ void cMenuSetupEPG::Setup(void) Add(new cMenuEditIntItem( tr("Setup.EPG$EPG scan timeout (h)"), &data.EPGScanTimeout)); Add(new cMenuEditIntItem( tr("Setup.EPG$EPG bugfix level"), &data.EPGBugfixLevel, 0, MAXEPGBUGFIXLEVEL)); + Add(new cMenuEditIntItem( tr("Setup.EPG$EPG linger time (min)"), &data.EPGLinger, 0)); Add(new cMenuEditBoolItem(tr("Setup.EPG$Set system time"), &data.SetSystemTime)); if (data.SetSystemTime) Add(new cMenuEditTranItem(tr("Setup.EPG$Use time from transponder"), &data.TimeTransponder)); |