Wow!! How to present enough flexibility without causing confusion...
(2015-06-20, 20:49)VictorG Wrote: [ -> ]I think all this is too much complicated and might make things worse.
Approach
I believe we ought to support just options typical end users are likely to want to adjust using a remote control.
Anything needing a keyboard or extensive menus (i.e. mythfrontend/mythweb) just needs to be recognizeable and tweakable.
Some of these comments will be aimed @
ksooo, some @
janbar, some @
metaron and some @ other users on this forum. Sorry if it's not 100% clear who at the moment...
Comments on Recording Types
Currently implemented types and my understanding of their purpose:
- Manual / Record this shownings - "Just what I asked for"
- Record one showning - (Films?)
- Record every week - (Sunday's weekly weather forcast for the week?)
- Record every day - (The 6 o'clock news?).
- Record all shownings - (Box Sets and Soaps)
- Unhandled rule (Power searches etc...)
- Record (Upcoming Recording)
- Override (Overridden Upcoming Recording)
Proposed Types & Names:- Manual - (Just this) Fixed: "Record only this showing", Channel, Time, Date
- One - (One of these) Fixed: "Find and record one showing of this title", Default: Any channel
- Series - (All of these) Fixed: "Record at any time on any channel", Default: Any channel
- Daily - (At this time) Fixed: Filters: This Time/This channel, Default: Channel, Time
- Weekly - (On this day) Fixed: Filters: This Day and time/This channel, Default: Channel, Time, Day
- Advanced - (Like this) Default: "Title Search", string="Title", Any channel.
- Unhandled - (Power Search and other mythtv extreme cleverness...)
- Upcoming - (Upcoming Recordings as chosen by the mythbackend scheduler)
- Override - (Manual intervention of mythbackend scheduler choices)
Comments on each type
Manual
Seems to work as expected. Minor typo in timer type name, but I'm suggesting to re-name it anyhow.
One
Remove 'Search Guide For' entry
Make default 'Any Channel' with 'This Channel' filter not set. Otherwise show channel and set the filter.
Default duplicate matching to: "Subtitle then Description"
Don't show 'Any Time'/'Start Time'/'End Time' options. (You would use a 'Manual' timer for this)
Series
Remove 'Search Guide For' entry
Make default 'Any Channel' with 'This Channel' filter not set. Otherwise show channel and set the filter.
Default duplicate matching to: "Subtitle then Description"
Don't show 'Any Time'/'Start Time'/'End Time' options. (You would use a 'Daily/Weekly' timer for this)
Daily
Remove 'Search Guide For' entry
Don't show 'Any Channel' (is this possible?), or refuse as Filter: 'This Channel' should always be set.
Don't show 'Prevent duplicate episodes' - This should always be 'off' for this type of recording.
There appear to be bugs if you change 'Anytime' or start/end in the current code.
Weekly
Remove 'Search Guide For' entry
Don't show 'Any Channel' (is this possible?), or refuse as Filter: 'This Channel' should always be set.
Don't show 'Prevent duplicate episodes' - This should always be 'off' for this type of recording.
There appear to be bugs if you change 'Anytime' or start/end in the current code.
Advanced
It should be possible to implement 'Title Search' and 'Keyword Search' (using 'full string' search radio button).
Default should be 'Title Search' using the selected item 'Title' with the option to change to a 'Keyword' search.
I propose Power and People searches be displayed read only as 'Unhandled'.
Unhandled
Allow "Priority", "Lifetime", and "Recording Group" to be changed.
Continue to display Duplicate Match but keep uneditable as this might affect the validity of the rule.
Possibly hide some of the fields for clarity: Start/End/Anytime/Padding?
Upcoming
'Upcoming Recordings' associated with an 'Unhandled rule' should still be over-rideable (already works in 1.12.21 for power search).
Override
Currently only shows as 'Enabled'. Should show as 'Disabled' when the over-ride prevents a recording.
Comments on Timers screen
Scheduled time
For repeating timers, currently this is set to 'startdate / starttime'. This matches the order in mythweb, but gives you no idea when that rule will next do something or when it last did something.
I propose: if (next_record != 0) next_record; else if (last_record != 0) last_record; else startdate / starttime;
Manual Timer Display - One for Ksooo I think...
When sorting 'By Date' manual recordings always appear at the bottom of the list. This is confusing when sorting in descending order with expired timers (i.e. those that haven't done anything for a while), or when sorting by Name.
Showing 'Upcoming recordings' only - One for Ksooo I think...
I find myself missing the simiplicity of what will record next on what channel (like the 1.12.21 client now does in Helix!). Might it be possible to switch between 'Rules' - the new behaviour and 'Upcoming' in the View: setting on the sideblade? Maybe an 'edit master timer' button can be added to the timer settings screen for 'subordinate' timer types. This should make day to day 'will my soap record tomorrow' checks simpler.
Title
When viewing subordinate 'Upcoming Recordings' for each repeating timer, the Title should show Season/Episode and Subititle information if available. 'Title' will always be the same and is shown in the path at the top of the screen anyhow. Not sure if this comment applies to the PVR client, the PVR core or the Skin (or all of the above!)...
Other Comments
Duplicate Matching
Mythtv uses 'Programid' extensively for duplicate matching without making this clear via the UI. This breaks when the listings provider thinks that all episodes of columbo shown during daytime television are effectively the same and assigns the same program ID. It also breaks when you use two listings providers (e.g. over the air for some channels and xmltv for others) as they tend to have different Programids.
I think we can do better and propose the following:
- Off (record everything)
- ID(EPG) fallback subtitle
- ID(EPG) fallback description
- ID(EPG) fallback subtitle & description
- ID(EPG) fallback subtitle, fallback description
Recording Group
"Default" should be the default. No need for "?". All backends should have a "Default" recording group already.
Lifetime
One of the features I use quite a bit is 'record new and expire old' with a number of recordings.
Currently 'Recordings never expire' and 'Allow recordings to expire' are implemented.
Could 'Keep last x' be added? (Maybe Last 5, Last 10, Last 20).
Not sure how an arbitrary value could be displayed if you chose something else via mythweb/mythfrontend, but I'm sure a compromise is possible, particularly as no one is likely to use values larger than '100'.
Conclusions
There's plenty to think about here. I'm happy to help debug/implement some of these features if necessary.
@
janbar let me know if you would welcome assistance with something in particular.
Otherwise, I'll get back to trying to 'productionize' my season/Episode ttvdb scraper integration and 'recorded watched' with 0.27 patches while I wait for the comments to flood in.