id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc,mlocked 12296,Watchlist Improvements,Roger Siddons ,Roger Siddons,"The watchlist has 2 functions: a) to select the 'first' episode of each series of recordings, b) to present the resulting titles in a convenient order for watching '''Issues''' (a) 1. It currently selects the earliest/oldest episode so the wrong recording is shown when episodes are recorded out of order. (a) 2. Series are grouped by recording rule. For rules that record different titles, the later ones will be hidden. Multiple episodes of the same title are shown when multiple rules record the same title. (b) 3. Current ordering uses arbitrary weightings with a highly subjective set of rules summarised as: * promote series with many episodes * promote series that are about to record again * promote new recordings for 42 hrs * promote recordings from the same time of day, demote others * promote daily/weekly recordings * hide series that have been recently deleted * promote quickly watched series * demote old recordings In practice this produces a seemingly random and unintuitive order which is then frequently reshuffled. ---- A series of patches is attached for ease of review, but should be applied in sequence. 1. Group watchlist recordings by title rather than recording rule. Thus different titles recorded by a one rule are all shown and a single title recorded by multiple rules are grouped together. Also a pre-requisite for selection by episode number. 2. 'First' episodes are selected by season/episode as well as age. Initial selection is age. However if the oldest episode has season/episode numbers assigned then it is superseded by any earlier season/episode that exists. Specials or untagged recordings that co-exist with tagged ones thus appear in proper sequence. 3. The watchlist currently caches its scores in ProgramInfo::recpriority2 in order to display the program score/state on the !Info/ProgDetails screen. This is confusing and an abuse of !ProgramInfo.[[BR]]The score/state is of no interest to the user, who cannot alter it. It is debug information that belongs in the logs and has been removed along with the !ProgramInfo caching.[[BR]]Themes should remove WATCH_LIST_SCORE & WATCH_LIST_STATUS widgets from progdetails*.html. However they are set as empty to prevent breakage for now. 4. A new UI widget ""watchtotal"" enables the watchlist to show the number of episodes of each title, for example a ""recordings"" buttonlist widget of: {{{ }}} will produce: {{{ The Simpsons (15 episodes) - ""Homer does something stupid"" }}} This widget only exists when the Watchlist group is selected in the groups list - for other groups it will show the usual: {{{ The Simpsons - ""Homer does something stupid"" }}} 5. Restructures the code to support multiple sort strategies. Adds a setting ""!WatchListOrder"" so the user can select their preferred sorting strategy in Setup/TV Settings/TV !Playback/Page 6. It defaults to ""Classic"" - the existing strategy. 6. Adds a new simplified sort strategy ""!LimitedOldest"" that is IMHO more stable, intuitive & useful. Titles are ordered by record date (oldest first). New titles & quickly-watched titles are placed at the top; titles that remain unwatched are relegated to the bottom. Two new settings ""PlaybackWLRecentLimit"" & ""PlaybackWLOldLimit"" are introduced so the user can adjust this behaviour. ",Patch - Feature,closed,minor,unknown,MythTV - General,Master Head,medium,Unverified,,,0