Hi,
I've made a small patch for timeline-0.9.0 to make it work with vdr- 1.3.23 (I hope Jürgen doesn't mind, but its one of the most important plugins for me).
BR,
Christian Wieninger
Der folgende Teil dieser Nachricht enthält einen Anhang im sogenannten Internet MIME Nachrichtenformat. Wenn Sie Pegasus Mail oder ein beliebiges anderes MIME-kompatibles Email-System verwenden, sollte Sie den Anhang mit Ihrem Email-System speichern oder anzeigen können. Anderenfalls fragen Sie Ihren Administrator.
The following section of this message contains a file attachment prepared for transmission using the Internet MIME message format. If you are using Pegasus Mail, or any another MIME-compliant system, you should be able to save it or view it from within your mailer. If you cannot, please ask your system administrator for assistance.
---- Datei Information/File information ----------- Datei/File: timeline-0.9.0-vdr-1.3.23-patch.diff Datum/Date: 25 Mar 2005, 11:07 Größe/Size: 3684 bytes. Typ/Type: Unbekannt
cwieninger@gmx.de wrote:
I've made a small patch for timeline-0.9.0 to make it work with vdr- 1.3.23 (I hope Jürgen doesn't mind, but its one of the most important plugins for me).
The patch has problems with repeating timers.
I was working on a patch, too. It handles repeating timers correctly. Furthermore it is compatible with VDR < 1.3.23.
Download: http://toms-cafe.de/vdr/download/timeline-0.9.0-1.3.23.diff
Tom
Thomas Günther wrote:
cwieninger@gmx.de wrote:
I've made a small patch for timeline-0.9.0 to make it work with vdr- 1.3.23 (I hope Jürgen doesn't mind, but its one of the most important plugins for me).
The patch has problems with repeating timers.
I was working on a patch, too. It handles repeating timers correctly. Furthermore it is compatible with VDR < 1.3.23.
Download: http://toms-cafe.de/vdr/download/timeline-0.9.0-1.3.23.diff
Thank you for this patch. It seems to work correctly on all my timers, except I dont understand why these two are showing up as conflicts (using vdr-1.3.23):
Repeating conflict on M------ (same input device): 22:00-23:00(M------),(P50)a1:File1 22:00-23:00(------S),(P50)b2:File2
Repeating conflict on --W---- (same input device): 19:00-19:31(--W----),(P50)c3:File3 19:00-20:00(-T-----),(P50)d4:File4
Best Regards,
C.Y.M wrote:
Thomas Günther wrote:
cwieninger@gmx.de wrote:
I've made a small patch for timeline-0.9.0 to make it work with vdr- 1.3.23 (I hope Jürgen doesn't mind, but its one of the most important plugins for me).
The patch has problems with repeating timers.
I was working on a patch, too. It handles repeating timers correctly. Furthermore it is compatible with VDR < 1.3.23.
Download: http://toms-cafe.de/vdr/download/timeline-0.9.0-1.3.23.diff
Thank you for this patch. It seems to work correctly on all my timers, except I dont understand why these two are showing up as conflicts (using vdr-1.3.23):
Repeating conflict on M------ (same input device): 22:00-23:00(M------),(P50)a1:File1 22:00-23:00(------S),(P50)b2:File2
Repeating conflict on --W---- (same input device): 19:00-19:31(--W----),(P50)c3:File3 19:00-20:00(-T-----),(P50)d4:File4
The problem seems to be with repeating timers that occur at the same time on *adjacent* days. For example two shows that start at 8:00-9:00 on Monday and Tuesday would show a conflict or 10:00-11:00 on Wednesday and Thursday would show a conflict.. etc. The same two shows at 8:00-9:00 on Monday and Wednesday would *not* show a conflict (because Monday and Wednesday are not adjacent days).
Best Regards,
C.Y.M wrote:
Repeating conflict on M------ (same input device): 22:00-23:00(M------),(P50)a1:File1 22:00-23:00(------S),(P50)b2:File2
Repeating conflict on --W---- (same input device): 19:00-19:31(--W----),(P50)c3:File3 19:00-20:00(-T-----),(P50)d4:File4
The problem seems to be with repeating timers that occur at the same time on *adjacent* days. For example two shows that start at 8:00-9:00 on Monday and Tuesday would show a conflict or 10:00-11:00 on Wednesday and Thursday would show a conflict.. etc. The same two shows at 8:00-9:00 on Monday and Wednesday would *not* show a conflict (because Monday and Wednesday are not adjacent days).
I tried hard but I couldn't reproduce this error. Here works all fine (VDR-1.3.23/timeline-0.9.0).
Tom
Thomas Günther wrote:
C.Y.M wrote:
Repeating conflict on M------ (same input device): 22:00-23:00(M------),(P50)a1:File1 22:00-23:00(------S),(P50)b2:File2
Repeating conflict on --W---- (same input device): 19:00-19:31(--W----),(P50)c3:File3 19:00-20:00(-T-----),(P50)d4:File4
The problem seems to be with repeating timers that occur at the same time on *adjacent* days. For example two shows that start at 8:00-9:00 on Monday and Tuesday would show a conflict or 10:00-11:00 on Wednesday and Thursday would show a conflict.. etc. The same two shows at 8:00-9:00 on Monday and Wednesday would *not* show a conflict (because Monday and Wednesday are not adjacent days).
I tried hard but I couldn't reproduce this error. Here works all fine (VDR-1.3.23/timeline-0.9.0).
Do you have multiple cards in the system? If so, perhaps try starting vdr and telling it to use only one of the cards. I think this may be secific to single card setups. Thanks for looking at it.
Best Regards,
C.Y.M wrote:
Thomas Günther wrote:
C.Y.M wrote:
Repeating conflict on M------ (same input device): 22:00-23:00(M------),(P50)a1:File1 22:00-23:00(------S),(P50)b2:File2
Repeating conflict on --W---- (same input device): 19:00-19:31(--W----),(P50)c3:File3 19:00-20:00(-T-----),(P50)d4:File4
The problem seems to be with repeating timers that occur at the same time on *adjacent* days. For example two shows that start at 8:00-9:00 on Monday and Tuesday would show a conflict or 10:00-11:00 on Wednesday and Thursday would show a conflict.. etc. The same two shows at 8:00-9:00 on Monday and Wednesday would *not* show a conflict (because Monday and Wednesday are not adjacent days).
I tried hard but I couldn't reproduce this error. Here works all fine (VDR-1.3.23/timeline-0.9.0).
Do you have multiple cards in the system? If so, perhaps try starting vdr and telling it to use only one of the cards. I think this may be secific to single card setups. Thanks for looking at it.
The two timers on adjacent days must also be different channels on different transponders..
Best Regards,
C.Y.M wrote:
Do you have multiple cards in the system? If so, perhaps try starting vdr and telling it to use only one of the cards. I think this may be secific to single card setups. Thanks for looking at it.
No. I have only one card: DVB-S 1.5.
The two timers on adjacent days must also be different channels on different transponders..
Yes, I know. I created two timers on the same weekday - then timeline shows a conflict - and reprogrammed one timer to the next weekday - no conflicts. I tried this with several weekdays.
Tom
And here is the Patch at vdr-1.3.37 (an Include instruction was still necessary). ;-)
diff -Nur timeline-0.9.0-org/checkerOsd.c timeline-0.9.0/checkerOsd.c --- timeline-0.9.0-org/checkerOsd.c 2005-01-02 13:24:57.000000000 +0100 +++ timeline-0.9.0/checkerOsd.c 2005-12-12 17:49:54.000000000 +0100 @@ -228,7 +228,11 @@ { if (showDay<0 && ct1->IsSingleEvent()) { +#if VDRVERSNUM < 10323 showDay=ct1->Day(); +#else + showDay=cTimer::GetMDay(ct1->Day()); +#endif }
for(int i=0;i<MAXDEVICES;i++) @@ -271,7 +275,11 @@ localtime_r(&start1t,&day1); sprintf(line1,"%s %04d-%02d-%02d (%s):",tr("Conflict on"),day1.tm_year+1900,day1.tm_mon+1,day1.tm_mday,tr("same input device")); sprintf(line2,"%02d:%02d-%02d:%02d, (P%d) %s: %s",ct1->Start()/100,ct1->Start()%100,ct1->Stop()/100,ct1->Stop()%100,ct1->Priority(),ch1->Name(),ct1->File()); - sprintf(line3,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct2->Start()/100,ct2->Start()%100,ct2->Stop()/100,ct2->Stop()%100,ct2->PrintDay(ct2->Day()),ct2->Priority(),ch2->Name(),ct2->File()); +#if VDRVERSNUM < 10323 + sprintf(line3,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct2->Start()/100,ct2->Start()%100,ct2->Stop()/100,ct2->Stop()%100,(const char *)ct2->PrintDay(ct2->Day()),ct2->Priority(),ch2->Name(),ct2->File()); +#else + sprintf(line3,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct2->Start()/100,ct2->Start()%100,ct2->Stop()/100,ct2->Stop()%100,(const char *)ct2->PrintDay(ct2->Day(),ct2->WeekDays()),ct2->Priority(),ch2->Name(),ct2->File()); +#endif } } else if (!ct1->IsSingleEvent() && ct2->IsSingleEvent()) @@ -301,7 +309,11 @@ { localtime_r(&start1t,&day1); sprintf(line1,"%s %04d-%02d-%02d (%s):",tr("Conflict on"),day1.tm_year+1900,day1.tm_mon+1,day1.tm_mday,tr("same input device")); - sprintf(line2,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct1->Start()/100,ct1->Start()%100,ct1->Stop()/100,ct1->Stop()%100,ct1->PrintDay(ct1->Day()),ct1->Priority(),ch1->Name(),ct1->File()); +#if VDRVERSNUM < 10323 + sprintf(line2,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct1->Start()/100,ct1->Start()%100,ct1->Stop()/100,ct1->Stop()%100,(const char *)ct1->PrintDay(ct1->Day()),ct1->Priority(),ch1->Name(),ct1->File()); +#else + sprintf(line2,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct1->Start()/100,ct1->Start()%100,ct1->Stop()/100,ct1->Stop()%100,(const char *)ct1->PrintDay(ct1->Day(),ct1->WeekDays()),ct1->Priority(),ch1->Name(),ct1->File()); +#endif sprintf(line3,"%02d:%02d-%02d:%02d, (P%d) %s: %s",ct2->Start()/100,ct2->Start()%100,ct2->Stop()/100,ct2->Stop()%100,ct2->Priority(),ch2->Name(),ct2->File()); } } @@ -312,7 +324,11 @@ for(int i=0;i<6;i++) { hassubmatch=false; +#if VDRVERSNUM < 10323 if (ct1->Day() & (1<<i)) +#else + if (ct1->WeekDays() & (1<<i)) +#endif { int nn=(4+i)*SECSINDAY; // 4: first Sunday after Unix time 0 start1t=ct1->SetTime(nn,ct1->TimeToInt(ct1->Start())); @@ -338,9 +354,15 @@ } if (hasmatched) { - sprintf(line1,"%s %s (%s):",tr("Repeating conflict on"),ct1->PrintDay(mdays|0x80000000),tr("same input device")); - sprintf(line2,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct1->Start()/100,ct1->Start()%100,ct1->Stop()/100,ct1->Stop()%100,ct1->PrintDay(ct1->Day()),ct1->Priority(),ch1->Name(),ct1->File()); - sprintf(line3,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct2->Start()/100,ct2->Start()%100,ct2->Stop()/100,ct2->Stop()%100,ct2->PrintDay(ct2->Day()),ct2->Priority(),ch2->Name(),ct2->File()); +#if VDRVERSNUM < 10323 + sprintf(line1,"%s %s (%s):",tr("Repeating conflict on"),(const char *)ct1->PrintDay(mdays|0x80000000),tr("same input device")); + sprintf(line2,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct1->Start()/100,ct1->Start()%100,ct1->Stop()/100,ct1->Stop()%100,(const char *)ct1->PrintDay(ct1->Day()),ct1->Priority(),ch1->Name(),ct1->File()); + sprintf(line3,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct2->Start()/100,ct2->Start()%100,ct2->Stop()/100,ct2->Stop()%100,(const char *)ct2->PrintDay(ct2->Day()),ct2->Priority(),ch2->Name(),ct2->File()); +#else + sprintf(line1,"%s %s (%s):",tr("Repeating conflict on"),(const char *)ct1->PrintDay(0,mdays),tr("same input device")); + sprintf(line2,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct1->Start()/100,ct1->Start()%100,ct1->Stop()/100,ct1->Stop()%100,(const char *)ct1->PrintDay(ct1->Day(),ct1->WeekDays()),ct1->Priority(),ch1->Name(),ct1->File()); + sprintf(line3,"%02d:%02d-%02d:%02d (%s), (P%d) %s: %s",ct2->Start()/100,ct2->Start()%100,ct2->Stop()/100,ct2->Stop()%100,(const char *)ct2->PrintDay(ct2->Day(),ct2->WeekDays()),ct2->Priority(),ch2->Name(),ct2->File()); +#endif } } else // ct1->IsSingleEvent() && ct2->IsSingleEvent() @@ -574,13 +596,21 @@ ct1=Timers.First(); while (ct1) { +#if VDRVERSNUM < 10323 int day1=ct1->Day(); +#else + int day1=cTimer::GetMDay(ct1->Day()); +#endif if (!ct1->IsSingleEvent()) { if (ct1->DayMatches(dayt)) { day1=day; } + else + { + day1=0; + } } int start1=ct1->Start(); int stop1=ct1->Stop(); diff -Nur timeline-0.9.0-org/checkerOsd.h timeline-0.9.0/checkerOsd.h --- timeline-0.9.0-org/checkerOsd.h 2004-11-30 21:12:54.000000000 +0100 +++ timeline-0.9.0/checkerOsd.h 2005-12-12 17:51:42.000000000 +0100 @@ -11,6 +11,7 @@ #define CHECKEROSD_H
#include <vdr/plugin.h> +#include <vdr/device.h> #include <time.h> #include "config.h"