Opened 8 years ago

Closed 6 years ago

#7939 closed Developer Task (Fixed)

JumpPoints don't work when OSD is present

Reported by: Jim Stichnoth <stichnot@…> Owned by: Jim Stichnoth
Priority: minor Milestone: 0.25
Component: MythTV - General Version: unknown
Severity: medium Keywords:
Cc: Ticket locked: yes

Description

JumpPoints? don't work properly when some OSD element is displayed while playing a recording or video. More generally, they don't work in a TV playback context when it would require more than one Escape keypress to exit TV playback. For example, pressing Pause and leaving the progress indicator up, or editing the cutlist, or adjusting the timestretch. This is a similar problem to ticket #7322.

This patch fixes the problem by providing a wrapper function around TV::ProcessKeypress?() which repeatedly pummels the system with Escape key events until it is beaten into submission and surrenders.

I originally wasn't going to bother with this, until I saw that using MythUI to draw the OSD has been pushed back to 0.24.

Attachments (15)

tv_jumppoints.patch (1.8 KB) - added by Jim Stichnoth <stichnot@…> 8 years ago.
tv_jumppoints_v2.patch (1.8 KB) - added by Jim Stichnoth <stichnot@…> 8 years ago.
tv_jumppoints_v3.patch (4.2 KB) - added by Jim Stichnoth <stichnot@…> 8 years ago.
tv_jumppoints_v4.patch (4.3 KB) - added by Jim Stichnoth <stichnot@…> 8 years ago.
tv_jumppoints_v5.patch (4.8 KB) - added by Jim Stichnoth <stichnot@…> 8 years ago.
tv_jumppoints_v6.patch (4.8 KB) - added by Jim Stichnoth <stichnot@…> 8 years ago.
tv_jumppoints_v7.patch (5.2 KB) - added by Jim Stichnoth <stichnot@…> 8 years ago.
tv_jumppoints_v8.patch (5.1 KB) - added by Jim Stichnoth <stichnot@…> 7 years ago.
tv_jumppoints_v9.patch (5.9 KB) - added by Jim Stichnoth <stichnot@…> 7 years ago.
tv_jumppoints_v11.patch (3.4 KB) - added by Jim Stichnoth <stichnot@…> 7 years ago.
Reverted the structure of the patch to use a wrapper function, to simplify the changes.
tv_jumppoints_v12.patch (3.4 KB) - added by Jim Stichnoth <stichnot@…> 7 years ago.
Change VERBOSE() to LOG().
tv_jumppoints_v13.patch (3.4 KB) - added by Jim Stichnoth <stichnot@…> 6 years ago.
Synch up to latest version of master
tv_jumppoints_v15.patch (1.5 KB) - added by Jim Stichnoth 6 years ago.
Simplified version.
tv_jumppoints_v16.patch (592 bytes) - added by Jim Stichnoth 6 years ago.
Even simpler version
tv_jumppoints_0.24.patch (1.5 KB) - added by Jim Stichnoth 6 years ago.
Attempted back-port to 0.24. Compiles, but not tested. Combines 307dac8776d54a5d104da1b8f8c046039ed1d143, 343022203cdf6948428187e8f1fb6337ca7b0de0, and the last chunk of 9b5b7b514408f8b25052ee1c0bebc05e676efc1d .

Download all attachments as: .zip

Change History (36)

Changed 8 years ago by Jim Stichnoth <stichnot@…>

Attachment: tv_jumppoints.patch added

Changed 8 years ago by Jim Stichnoth <stichnot@…>

Attachment: tv_jumppoints_v2.patch added

comment:1 Changed 8 years ago by Jim Stichnoth <stichnot@…>

Updated patch to tv_jumppoints_v2.patch after [24623].

Changed 8 years ago by Jim Stichnoth <stichnot@…>

Attachment: tv_jumppoints_v3.patch added

comment:2 Changed 8 years ago by Jim Stichnoth <stichnot@…>

Updated to tv_jumppoints_v3.patch.

  1. I just noticed that after the libmythui-osd branch merge, jumppoints aren't working during playback while an OSD Dialog is present, such as pressing "m" to bring up the menu. This patch fixes that.
  1. I reorganized the code to eliminate the wrapper function for TV::ProcessKeypress?(), in order to keep the TV class unchanged. I didn't re-indent the old code, to prevent the patch from being dominated by whitespace differences.

Changed 8 years ago by Jim Stichnoth <stichnot@…>

Attachment: tv_jumppoints_v4.patch added

comment:3 Changed 8 years ago by Jim Stichnoth <stichnot@…>

Updated to the v4 patch. This just reflects the NVP renaming.

comment:4 Changed 8 years ago by robertm

Owner: changed from Isaac Richards to markk
Status: newassigned

Changed 8 years ago by Jim Stichnoth <stichnot@…>

Attachment: tv_jumppoints_v5.patch added

comment:5 Changed 8 years ago by Jim Stichnoth <stichnot@…>

