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 fixing the minimum lifespan of deleted recordings
 | 
				
			||||||
 for suggesting to improve channel switching in case of numerical input by switching
 | 
					 for suggesting to improve channel switching in case of numerical input by switching
 | 
				
			||||||
 as soon as the channel is unique
 | 
					 as soon as the channel is unique
 | 
				
			||||||
 | 
					 for implementing an "EPG linger time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Dennis Noordsij <dennis.noordsij@wiral.com>
 | 
					Dennis Noordsij <dennis.noordsij@wiral.com>
 | 
				
			||||||
 for reporting a small glitch when switching channels
 | 
					 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
 | 
					  will still be shown in the display (provided the broadcasters handle the
 | 
				
			||||||
  'running status' flag correctly). This also applies to programmes that have
 | 
					  'running status' flag correctly). This also applies to programmes that have
 | 
				
			||||||
  a start time that is in the future, but are already running.
 | 
					  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
 | 
					                         be fixed accordingly. Restart VDR if you want to make sure
 | 
				
			||||||
                         all data is fixed.
 | 
					                         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
 | 
					  Set system time = no   Defines whether the system time will be set according to
 | 
				
			||||||
                         the time received from the DVB data stream.
 | 
					                         the time received from the DVB data stream.
 | 
				
			||||||
                         Note that this works only if VDR is running under a user
 | 
					                         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
 | 
					 * See the main source file 'vdr.c' for copyright information and
 | 
				
			||||||
 * how to reach the author.
 | 
					 * 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"
 | 
					#include "config.h"
 | 
				
			||||||
@@ -262,6 +262,7 @@ cSetup::cSetup(void)
 | 
				
			|||||||
  EPGLanguages[0] = -1;
 | 
					  EPGLanguages[0] = -1;
 | 
				
			||||||
  EPGScanTimeout = 5;
 | 
					  EPGScanTimeout = 5;
 | 
				
			||||||
  EPGBugfixLevel = 2;
 | 
					  EPGBugfixLevel = 2;
 | 
				
			||||||
 | 
					  EPGLinger = 0;
 | 
				
			||||||
  SVDRPTimeout = 300;
 | 
					  SVDRPTimeout = 300;
 | 
				
			||||||
  ZapTimeout = 3;
 | 
					  ZapTimeout = 3;
 | 
				
			||||||
  SortTimers = 1;
 | 
					  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, "EPGLanguages"))        return ParseLanguages(Value, EPGLanguages);
 | 
				
			||||||
  else if (!strcasecmp(Name, "EPGScanTimeout"))      EPGScanTimeout     = atoi(Value);
 | 
					  else if (!strcasecmp(Name, "EPGScanTimeout"))      EPGScanTimeout     = atoi(Value);
 | 
				
			||||||
  else if (!strcasecmp(Name, "EPGBugfixLevel"))      EPGBugfixLevel     = 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, "SVDRPTimeout"))        SVDRPTimeout       = atoi(Value);
 | 
				
			||||||
  else if (!strcasecmp(Name, "ZapTimeout"))          ZapTimeout         = atoi(Value);
 | 
					  else if (!strcasecmp(Name, "ZapTimeout"))          ZapTimeout         = atoi(Value);
 | 
				
			||||||
  else if (!strcasecmp(Name, "SortTimers"))          SortTimers         = atoi(Value);
 | 
					  else if (!strcasecmp(Name, "SortTimers"))          SortTimers         = atoi(Value);
 | 
				
			||||||
@@ -457,6 +459,7 @@ bool cSetup::Save(void)
 | 
				
			|||||||
  StoreLanguages("EPGLanguages", EPGLanguages);
 | 
					  StoreLanguages("EPGLanguages", EPGLanguages);
 | 
				
			||||||
  Store("EPGScanTimeout",     EPGScanTimeout);
 | 
					  Store("EPGScanTimeout",     EPGScanTimeout);
 | 
				
			||||||
  Store("EPGBugfixLevel",     EPGBugfixLevel);
 | 
					  Store("EPGBugfixLevel",     EPGBugfixLevel);
 | 
				
			||||||
 | 
					  Store("EPGLinger",          EPGLinger);
 | 
				
			||||||
  Store("SVDRPTimeout",       SVDRPTimeout);
 | 
					  Store("SVDRPTimeout",       SVDRPTimeout);
 | 
				
			||||||
  Store("ZapTimeout",         ZapTimeout);
 | 
					  Store("ZapTimeout",         ZapTimeout);
 | 
				
			||||||
  Store("SortTimers",         SortTimers);
 | 
					  Store("SortTimers",         SortTimers);
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								config.h
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								config.h
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
				
			|||||||
 * See the main source file 'vdr.c' for copyright information and
 | 
					 * See the main source file 'vdr.c' for copyright information and
 | 
				
			||||||
 * how to reach the author.
 | 
					 * 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
 | 
					#ifndef __CONFIG_H
 | 
				
			||||||
