Hiding Playback Controls OSD While Video Is Paused
#1
First of all thank you to the Kodi team for working on such an amazing application. I have been thoroughly enjoying it mainly as a great DVD player via a Raspberry Pi 3B+ outputting 480i to a CRT.

I would like to know if there is a way to hide the playback controls/OSD when video content is paused. Some times I would like to be able to look at a video frame without the playback controls superimposed over it, but I have not been able to figure out how to do so. Is this currently possible on Kodi?
Reply
#2
Press 'm' to show/hide playback controls.

https://kodi.wiki/view/Keyboard_controls
Reply
#3
(2019-08-03, 13:16)ClippyBeer Wrote: Press 'm' to show/hide playback controls.

https://kodi.wiki/view/Keyboard_controls

Thanks for your suggestion. Pressing the 'm' key only toggles the playback controls, but the seektime bar at the bottom and the movie title and time on the top remain regardless while the movie is paused. I am trying to find a way to have a completely unobstructed picture of the content while it is paused.

Perhaps there is a setting to make all overlay display disappear when content is paused after a certain amount of seconds?
Reply
#4
I don't think that's possible with Kodi's video player - when it's paused it will always display the time, remaining time, etc.  Maybe someone knows of a hack?  You're probably better off posting this in the Feature Request sub forum so it can be added in future Kodi releases.

https://forum.kodi.tv/forumdisplay.php?fid=9
Reply
#5
You don't mention what skin you are using? so I'll assume it's the default Estuary skin in which you can do what you want by editing the skin xml files.

What would need to be changed is this Line https://github.com/xbmc/xbmc/blob/master...Bar.xml#L3

from

xml:
<visible>Player.Seeking | Player.DisplayAfterSeek | [Player.Paused + !Player.Caching] | Player.Forwarding | Player.Rewinding | Player.ShowInfo | Player.ShowTime | Window.IsActive(videoosd) | Window.IsActive(musicosd) | Window.IsActive(playerprocessinfo) | !String.IsEmpty(Player.SeekNumeric) | !String.IsEmpty(PVR.ChannelNumberInput)</visible>

to

xml:
<visible>Player.Seeking | Player.DisplayAfterSeek | Player.Forwarding | Player.Rewinding | Player.ShowInfo | Player.ShowTime | Window.IsActive(videoosd) | Window.IsActive(musicosd) | Window.IsActive(playerprocessinfo) | !String.IsEmpty(Player.SeekNumeric) | !String.IsEmpty(PVR.ChannelNumberInput)</visible>

so the [Player.Paused + !Player.Caching] part is removed.
Reply
#6
Thumbs Up 
Nice!! Good to know you can further tweak Kodi by modifying XML files.  I guess you can mark this thread solved...
Reply
#7
(2019-08-05, 13:42)jjd-uk Wrote: You don't mention what skin you are using? so I'll assume it's the default Estuary skin in which you can do what you want by editing the skin xml files.

What would need to be changed is this Line https://github.com/xbmc/xbmc/blob/master...Bar.xml#L3

from

xml:
<visible>Player.Seeking | Player.DisplayAfterSeek | [Player.Paused + !Player.Caching] | Player.Forwarding | Player.Rewinding | Player.ShowInfo | Player.ShowTime | Window.IsActive(videoosd) | Window.IsActive(musicosd) | Window.IsActive(playerprocessinfo) | !String.IsEmpty(Player.SeekNumeric) | !String.IsEmpty(PVR.ChannelNumberInput)</visible>

to

xml:
<visible>Player.Seeking | Player.DisplayAfterSeek | Player.Forwarding | Player.Rewinding | Player.ShowInfo | Player.ShowTime | Window.IsActive(videoosd) | Window.IsActive(musicosd) | Window.IsActive(playerprocessinfo) | !String.IsEmpty(Player.SeekNumeric) | !String.IsEmpty(PVR.ChannelNumberInput)</visible>

so the [Player.Paused + !Player.Caching] part is removed.

Thanks. This did not work, but it fortunately allowed me to find what does work by leading me to this older topic: https://forum.kodi.tv/showthread.php?tid=306327

So the crucial part to remove is not  [Player.Paused + !Player.Caching] , but rather Player.DisplayAfterSeek

That topic also proposes an elegant solution by making the OSD elements disappear after x number of seconds after pausing, with Player.Paused + !Player.Caching + !System.IdleTime(s) 

where s is the number of desired seconds. This is what I ended up setting in the XML file.

Now, I think it would still be worthwhile to feature-request a setting that gives easy control of this, because not all Kodi releases make it easy to alter this XML file. For the Recalbox release that I use, it involves mounting the SD card where the Kodi files are in a Linux environment, and enabling root permissions to modify the protected files, which not a lot of people will have the knowledge and patience to do.
Reply
#8
Just coming back for a final post since I found that the !System.IdleTime(s) parameter doesn't seem to behave very reliably. Some times the seek time bar remains in spite of the time limit set in it. Perhaps it works better if it is placed after Player.Paused instead of Player.Caching, but I didn't test that and simply removed both Player.DisplayAfterSeek and Player.Paused + !Player.Caching. In this way the seek bar does appear briefly during seeking operations as a visual cue, but does not appear at all when content is paused, as it should be for any media player interface. Nothing is lost with this behavior since the seek bar can always be displayed with the m key or its equivalent on a controller. Estuary is a very nice skin and not having this be the default behavior is the only flaw I can find in it.
Reply

Logout Mark Read Team Forum Stats Members Help
Hiding Playback Controls OSD While Video Is Paused1