Pieni muutos/korjaus GetFollowingEvent-metodiin

Juttua VDR:n ja VDR pluginien patcheistä

Pieni muutos/korjaus GetFollowingEvent-metodiin

ViestiKirjoittaja pjmauno » 16.12.2005 20:37

Olen varmaankin huono ihminen, mutta minua on ärsyttänyt vdr:n tapa käsitellä kanavaopasta (epg), kun joltakin kanavalta on ohjelma loppunut, eikä seuraava ole vielä alkanut: "Menossa nyt" ei näytä koko kanavaa. Tämän vielä kestän, sillä niinhän ohjelmaoppaan mukaan onkin, mutta että seuraavaksikaan ei ole mitään tulossa. Tähän seuraavassa pieni patchi, joka kaivaa seuraavan ohjelman esille, jos sellainen on olemassa:
Koodi: Valitse kaikki
diff -Naur vanilla/epg.c fixed/epg.c
--- vanilla/epg.c       2005-11-27 19:04:15.000000000 +0200
+++ fixed/epg.c 2005-11-28 20:56:15.000000000 +0200
@@ -673,7 +673,17 @@
 {
   const cEvent *p = GetPresentEvent(CheckRunningStatus);
   if (p)
-     p = events.Next(p);
+    p = events.Next(p);
+  else  {
+    // Get next event
+    time_t now = time(NULL);
+    for (cEvent *pe = events.First(); pe; pe = events.Next(pe)) {
+      if (pe->StartTime() >= now) {
+       p = pe;
+       break;
+      }
+    }
+  }
   return p;
 }


Muutos on brutaali, eikä välitä siitä miten kaukana tulevaisuudessa ohjelma tulee, vain etsii ja palauttaa sen näkyviin.

Pekka
pjmauno
Havittelija
 
Viestit: 20
Liittynyt: 05.07.2004 3:00
Paikkakunta: Jyväskylä

Paluu Patchit

Paikallaolijat

Käyttäjiä lukemassa tätä aluetta: Ei rekisteröityneitä käyttäjiä ja 2 vierailijaa

cron