Problems with 20 Timers

Message ID 4220A1ED.20003@syphir.sytes.net
State New
Headers

Commit Message

C.Y.M Feb. 26, 2005, 4:21 p.m. UTC
  Klaus Schmidinger wrote:
> Chris Warren wrote:
> 
>>> -----Original Message-----
>>> From: vdr-bounces@linuxtv.org [mailto:vdr-bounces@linuxtv.org] On 
>>> Behalf Of C.Y.M
>>>
>>> Have you noticed that the show summaries (Recordings descriptions) 
>>> are wrong on recorded events when you use a timer?  I am curious if 
>>> this behavior has to do with what you are describing.  The only way I 
>>> can get the summaries to display the correct information is if I 
>>> record a minute longer after the show ends. For example, lets say a 
>>> show starts at 1:00 and ends at 2:00. If you set a timer for 1:00 to 
>>> 2:00, then in the schedule will show a little "t" next to the show 
>>> you have set to record.  But, if you set a timer for 1:00 to 2:01, 
>>> then the schedule shows a capital "T" next to the show being recorded 
>>> and two little "t"'s before and after the scheduled show.  The first 
>>> method will use the Summary of the previously scheduled show and the 
>>> second method seems to use the correct information.
>>>
>>
>> Yes, I get this too - it's because of the following line in
>> cTimer::Matches(time_t, bool) of timers.c:
>>
>>      return startTime <= t && t < stopTime; // must stop *before* 
>> stopTime
>> to allow adjacent timers
>>
>> If your end time is exactly the same as the end of the event, it will 
>> match
>> the start time, but not the end time. It'll only get marked as a partial
>> match.
> 
> 
> Since I always add a few minutes before and after a recording I guess
> I don't have that problem. I'll look into this when I refine the VPS
> handling, for which I also need to improve the event assignment.
> 

This seems to fix setting adjacent timers..

Regards,
  

Patch

--- vdr-1.3.21/timers.c.orig	2005-02-26 08:09:45.000000000 -0800
+++ vdr-1.3.21/timers.c	2005-02-26 08:11:59.000000000 -0800
@@ -348,7 +348,7 @@ 
         stopTime = event->EndTime();
         return event->IsRunning(true);
         }
-     return startTime <= t && t < stopTime; // must stop *before* stopTime to allow adjacent timers
+     return startTime <= t && t <= stopTime; // must stop *before* stopTime to allow adjacent timers
      }
   return false;
 }