mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	Implemented an "EPG linger time"
This commit is contained in:
		| @@ -561,6 +561,7 @@ Jaakko Hyv | ||||
|  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 | ||||
|   | ||||
							
								
								
									
										2
									
								
								HISTORY
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								HISTORY
									
									
									
									
									
								
							| @@ -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<79>tti). | ||||
|   | ||||
							
								
								
									
										3
									
								
								MANUAL
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								MANUAL
									
									
									
									
									
								
							| @@ -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 | ||||
|   | ||||
							
								
								
									
										5
									
								
								config.c
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								config.c
									
									
									
									
									
								
							| @@ -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); | ||||
|   | ||||
							
								
								
									
										3
									
								
								config.h
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								config.h
									
									
									
									
									
								
							| @@ -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; | ||||
|   | ||||
							
								
								
									
										4
									
								
								epg.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								epg.c
									
									
									
									
									
								
							| @@ -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--; | ||||
|          } | ||||
|   | ||||
							
								
								
									
										20
									
								
								i18n.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								i18n.c
									
									
									
									
									
								
							| @@ -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<63> de la Guia", | ||||
|     "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", | ||||
|   }, | ||||
|   { "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", | ||||
|   | ||||
							
								
								
									
										8
									
								
								menu.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								menu.c
									
									
									
									
									
								
							| @@ -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)); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user