Mailing List archive

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

[vdr] master-timer skips overlapping timers



Hi list,
recently I saw that master-timer skips timers if they overlap, i.e. if a 
timer1 has starting time a and ending time b and timer2 would have 
starting time c then the following applies:
if (c>=a && c<=b) then "do not program timer2".
This means that if the second timer would start in between of the 
starting and end time of an existing timer, than it is not programmed.

I think this behaviour is not what one wants it to be.
Most of us seem to have at least 2 cards.
And even if one had only one card it would be even OK to program both 
timers and let the priority field (say VDR) decide which one should 
really be recorded.

Today, the user can't decide which one will be taken if timers overlap.
(OK, the timer entries are sorted, but...)
For me I disabled this check, so that all timer are programmed even if 
they overlap.

Here is the little (let's call it) patch:
--- timer.pl.bak        Sun Mar  3 02:07:23 2002
+++ timer.pl    Sun Mar  3 02:04:04 2002
@@ -69,23 +69,27 @@
        $temp = $num;
      }

-    foreach $time2 (sort keys %{$$rTimer{$temp}}) {
-      foreach $channel2 (sort keys %{$$rTimer{$temp}{$time2}}) {
-       if ($channel eq $channel2) {
-         foreach $title2 (sort keys %{$$rTimer{$temp}{$time2}{$channel}}) {
-           $rTEntry2 = $$rTimer{$temp}{$time2}{$channel}{$title2};
-           $ctime = $time2 - $$rTEntry2{marginstart};
-           $ctime2 = $time2 + $$rTEntry2{duration} + 
$$rTEntry2{marginstop};
-
-           if (!$$rTEntry2{nojoin}) {
-             if (($time >= $ctime) && ($time <= $ctime2)) {
-                next outer;
-             }
-           }
-         }
-       }
-      }
-    }
+#    foreach $time2 (sort keys %{$$rTimer{$temp}}) {
+#      foreach $channel2 (sort keys %{$$rTimer{$temp}{$time2}}) {
+#      if ($channel eq $channel2) {
+#        foreach $title2 (sort keys %{$$rTimer{$temp}{$time2}{$channel}}) {
+#            $rTEntry2 = 
$$rTimer{$temp}{$time2}{$channel}{$title2}{subtitle2};
+#          $ctime = $time2 - $$rTEntry2{marginstart};
+#          $ctime2 = $time2 + $$rTEntry2{duration} + 
$$rTEntry2{marginstop};
+#
+#                print "Entry2:" . $title2 . "-" . $$rTEntry2{subtitle} 
. "\n";
+#
+#          if (!$$rTEntry2{nojoin}) {
+#            if (($time >= $ctime) && ($time <= $ctime2)) {
+#                print "time:" . $time . " ctime:" . $ctime . " 
ctime2:" . $ctime2 . " time2:" . $time2 . "\n";
+#                print "skipped\n";
+#                next outer;
+#            }
+#          }
+#        }
+#      }
+#      }
+#    }

      $$rTimer{$temp}{$time}{$channel}{$title}{duration}=$duration;
      $rTEntry = $$rTimer{$temp}{$time}{$channel}{$title}; # The 
Tree-Node must exist, before aliasing it

What do you think about it?

Have fun.
   Richard




Home | Main Index | Thread Index