Updated to the v5 patch, which additionally stops executing a playlist when a jumppoint is executed.

Changed 8 years ago by Jim Stichnoth <stichnot@…>

Attachment: tv_jumppoints_v6.patch added

Changed 8 years ago by Jim Stichnoth <stichnot@…>

Attachment: tv_jumppoints_v7.patch added

comment:6 Changed 8 years ago by Jim Stichnoth <stichnot@…>

The v7 patch makes jump points work correctly when using the new cutlist editor.

comment:7 Changed 8 years ago by anonymous

What's the status of this patch? Is it possible to get this checked in on the 0.23.1 fixes branch? This bug is pretty annoying. Thanks!

comment:8 in reply to:  7 Changed 8 years ago by anonymous

Replying to anonymous:

What's the status of this patch? Is it possible to get this checked in on the 0.23.1 fixes branch? This bug is pretty annoying. Thanks!

Trac is not the place for such comments. Please ask on the mythtv-dev mailing list.

comment:9 Changed 8 years ago by stuartm

Ticket locked: set

comment:10 Changed 8 years ago by markk

Milestone: unknown0.24

Jim - I understand that you're working on a different approach to this issue. I've tentatively set a 0.24 milestone with the more realistic expectation that it will probably get pushed back to 0.25

comment:11 Changed 8 years ago by robertm

Milestone: 0.240.25

Bumping to .25 given the proximity of release and likely need to test the forthcoming solution.

Changed 7 years ago by Jim Stichnoth <stichnot@…>

Attachment: tv_jumppoints_v8.patch added

comment:12 Changed 7 years ago by markk

Status: assignedaccepted

Jim - v8 of the patch is, as far as I can tell, still the same approach. Are you working on something else?

Changed 7 years ago by Jim Stichnoth <stichnot@…>

Attachment: tv_jumppoints_v9.patch added

comment:14 Changed 7 years ago by sphery

Oh, and once a proper approach is incorporated, we can remove the hacks currently in MythVideo? (#7322) and MythGallery (#8250).

Changed 7 years ago by Jim Stichnoth <stichnot@…>

Attachment: tv_jumppoints_v11.patch added

Reverted the structure of the patch to use a wrapper function, to simplify the changes.

comment:15 Changed 7 years ago by sphery

ref https://github.com/MythTV/mythtv/commit/47fbdc86b

Add a couple of additional functions to allow iterating over the screen stacks.

Changed 7 years ago by Jim Stichnoth <stichnot@…>

Attachment: tv_jumppoints_v12.patch added

Change VERBOSE() to LOG().

Changed 6 years ago by Jim Stichnoth <stichnot@…>

Attachment: tv_jumppoints_v13.patch added

Synch up to latest version of master

comment:16 Changed 6 years ago by markk

Owner: markk deleted
Status: acceptedassigned

comment:17 Changed 6 years ago by Raymond Wagner

Owner: set to Jim Stichnoth
Type: patchDeveloper Task

comment:18 Changed 6 years ago by Jim Stichnoth

Milestone: 0.250.26

Changed 6 years ago by Jim Stichnoth

Attachment: tv_jumppoints_v15.patch added

Simplified version.

Changed 6 years ago by Jim Stichnoth

Attachment: tv_jumppoints_v16.patch added

Even simpler version

comment:19 Changed 6 years ago by Github

Make jump points work during playback when the OSD is present.

This works by sending an EXIT_TO_MENU event at the start of jump point execution. Any existing TV playback instance will receive this message and manually shut down playback, including tearing down the OSD.

This is not the fully general solution desired, but it is a big improvement until then.

One issue is that an editing session is not shut down cleanly. That will be addressed in a subsequent commit.

Refs #7939

Branch: master Changeset: 307dac8776d54a5d104da1b8f8c046039ed1d143

comment:20 Changed 6 years ago by Github

Exit cutlist edit mode cleanly when executing a jump point.

When the user executes a jump point in the middle of an editing session, make sure the edit session closes cleanly. The work is not explicitly saved, but the auto-save state is retained in the database so that it will be auto-loaded next time the user edits that program.

This makes a slight modification to the MythPlayer? class and therefore the binary version is bumped, so be sure to do everything that entails.

Refs #7939.

Branch: master Changeset: 9b5b7b514408f8b25052ee1c0bebc05e676efc1d

comment:21 Changed 6 years ago by Jim Stichnoth

Milestone: 0.260.25
Resolution: Fixed
Status: assignedclosed

Closing as fixed since the original issue in the ticket has been addressed.

See #10407 for the overhaul of the jump point implementation.

Changed 6 years ago by Jim Stichnoth

Attachment: tv_jumppoints_0.24.patch added

Attempted back-port to 0.24. Compiles, but not tested. Combines 307dac8776d54a5d104da1b8f8c046039ed1d143, 343022203cdf6948428187e8f1fb6337ca7b0de0, and the last chunk of 9b5b7b514408f8b25052ee1c0bebc05e676efc1d .

Note: See TracTickets for help on using tickets.