Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Making EPG events linger for a few minutes



  Hi,

  I have a suggestion.. often at least with these sloppy channels here
we have programs 5 to 10 minutes late.  In that case the EPG listnings are
already showing the next event, or even the one after that.. and there is
no way to view the previous event, which has still not yet ended as it is
running late.

  This patch adds the number of minutes how long the events can be viewed
in the EPG.  It does not affect the channel display.  (At the same go I
added a couple of translations for Finnish language.)  I hope it is
useful..

Jaakko

--- old/vdr-1.1.22/menu.c	Sun Jan 19 16:59:46 2003
+++ vdr-1.1.22/menu.c	Fri Jan 31 11:33:36 2003
@@ -1354,7 +1354,7 @@
         int numreal = 0;
         for (int a = 0; a < num; a++) {
             const cEventInfo *EventInfo = Schedule->GetEventNumber(a);
-            if (EventInfo->GetTime() + EventInfo->GetDuration() > now)
+            if (EventInfo->GetTime() + EventInfo->GetDuration() + Setup.EPGLinger * 60 > now)
                pArray[numreal++] = EventInfo;
             }

@@ -1988,7 +1988,8 @@
   Add(new cMenuEditIntItem( tr("Setup.EPG$EPG bugfix level"),          &data.EPGBugfixLevel, 0, MAXEPGBUGFIXLEVEL));
   Add(new cMenuEditBoolItem(tr("Setup.EPG$Set system time"),           &data.SetSystemTime));
   Add(new cMenuEditTranItem(tr("Setup.EPG$Use time from transponder"), &data.TimeTransponder));
+  Add(new cMenuEditIntItem( tr("Setup.EPG$Event linger time (min)"),   &data.EPGLinger));
 }

 // --- cMenuSetupDVB ---------------------------------------------------------
--- old/vdr-1.1.22/i18n.c	Sun Jan 26 13:46:46 2003
+++ vdr-1.1.22/i18n.c	Fri Jan 31 11:59:38 2003
@@ -682,13 +682,13 @@
   },
   { "Reset",
     "Reset",
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
+    "",//TODO Slovenski
+    "",//TODO Italiano
+    "",//TODO Nederlands
+    "",//TODO Português
+    "",//TODO Français
+    "",//TODO Norsk
+    "Alusta",
     "",//TODO
     "",//TODO
     "",//TODO
@@ -962,7 +962,7 @@
     "Srate",
     "Fréq. Symbole",
     "Srate",
-    "Srate",
+    "Symbolinopeus",
     "Srate",
     "Srate",
     "Srate",
@@ -1502,13 +1502,13 @@
   },
   { "Channel settings are not unique!",
     "Kanaleinstellungen sind nicht eindeutig!",
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
+    "",//TODO Slovenski
+    "",//TODO Italiano
+    "",//TODO Nederlands
+    "",//TODO Português
+    "",//TODO Français
+    "",//TODO Norsk
+    "Näillä asetuksilla on jo kanava!",
     "",//TODO
     "",//TODO
     "",//TODO
@@ -1614,13 +1614,13 @@
   },
   { "Can't open CAM menu!",
     "CAM-Menü kann nicht geöffnet werden!",
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
+    "",//TODO Slovenski
+    "",//TODO Italiano
+    "",//TODO Nederlands
+    "",//TODO Português
+    "",//TODO Français
+    "",//TODO Norsk
+    "CAM-valikkoon ei pääse!",
     "",//TODO
     "",//TODO
     "",//TODO
@@ -1630,13 +1630,13 @@
   },
   { "Can't reset CAM!",
     "CAM-Reset fehlgeschlagen!",
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
+    "",//TODO Slovenski
+    "",//TODO Italiano
+    "",//TODO Nederlands
+    "",//TODO Português
+    "",//TODO Français
+    "",//TODO Norsk
+    "CAM ei alustettavissa",
     "",//TODO
     "",//TODO
     "",//TODO
@@ -1646,13 +1646,13 @@
   },
   { "CAM has been reset",
     "CAM wurde zurückgesetzt!",
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
-    "",//TODO
+    "",//TODO Slovenski
+    "",//TODO Italiano
+    "",//TODO Nederlands
+    "",//TODO Português
+    "",//TODO Français
+    "",//TODO Norsk
+    "CAM alustettu",
     "",//TODO
     "",//TODO
     "",//TODO
@@ -2014,7 +2014,23 @@
     "Nivel corectie EPG",
     "EPG hibaelhárítás",
   },
+  { "Setup.EPG$Event linger time (min)",
+    "",// TODO Deutsch
+    "",// TODO Slovenski
+    "",// TODO Italiano
+    "",// TODO Nederlands
+    "",// TODO Português
+    "",// TODO Français
+    "",// TODO Norsk
+    "Vanha tieto näkyy (min)",
+    "",// TODO Polski
+    "",// TODO Español
+    "",// TODO Ellinika
+    "",// TODO Svenska
+    "",// TODO Romaneste
+    "",// TODO Magyar
+  },
   { "Setup.EPG$Set system time",
     "Systemzeit stellen",
     "Nastavi sistemski cas",
--- old/vdr-1.1.22/config.c	Sat Nov  2 15:13:49 2002
+++ vdr-1.1.22/config.c	Fri Jan 31 11:24:26 2003
@@ -261,6 +261,7 @@
   MarginStop = 10;
   EPGScanTimeout = 5;
   EPGBugfixLevel = 2;
+  EPGLinger = 0;
   SVDRPTimeout = 300;
   SortTimers = 1;
   PrimaryLimit = 0;
@@ -409,6 +410,7 @@
   else if (!strcasecmp(Name, "MarginStop"))          MarginStop         = atoi(Value);
   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, "SortTimers"))          SortTimers         = atoi(Value);
   else if (!strcasecmp(Name, "PrimaryLimit"))        PrimaryLimit       = atoi(Value);
@@ -455,7 +457,8 @@
   Store("MarginStop",         MarginStop);
   Store("EPGScanTimeout",     EPGScanTimeout);
   Store("EPGBugfixLevel",     EPGBugfixLevel);
+  Store("EPGLinger",          EPGLinger);
   Store("SVDRPTimeout",       SVDRPTimeout);
   Store("SortTimers",         SortTimers);
   Store("PrimaryLimit",       PrimaryLimit);
--- old/vdr-1.1.22/config.h	Sun Jan 12 11:44:28 2003
+++ vdr-1.1.22/config.h	Fri Jan 31 11:26:55 2003
@@ -213,6 +213,7 @@
   int MarginStart, MarginStop;
   int EPGScanTimeout;
   int EPGBugfixLevel;
+  int EPGLinger;
   int SVDRPTimeout;
   int SortTimers;
   int PrimaryLimit;
--- old/vdr-1.1.22/eit.c	Sun Jan 26 14:21:15 2003
+++ vdr-1.1.22/eit.c	Fri Jan 31 12:18:38 2003
@@ -738,7 +738,7 @@
       pEvent = Events.Get(a);
       if (pEvent == NULL)
          break;
-      if (pEvent->GetTime() + pEvent->GetDuration() + 3600 < tTime) // adding one hour for safety
+      if (pEvent->GetTime() + pEvent->GetDuration() + Setup.EPGLinger * 60 + 3600 < tTime) // adding one hour for safety
       {
          Events.Del(pEvent);
          a--;

-- 
Foreca Ltd                                           Jaakko.Hyvatti@foreca.com
Pursimiehenkatu 29-31 B, FIN-00150 Helsinki, Finland     http://www.foreca.com


--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index