@@ -220,6 +220,7 @@ public:
 | 
				
			|||||||
  int EPGLanguages[I18nNumLanguages + 1];
 | 
					  int EPGLanguages[I18nNumLanguages + 1];
 | 
				
			||||||
  int EPGScanTimeout;
 | 
					  int EPGScanTimeout;
 | 
				
			||||||
  int EPGBugfixLevel;
 | 
					  int EPGBugfixLevel;
 | 
				
			||||||
 | 
					  int EPGLinger;
 | 
				
			||||||
  int SVDRPTimeout;
 | 
					  int SVDRPTimeout;
 | 
				
			||||||
  int ZapTimeout;
 | 
					  int ZapTimeout;
 | 
				
			||||||
  int SortTimers;
 | 
					  int SortTimers;
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								epg.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								epg.c
									
									
									
									
									
								
							@@ -7,7 +7,7 @@
 | 
				
			|||||||
 * Original version (as used in VDR before 1.3.0) written by
 | 
					 * Original version (as used in VDR before 1.3.0) written by
 | 
				
			||||||
 * Robert Schneider <Robert.Schneider@web.de> and Rolf Hakenes <hakenes@hippomi.de>.
 | 
					 * 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"
 | 
					#include "epg.h"
 | 
				
			||||||
@@ -523,7 +523,7 @@ void cSchedule::Cleanup(time_t Time)
 | 
				
			|||||||
      Event = events.Get(a);
 | 
					      Event = events.Get(a);
 | 
				
			||||||
      if (!Event)
 | 
					      if (!Event)
 | 
				
			||||||
         break;
 | 
					         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);
 | 
					         events.Del(Event);
 | 
				
			||||||
         a--;
 | 
					         a--;
 | 
				
			||||||
         }
 | 
					         }
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										20
									
								
								i18n.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								i18n.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
				
			|||||||
 * See the main source file 'vdr.c' for copyright information and
 | 
					 * See the main source file 'vdr.c' for copyright information and
 | 
				
			||||||
 * how to reach the author.
 | 
					 * 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:
 | 
					 * Translations provided by:
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -2355,6 +2355,24 @@ const tI18nPhrase Phrases[] = {
 | 
				
			|||||||
    "Nivell de correcci<63> de la Guia",
 | 
					    "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>",
 | 
					    "<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",
 | 
					  { "Setup.EPG$Set system time",
 | 
				
			||||||
    "Systemzeit stellen",
 | 
					    "Systemzeit stellen",
 | 
				
			||||||
    "Nastavi sistemski cas",
 | 
					    "Nastavi sistemski cas",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										8
									
								
								menu.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								menu.c
									
									
									
									
									
								
							@@ -4,7 +4,7 @@
 | 
				
			|||||||
 * See the main source file 'vdr.c' for copyright information and
 | 
					 * See the main source file 'vdr.c' for copyright information and
 | 
				
			||||||
 * how to reach the author.
 | 
					 * 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"
 | 
					#include "menu.h"
 | 
				
			||||||
@@ -1366,12 +1366,13 @@ void cMenuSchedule::PrepareSchedule(cChannel *Channel)
 | 
				
			|||||||
  if (schedules) {
 | 
					  if (schedules) {
 | 
				
			||||||
     const cSchedule *Schedule = schedules->GetSchedule(Channel->GetChannelID());
 | 
					     const cSchedule *Schedule = schedules->GetSchedule(Channel->GetChannelID());
 | 
				
			||||||
     if (Schedule) {
 | 
					     if (Schedule) {
 | 
				
			||||||
 | 
					        const cEvent *PresentEvent = Schedule->GetPresentEvent();
 | 
				
			||||||
        int num = Schedule->NumEvents();
 | 
					        int num = Schedule->NumEvents();
 | 
				
			||||||
        time_t now = time(NULL);
 | 
					        time_t now = time(NULL) - Setup.EPGLinger * 60;
 | 
				
			||||||
        for (int a = 0; a < num; a++) {
 | 
					        for (int a = 0; a < num; a++) {
 | 
				
			||||||
            const cEvent *Event = Schedule->GetEventNumber(a);
 | 
					            const cEvent *Event = Schedule->GetEventNumber(a);
 | 
				
			||||||
            if (Event->StartTime() + Event->Duration() > now)
 | 
					            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 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 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));
 | 
					  Add(new cMenuEditBoolItem(tr("Setup.EPG$Set system time"),           &data.SetSystemTime));
 | 
				
			||||||
  if (data.SetSystemTime)
 | 
					  if (data.SetSystemTime)
 | 
				
			||||||
     Add(new cMenuEditTranItem(tr("Setup.EPG$Use time from transponder"), &data.TimeTransponder));
 | 
					     Add(new cMenuEditTranItem(tr("Setup.EPG$Use time from transponder"), &data.TimeTransponder));
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user