[mythtv] Ticket #1480: Fix discrepancies in asFileNotFound handling in PlaybackBox

Buzz buzz at oska.com
Thu Mar 9 01:46:21 UTC 2006


Go michael!   It's way better than the patch I'm using here to playbackbox
that does a "if file doesn't exist, clobber db record without advising user
at all" .    :-)

Buzz.

> -----Original Message-----
> From: mythtv-dev-bounces at mythtv.org 
> [mailto:mythtv-dev-bounces at mythtv.org] On Behalf Of Michael T. Dean
> Sent: Thursday, 9 March 2006 11:00 AM
> To: mythtv-dev at mythtv.org
> Subject: Re: [mythtv] Ticket #1480: Fix discrepancies in 
> asFileNotFound handling in PlaybackBox
> 
> On 03/08/06 19:55, MythTV wrote:
> 
> >#1480: Fix discrepancies in asFileNotFound handling in PlaybackBox
> >
> > The attached patch fixes discrepancies in the handling of 
> non-existent 
> > recordings (as described in http://www.gossamer-
> > threads.com/lists/mythtv/users/188566#188566) in the !PlaybackBox 
> > (version
> > 0.19 and SVN trunk).
> >
> 
> Way too many details/implementation decisions for the bug 
> database, but sending for the record...
> 
> As discussed in the thread "Missing Files" (
> http://www.gossamer-threads.com/lists/mythtv/users/188566#1885
> 66 ), there's a discrepancy with the way Myth handles missing files.  
> Basically, the issue is that until a ProgramInfo's 
> availableStatus has been set to asFileNotFound (technically, 
> as long as it's asAvailable--the default), users are able to 
> display the ActionPopup for the recording.  Once the 
> available status has been updated to reflect the fact that 
> the file is missing, the user can *only* get the 
> AvailablePopup when asking for the ActionPopup (hitting INFO 
> or using cursorRight with arrow key accelerators enabled).
> 
> So, there are (at least) 3 possible approaches we could take 
> to make the behavior more consistent (listed from least- to 
> most-invasive).
>     1) Always allow the user to show the ActionPopup for 
> asFileNotFound programs (possibly showing the AvailablePopup 
> first and then the
> ActionPopup)
>     2) Identify earlier that the file is not available, so 
> the user can never pop up the ActionPopup (instead only 
> getting the AvailablePopup), thereby only allowing the user 
> to delete the recording with the DELETE key (which many users 
> may not have mapped on their remotes)
>     3) Identify earlier that the file is not available and if 
> the user requests the ActionPopup, display it but with some 
> options disabled/missing.
> 
> Until I started thinking about how to create a patch, it 
> never seemed wrong to me to allow the ActionPopup to display 
> for a recording whose file does not exist because selecting 
> invalid actions (like Play) would be handled later.  However, 
> making them available if they don't apply seems wrong.  
> Therefore, I'm thinking that 1) is not a valid approach as it 
> provides no feedback to the user without the AvailablePopup 
> and is annoying with the AvailablePopup (which may be 
> triggered again by selecting actions like Play).  Also, 2) 
> seems like a cop-out and reduces usability, so I felt 3) is 
> the best approach.
> 
> Leaving off the unavailable actions made for a cleaner UI 
> than providing a "normal" ActionPopup with some actions 
> disabled.  However, to ensure the user has feedback 
> explaining why he/she is getting a different Action popup, I 
> provided a message saying that the file was not found.  
> Because of the extent of differences, it seemed better to create a new
> showFileNotFoundActionPopup() function than to use 
> conditionals in showActionPopup().  Doing so also prevents 
> the accidental addition of functionality to the 
> FileNotFoundAction popup (which could happen if a conditional 
> is forgotten when new functionality is added to the Action popup).
> 
> I considered requesting feedback on which Actions should 
> apply to non-existent recordings, but decided to start small 
> and add new ones if requested.  Below are the possible 
> Actions that can be taken from the full fledged Action popup. 
>  Those marked "N/A" do not apply, those marked "Y" do apply, 
> and those marked "?" could be made to apply or not.
> 
> If anyone feels strongly that some of the others should be 
> added to the FileNotFoundPopup, please let me know.
> 
> Thanks,
> Mike (the extra-wordy guy who's trying to help)
> 
> 
>  - Play|Play from... (N/A--Won't work without file)
> 
>  - (Remove from|Add to) Playlist (?--Could be useful for 
> deleting a bunch of recordings, but would allow access to job 
> options and since it's as easy to just delete recordings 
> one-by-one than to add files one by one to the playlist, I 
> left it out.  The user can still add a group of recordings to 
> the playlist--even if some/all are non-existent)
> 
>  - Stop Recording (N/A--Is it even possible for recstatus to 
> be rsRecording if availableStatus is asFileNotFound?  Since 
> stopping a recording with a non-existent file is functionaly 
> identical to Deleting an in-progress recording with no file, 
> I left it off.)
> 
>  - { (Dis|En)able Auto Expire (N/A--autoexpire will not 
> delete a non-existent recording.) or
> 
>      - Storage Options (N/A)
> 
>          - (Dis|En)able Auto Expire (N/A--Autoexpire will not 
> delete a non-existent recording.)
> 
>          - (Do not p|P)reserve this episode (N/A--There's nothing to
> preserve.) }
> 
>  - Recording Options (?)
> 
>      - Edit Recording Schedule (?)
> 
>      - Show Program Details (Y--May be useful in helping 
> determine whether to delete recording.)
> 
>      - Change Recording Group (?-Could be useful to put 
> non-existent recordings into a group that can be added to a 
> playlist for deletion.)
> 
>      - Change Recording Title (?)
> 
>      - Change Playback Group (?--Probably not too useful 
> since we can't play it back until we find the file.)
> 
>  - Job Options (N/A)
> 
>      - (Stop|Begin) Transcoding (N/A--won't work without file)
> 
>      - (Stop|Begin) Commercial Flagging (N/A--won't work without file)
> 
>      - (Stop|Begin) user jobX (N/A--won't work without file)
> 
>  - Delete (Y--The main reason to have a FileNotFoundAction popup.)
> 
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
> 




More information about the mythtv-dev mailing list