Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[gui][info] Remove Player.DisplayAfterSeek #21425

Merged
merged 3 commits into from
May 22, 2022

Conversation

enen92
Copy link
Member

@enen92 enen92 commented May 20, 2022

Description

The aforementioned infolabel is a design flaw of VP according to FernetMenta (see: #20753 (comment)) as it ties the player with the info interface. Player.HasPerformedSeek was introduced in #21366 as an alternative. Usages of Player.DisplayAfterSeek were removed from builtin skins (estuary and estouchy) in favor of the new infobool in #21380.
This further removes all usages and the main logic of DisplayerAfterSeek from kodi core.
While the cleanup is smooth and should not cause regressions there is a little issue in the last commit (89e34c6):

In VideoFullScreen window we were forcing visibility conditions manually on static controls. While I could have just replaced the visibility conditions with the new one I don't think it is correct. Skinners should have full control of their skin elements, i.e., shouldn't be the core to dictate when to show/hide a control. So...decided to remove them all together. Note that the big majority of skins on our repo (nexus and matrix) do not use those controls. The only two exceptions are:

Motivation and context

Cleanup. Decouple stuff.

How has this been tested?

Runtime tested in estuary.

What is the effect on users?

Skinners should adapt the usage of Player.DisplayAfterSeek to Player.HasPerformedSeek(interval)

@enen92 enen92 added Type: Cleanup non-breaking change which removes non-working or unmaintained functionality Component: GUI engine API change: GUI Component: Skin v20 Nexus labels May 20, 2022
@enen92 enen92 added this to the Nexus 20.0 Alpha 2 milestone May 20, 2022
@enen92 enen92 requested a review from garbear as a code owner May 20, 2022 11:37
@enen92 enen92 requested a review from howie-f May 20, 2022 11:37
@enen92 enen92 mentioned this pull request May 20, 2022
16 tasks
Copy link
Member

@garbear garbear left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was an easy one to review. 9 lines added, 101 lines deleted. All deleted lines are GUI stuff intermingled with VideoPlayer, and removing GUI dependencies from VP is definitely needed. Only lines added are comments documenting the removal. This looks like a clean, advantageous removal, so +1 from me.

Forcing visibility conditions on window controls is wrong as they must
be added be the skin implementation. Progressbar, time and buffering
controls were removed and must be implemented on the xml definition of
the window if the skinner so desires.
@enen92 enen92 force-pushed the removedisplayafterseeknexuss branch from 89e34c6 to 6673147 Compare May 22, 2022 09:15
Copy link
Contributor

@howie-f howie-f left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @enen92. this works fine

@enen92 enen92 merged commit 1aa506e into xbmc:master May 22, 2022
jojobrogess added a commit to jojobrogess/skin.auramod that referenced this pull request Feb 14, 2023
 https://forum.kodi.tv/showthread.php?tid=363553&pid=3098753#pid3098753
2022-05-22 - Removed Player.DisplayAfterSeek boolean condition

The old Player.DisplayAfterSeek boolean condition was a design flaw of Kodi since it was coupling the videoplayer with GUI components. It was removed and replaced by the previously added Player.HasPerformedSeek(interval) boolean condition.
By default Player.DisplayAfterSeek was valid for 2.5 seconds after a seek. To retain similar behaviour please use Player.HasPerformedSeek(3). Estuary and estouchy were adapted in xbmc/xbmc#21380

PR: xbmc/xbmc#21425
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API change: GUI Component: GUI engine Component: Skin Type: Cleanup non-breaking change which removes non-working or unmaintained functionality v20 Nexus
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants