Modify
Warning Please read the Ticket HowTo before creating or commenting on a ticket. Failure to do so may cause your ticket to be rejected or result in a slower response.

Opened 4 years ago

Closed 2 years ago

#7939 closed Developer Task (Fixed)

JumpPoints don't work when OSD is present

Reported by: Jim Stichnoth <stichnot@…> Owned by: stichnot
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@…> 4 years ago.
tv_jumppoints_v2.patch (1.8 KB) - added by Jim Stichnoth <stichnot@…> 4 years ago.
tv_jumppoints_v3.patch (4.2 KB) - added by Jim Stichnoth <stichnot@…> 4 years ago.
tv_jumppoints_v4.patch (4.3 KB) - added by Jim Stichnoth <stichnot@…> 4 years ago.
tv_jumppoints_v5.patch (4.8 KB) - added by Jim Stichnoth <stichnot@…> 4 years ago.
tv_jumppoints_v6.patch (4.8 KB) - added by Jim Stichnoth <stichnot@…> 4 years ago.
tv_jumppoints_v7.patch (5.2 KB) - added by Jim Stichnoth <stichnot@…> 4 years ago.
tv_jumppoints_v8.patch (5.1 KB) - added by Jim Stichnoth <stichnot@…> 3 years ago.
tv_jumppoints_v9.patch (5.9 KB) - added by Jim Stichnoth <stichnot@…> 3 years ago.
tv_jumppoints_v11.patch (3.4 KB) - added by Jim Stichnoth <stichnot@…> 3 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@…> 3 years ago.
Change VERBOSE() to LOG().
tv_jumppoints_v13.patch (3.4 KB) - added by Jim Stichnoth <stichnot@…> 2 years ago.
Synch up to latest version of master
tv_jumppoints_v15.patch (1.5 KB) - added by stichnot 2 years ago.
Simplified version.
tv_jumppoints_v16.patch (592 bytes) - added by stichnot 2 years ago.
Even simpler version
tv_jumppoints_0.24.patch (1.5 KB) - added by stichnot 2 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 4 years ago by Jim Stichnoth <stichnot@…>

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

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

Updated patch to tv_jumppoints_v2.patch after [24623].

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

comment:2 Changed 4 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 4 years ago by Jim Stichnoth <stichnot@…>

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

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

comment:4 Changed 4 years ago by robertm

  • Owner changed from ijr to markk
  • Status changed from new to assigned

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

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

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

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

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

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

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

comment:7 follow-up: Changed 4 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 4 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 4 years ago by stuartm

  • Ticket locked set

comment:10 Changed 4 years ago by markk

  • Milestone changed from unknown to 0.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 4 years ago by robertm

  • Milestone changed from 0.24 to 0.25

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

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

comment:12 Changed 3 years ago by markk

  • Status changed from assigned to accepted

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

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

comment:14 Changed 3 years ago by mdean

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

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

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

comment:15 Changed 3 years ago by mdean

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

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

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

Change VERBOSE() to LOG().

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

Synch up to latest version of master

comment:16 Changed 2 years ago by markk

  • Owner markk deleted
  • Status changed from accepted to assigned

comment:17 Changed 2 years ago by wagnerrp

  • Owner set to stichnot
  • Type changed from patch to Developer Task

comment:18 Changed 2 years ago by stichnot

  • Milestone changed from 0.25 to 0.26

Changed 2 years ago by stichnot

Simplified version.

Changed 2 years ago by stichnot

Even simpler version

comment:19 Changed 2 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 2 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 2 years ago by stichnot

  • Milestone changed from 0.26 to 0.25
  • Resolution set to Fixed
  • Status changed from assigned to closed

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

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

Changed 2 years ago by stichnot

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

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'new'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.