Opened 11 years ago

Closed 10 years ago

#6322 closed enhancement (wontfix)

Enhanced cutpoint edit functionality

Reported by: cizek@… Owned by: Isaac Richards
Priority: minor Milestone: unknown
Component: MythTV - General Version: 0.21-fixes
Severity: medium Keywords:
Cc: Ticket locked: no

Description

The attached patches implement an enhanced cutpoint editing mode for recording playback. It basically displays the current frame along with the previous and next 5 frames. It also allows for slow-motion playback using the standard "PLAY" button. I'm attaching a few example screenshots.

To use it: From the existing edit functionality, press "TOGGLEEDIT" or "MENU" and you'll end up in the new mode. All of the existing edit keys work the same as the normal editing mode. Hit "TOGGLEEDIT", "MENU" or "ESCAPE" and you'll end up back in the normal editing mode.

This patch works with 0.21 fixes.

Enjoy, Bill

Attachments (17)

137-editgrid.seekamount.code.16.patch (85.7 KB) - added by cizek@… 11 years ago.
137-editgrid.seekamount.themes.16.patch (46.1 KB) - added by cizek@… 11 years ago.
golfswing.jpg (36.2 KB) - added by cizek@… 11 years ago.
General editing screenshot
cutpoint.jpg (38.1 KB) - added by cizek@… 11 years ago.
Editing a specific cutpoint
cut.jpg (43.0 KB) - added by cizek@… 11 years ago.
Editing within a cut area of the recording
gridedit.trunk.code.2.patch (89.2 KB) - added by anonymous 11 years ago.
gridedit.trunk.themes.2.patch (46.2 KB) - added by anonymous 11 years ago.
137-editgrid.fixes.code.2.patch (90.1 KB) - added by anonymous 11 years ago.
138-editgrid.fixes.themes.2.patch (46.4 KB) - added by anonymous 11 years ago.
137-editgrid.fixes.code.4.patch (92.9 KB) - added by anonymous 11 years ago.
gridedit.trunk.code.4.patch (92.6 KB) - added by anonymous 11 years ago.
gridedit.trunk.themes.5.patch (47.1 KB) - added by anonymous 11 years ago.
gridedit.trunk.code.5.patch (104.3 KB) - added by anonymous 11 years ago.
138-editgrid.fixes.themes.5.patch (47.3 KB) - added by anonymous 11 years ago.
137-editgrid.fixes.code.5.patch (104.8 KB) - added by anonymous 11 years ago.
bball.jpg (34.0 KB) - added by anonymous 11 years ago.
Updated Layout
192-137-editgrid.patch (130.1 KB) - added by Bill <billstuff2001@…> 10 years ago.
Updated against trunk 24132

Download all attachments as: .zip

Change History (29)

Changed 11 years ago by cizek@…

Changed 11 years ago by cizek@…

Changed 11 years ago by cizek@…

Attachment: golfswing.jpg added

General editing screenshot

Changed 11 years ago by cizek@…

Attachment: cutpoint.jpg added

Editing a specific cutpoint

Changed 11 years ago by cizek@…

Attachment: cut.jpg added

Editing within a cut area of the recording

comment:1 Changed 11 years ago by stuartm

Resolution: invalid
Status: newclosed

Sorry, as nice as this functionality might be, patches must be against trunk and must use mythui.

comment:2 Changed 11 years ago by anonymous

This would be a GREAT functionality addition - hopefully you can update against Trunk bill? Pretty please?! :)

comment:3 Changed 11 years ago by stuartm

Ticket locked: set

comment:4 Changed 11 years ago by stuartm

Ticket locked: unset

Changed 11 years ago by anonymous

Attachment: gridedit.trunk.code.2.patch added

Changed 11 years ago by anonymous

Changed 11 years ago by anonymous

Changed 11 years ago by anonymous

comment:5 Changed 11 years ago by cizek@…

Attached four files:

gridedit.trunk.code.2.patch & gridedit.trunk.themes.2.patch are patches for trunk 20145

137-editgrid.fixes.code.2.patch & 138-editgrid.fixes.themes.2.patch are for 0.21-fixes.

AFAIK the trunk stuff all works.

A few notes:

  • From the regular editing mode, hit "TOGGLEEDIT" or "MENU" to go into this mode. Hit "ESCAPE", "TOGGLEEDIT" or "MENU" to go back to regular editing.
  • These patches add two keys to the edit functionality "SLOWMO" and "PAUSED", which are analogous to playback "PLAY" and "PAUSE". "SLOWMO" starts frame-by-frame playback. "RIGHT" will speed up the framerate. "LEFT" will slow it down or reverse it. "PAUSE" or "SLOWMO" will stop frame-by-frame.
  • Frame-by-frame is actually skipsize-by-skipsize. So if you're using 1 second skips, you go second-by-second.
  • The theme requires a "grideditcutpoints" window.

