At the moment, a recording timer is created like this ("=" entries are default values):
Code: Select all
RecordTimerEntry(serviceref, begin, end, name, description, eit, disabled=False, justplay=False, afterEvent=AFTEREVENT.AUTO,
checkOldTimers=False, dirname=None, tags=None, descramble='notset', record_ecm='notset', isAutoTimer=False,
ice_timer_id=None, always_zap=False, rename_repeat=True)
Code: Select all
begin = epg_begin_time - config.recording.margin_before.value * 60 # recording margin is in minutes
end = epg_end_time + config.recording.margin_after.value * 60
RecordTimerEntry(serviceref, begin, end, name, description, eit, ...)
Code: Select all
RecordTimerEntry(timer.TimerEntry, object):
RecordTimerEntry(serviceref, begin, end, name, description, eit, disabled=False, justplay=False, afterEvent=AFTEREVENT.AUTO,
checkOldTimers=False, dirname=None, tags=None, descramble='notset', record_ecm='notset', isAutoTimer=False,
ice_timer_id=None, always_zap=False, rename_repeat=True,
before_margin=0, after_margin=0)
Code: Select all
RecordTimerEntry(serviceref, epg_begin_time, epg_end_time, name, description, eit, ...,
before_margin=config.recording.margin_before.value * 60,
after_margin=config.recording.margin_after.value * 60)
Code: Select all
self.begin = begin - before_margin
self.end = end + after_margin
self.beforeMargin = before_margin
self.afterMargin = after_margin
Code: Select all
unpaddedBegin = property(lambda self: self.begin + self.beforeMargin)
unpaddedEnd = property(lambda self: self.end - self.afterMargin)
AutoTimers and IceTV timers would convert across to the new form automatically as new timers are created, typically changing over completely in about a week. Existing padded repeating timers (e.g. created in the EPG) would need to be re-created manually to take advantage of the new feature.
Manually entered timers would be created with the padding values as 0.
This would also potentially allow per-timer padding settings.