[mythtv-commits] mythtv commit: r16477 - in trunk/mythtv/programs by bjm

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Sun Mar 9 05:47:37 UTC 2008


      Author: bjm
        Date: 2008-03-09 05:47:37 +0000 (Sun, 09 Mar 2008)
New Revision: 16477
   Changeset: http://cvs.mythtv.org/trac/changeset/16477

Modified:

   trunk/mythtv/programs/mythbackend/scheduler.cpp
   trunk/mythtv/programs/mythfrontend/globalsettings.cpp
   trunk/mythtv/programs/mythfrontend/programrecpriority.cpp
   trunk/mythtv/programs/mythfrontend/programrecpriority.h

Log:

Automatic prioritization. This experimental scheduling feature
uses the "average time shift" statistics to add or subtract
priority points for future recordings. In short, myth 'learns'
your viewing habits and can apply your preferences to scheduling
decisions.

This option is turned off by default with a range value of "0".
When a range value is given, up to that number of priority points
may be factored in to raise priority for shows that are repeatedly
watched soon after recording or points may be subtracted for shows
that are often kept for several days or weeks before watching.

Automatic prioritization is based on the premise that if two shows
overlap and have repeats, the show which the user has often watched
soon after recording should 'win' the earliest time slot and a show
that may be kept for later can wait for a later recording time slot.
If the shows do not have repeats, the assumption is that a show that
is always watched right away is a favorite and the show usually set
aside is more likely "filler" and the better choice to initially mark
as a Conflict if necessary.

This, of course, is guess work on the verge of mind reading but is
merely an additional priority factor. The user may still add per
rule priority for her favorite shows and lower priority for filler.
However, my sense from reading the myth mailing lists is that most
users (new, expert and developers) tend to leave most rules at "0"
unless there is an exceptional reason to raise or lower the priority.
If the user does not want to be bothered with setting priorities,
using this option should generally make decisions that are more to the
user's liking than if the option was turned off. This option can make
deterministic, informed decisions but could never truly express the
user's intent in all cases.

The key factor is the 'record.avg_delay' which is a weighted average
of hours from the time a show was recorded until the recording was
deleted (or marked as "watched" or the auto-expire state was changed).
This was added in [14074] as another factor for calculating the Watch
List scores.  The initial value is 100 hours (about 4 days) with a
maximum cutoff of 200 (more than a week).

The range is spread across the avg_delay values. For example, with
a range of "2":

avg_delay  priority
hours      points

 < 40       +2
 40-80      +1
 80-120     no change
 120-160    -1
 160-200    -2

A range of "50" would add or subtract a point for every two hours
from the norm of 100 hours.

The Recording Priorities page now includes the auto priority factor
and this page will still sort by avg_delay when you press "8". You
can also see the "Average Time Shift" on the Program Details page.
For a better view of time shift values:

mysql> select avg_delay,title from record order by avg_delay;






More information about the mythtv-commits mailing list