comment:6 Changed 11 years ago by Natron

I tried the patch against trunk and get the following error when changing to the new mode:

Konnte im "" Thema kein "grideditcutpoints" Element finden. Kehre nun ins vorherige Menü zurück.

(Sorry for the German version ;))

I did patch an install the themes and also tried different themes including G.A.N.T. Got the same error on all themes.

comment:7 Changed 11 years ago by Natron

Sorry, my fault... forgot a --dry-run ;)

works like a charm apart from the colors. All faces are blue. Tell me if you would like more information on this.

comment:8 Changed 11 years ago by cizek@…

Good to here.

On the Blue faces: Try making the following change in mythtv/libs/libmythtv/NuppelVideoPlayer.cpp, in the function "NuppelVideoPlayer::GetScreenGrabOfCurrentFrame?()":

Change

    edit_scaled_img =  tmpimage.scaled(size, Qt::KeepAspectRatio).rgbSwapped();

to

    edit_scaled_img =  tmpimage.scaled(size, Qt::KeepAspectRatio);

On my system the faces are blue if I don't use rgbSwapped(). If there's anyone who knows video and can shed some light on this I'd appreciate it.

Changed 11 years ago by anonymous

Changed 11 years ago by anonymous

Attachment: gridedit.trunk.code.4.patch added

comment:9 Changed 11 years ago by cizek@…

Added 137-editgrid.fixes.code.4.patch & gridedit.trunk.code.4.patch

These make the "Add new cutpoint" logic within the grid mirror the normal editing "Add new cutpoint" logic. Also fixed a bug in the slow motion.

This also adds a work around for the blue faces. (It swaps rgb based on MMX usage). This is a hack but it should make it work. Thanks to Mike for pointing me toward ticket #5670

Trunk now uses gridedit.trunk.code.4.patch & gridedit.trunk.themes.2.patch

Fixes uses 137-editgrid.fixes.code.4.patch & 138-editgrid.fixes.themes.2.patch

Changed 11 years ago by anonymous

Changed 11 years ago by anonymous

Attachment: gridedit.trunk.code.5.patch added

Changed 11 years ago by anonymous

Changed 11 years ago by anonymous

Changed 11 years ago by anonymous

Attachment: bball.jpg added

Updated Layout

comment:10 Changed 11 years ago by cizek@…

Updated the patchset:

  • 137-editgrid.fixes.code.5.patch
  • 138-editgrid.fixes.themes.5.patch
  • gridedit.trunk.code.5.patch
  • gridedit.trunk.themes.5.patch

This includes the following changes:

  • Added small main frame image (in bball.jpg, it's enclosed in the white box)
  • Changed the frame grab logic to match the faster logic used in preview.
  • Improved pre-caching of the frames which will likely be needed next.
  • Changed the MythCenter?-wide theme to use the layout shown in bball.jpg
  • Assorted minor fixes.

If you notice any problems let me know. -Bill

Changed 10 years ago by Bill <billstuff2001@…>

Attachment: 192-137-editgrid.patch added

Updated against trunk 24132

comment:11 Changed 10 years ago by Bill <billstuff2001@…>

Resolution: invalid
Status: closednew

Added 192-137-editgrid.patch. This is updated for current trunk. It's still pretty rough as follows:

  • It only works with Mythcenter-wide - needs theme changes for other themes.
  • Doesn't really use MythUI. I couldn't figure out how to display dynamic images or a cutpoint bar in MythUI, so I wrote my own classes for these.
  • It plays fast & loose with the NuppelVideoPlayer? in the TV class.
  • Probably other stuff.

To use it:

  • Go into normal Edit Recording mode.
  • Hit TOGGLEEDIT or MENU to go into Grid Mode.
  • Use the standard edit keys to move through and edit the recording as necessary.
  • Hit TOGGLEEDIT or MENU to go back to Standard Edit Recording mode.

If you have any problems using this let me know and I'll look into them. If there's any interest in putting it into trunk I'll help get it working better.

-Bill

comment:12 Changed 10 years ago by robertm

Resolution: wontfix
Status: newclosed

Hi Bill, closing this again as it basically will be totally incompatible with all the stuff that's about to get merged in from the libmythui-osd branch and isn't likely ever to get applied. If you'd like to take a shot in the new OD once it gets merged, I'm sure that would be very welcome (though obviously at that point it's going to require that it's 100% MythUI).

Note: See TracTickets for help on using tickets.