
buzz at oska
Mar 8, 2006, 5:46 PM
Post #2 of 2
(884 views)
Permalink
|
|
Re: Ticket #1480: Fix discrepancies in asFileNotFound handling in PlaybackBox
[In reply to]
|
|
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 > [mailto:mythtv-dev-bounces [at] mythtv] On Behalf Of Michael T. Dean > Sent: Thursday, 9 March 2006 11:00 AM > To: mythtv-dev [at] mythtv > 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 > http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev > _______________________________________________ mythtv-dev mailing list mythtv-dev [at] mythtv http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
|