[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