[mythtv] [mythtv-commits] Ticket #8564: Inserting a new cut point alters existing cut points

Michael T. Dean mtdean at thirdcontact.com
Mon Jun 21 17:45:19 UTC 2010


On 06/21/2010 10:14 AM, MythTV wrote:
> #8564: Inserting a new cut point alters existing cut points
>
>
> Comment(by Jim Stichnoth):
>
>   The attached patch restores the original behavior as far as I can tell.
>
>   1. Fixes the logic error pointed out in the previous comment.
>
>   2. Only calls DeleteMap::CleanMap() after a cutlist is loaded and before
>   it is saved.
>
>   3. Doesn't try to clean the deletemap when Add() is called.
>
>   4. This is the tricky part.  In OSD::SetRegions(), convert discontinuities
>   (i.e., two marks in a row of the same type) into overlapping cut regions.
>   It would probably be cleaner to extend the definition of regions in
>   MythUIEditBar to include whether the start point and the end point should
>   contain a start/end image, but that would require a lot more than a one-
>   line change to MythUIEditBar.
>    

When I noticed this change, I mentioned to Mark K. that I would like to 
fix it by extending his newer, cleaner approach to editing recordings 
rather than falling back to the previous behavior.  So, below is my 
proposal for how we should handle this.

Having edited a hand full of recordings using the current editor, I've 
found that the process is somewhat clumsy.  Besides issues with the key 
bindings (and inconsistencies in their usage compared to the rest of 
MythTV), the focus on single cut points when cut regions are the desired 
end product makes editing require the user to keep track of whether they 
need before or after cut points.

Therefore--keeping consistent with Mark's new code--I propose that we 
change the focus to the production of cut regions.  The UI would be 
updated to allow users to modify the existing cut points with:

When in un-cut video:
  - Move the previous end point here (or, if there is no previous end 
point, Cut from the beginning)
or
  - Move the next start point here (or, if there is no next start point, 
Cut to the end)

Or, when in cut regions:
  - Move the next end point here (if we're already inside a cut region)
or
  - Move the previous start point here (if we're already inside a cut 
region)

These options would be available regardless of how close we are to the 
previous/next cut points.  The current code which automatically decides 
whether to allow moving cut points or not is, er, less-than-reliable.  I 
often found with the old editor that when commflagging misses by a good 
minute or so, the editor refuses to let me adjust the current cut points 
and I have to add a new one then delete the existing ones.  This also 
solves all the problems associated with the current "close enough to 
existing mark" code's making it difficult to edit tiny sections out of a 
recording.

Users could also

  - Insert new cut region

where a new cut region would be inserted with a start point at the 
current position and an end point, say, 3 minutes from the current 
position.  Then, the user could find the real end of the cut and move 
the end point here.

Basically, since the desired end product of recording editing is cut 
regions, make cut regions the focus of editing and do not allow users to 
set single cut points.  I think this would be a big improvement in 
usability, and don't see any downsides--it keeps the code clean as it 
doesn't have to automatically decide whether how to handle redundant 
marks, and it makes the user experience simpler.

At the same time, I will also add a menu option to allow the user to 
save the current cutlist without editing and exit the editor without 
saving (related to http://svn.mythtv.org/trac/ticket/7916 --though I'm 
not saying that it would be instead of the patch on #7916).

Furthermore, I will modify the key bindings to be more consistent with 
the rest of MythTV.  I can give more details on the plans for key 
bindings, if desired, but I haven't finished deciding on the final 
bindings, yet.

Thanks,
Mike



More information about the mythtv-dev mailing list