From 75835332bba88cfb695256e76b881df72ec229b8 Mon Sep 17 00:00:00 2001 From: panni Date: Sat, 23 May 2020 04:24:51 +0200 Subject: [PATCH 1/3] add option to always show post-play (short videos) add option to adjust post-play time-to-wait --- lib/player.py | 2 +- lib/util.py | 2 ++ lib/windows/videoplayer.py | 7 ++++--- resources/language/resource.language.en_gb/strings.po | 10 +++++++++- resources/settings.xml | 2 ++ 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/lib/player.py b/lib/player.py index 3adc53d9c..20604bd3f 100644 --- a/lib/player.py +++ b/lib/player.py @@ -189,7 +189,7 @@ def shouldShowPostPlay(self): if self.playlist and self.playlist.TYPE == 'playlist': return False - if self.player.video.duration.asInt() <= FIVE_MINUTES_MILLIS: + if not util.advancedSettings.postplayAlways and self.player.video.duration.asInt() <= FIVE_MINUTES_MILLIS: return False return True diff --git a/lib/util.py b/lib/util.py index 1dfc50d8c..2eefd7cfe 100644 --- a/lib/util.py +++ b/lib/util.py @@ -95,6 +95,8 @@ class AdvancedSettings(object): ("auto_seek", True), ("dynamic_timeline_seek", False), ("fast_back", False), + ("postplay_always", False), + ("postplay_timeout", 16), ) def __init__(self): diff --git a/lib/windows/videoplayer.py b/lib/windows/videoplayer.py index f2f3d70b6..aed62043d 100644 --- a/lib/windows/videoplayer.py +++ b/lib/windows/videoplayer.py @@ -316,8 +316,8 @@ def startTimer(self): millis = (self.passoutProtection - time.time()) * 1000 util.DEBUG_LOG('Post play auto-play: Passout protection in {0}'.format(util.durationToShortText(millis))) - util.DEBUG_LOG('Staring post-play timer') - self.timeout = time.time() + 16 + util.DEBUG_LOG('Starting post-play timer') + self.timeout = time.time() + abs(util.advancedSettings.postplayTimeout) threading.Thread(target=self.countdown).start() def cancelTimer(self): @@ -341,7 +341,8 @@ def countdown(self): # self.playVideo() break elif self.timeout is not None: - self.setProperty('countdown', str(min(15, int((self.timeout or now) - now)))) + self.setProperty('countdown', str(min(abs(util.advancedSettings.postplayTimeout-1), + int((self.timeout or now) - now)))) def getHubs(self): try: diff --git a/resources/language/resource.language.en_gb/strings.po b/resources/language/resource.language.en_gb/strings.po index 90041a57a..12d7916b1 100644 --- a/resources/language/resource.language.en_gb/strings.po +++ b/resources/language/resource.language.en_gb/strings.po @@ -977,4 +977,12 @@ msgstr "" msgctxt "#32492" msgid "Kodi Subtitle Settings" -msgstr "" \ No newline at end of file +msgstr "" + +msgctxt "#32500" +msgid "Always show post-play screen (even for short videos)" +msgstr "" + +msgctxt "#32501" +msgid "Time-to-wait between videos on post-play" +msgstr "" diff --git a/resources/settings.xml b/resources/settings.xml index a30da7ce3..93cbce481 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -15,5 +15,7 @@ + + From 208cc1400c7aa42b7d451c7518505a0ff1bfb119 Mon Sep 17 00:00:00 2001 From: panni Date: Sat, 23 May 2020 05:00:42 +0200 Subject: [PATCH 2/3] move post-play options to player; properly show post-play circle when manually adjusted post-play timeout --- lib/windows/videoplayer.py | 6 ++++-- resources/settings.xml | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/windows/videoplayer.py b/lib/windows/videoplayer.py index aed62043d..2864aadfa 100644 --- a/lib/windows/videoplayer.py +++ b/lib/windows/videoplayer.py @@ -1,6 +1,7 @@ from __future__ import absolute_import import time import threading +import math from kodi_six import xbmc from kodi_six import xbmcgui @@ -341,8 +342,9 @@ def countdown(self): # self.playVideo() break elif self.timeout is not None: - self.setProperty('countdown', str(min(abs(util.advancedSettings.postplayTimeout-1), - int((self.timeout or now) - now)))) + cd = min(abs(util.advancedSettings.postplayTimeout-1), int((self.timeout or now) - now)) + base = 15 / float(util.advancedSettings.postplayTimeout-1) + self.setProperty('countdown', str(int(math.ceil(base*cd)))) def getHubs(self): try: diff --git a/resources/settings.xml b/resources/settings.xml index 93cbce481..07702c61d 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -12,10 +12,10 @@ + + - - From 58775e351fb55fe43ae71397b17b3b55a40d6b24 Mon Sep 17 00:00:00 2001 From: panni Date: Sat, 23 May 2020 05:24:30 +0200 Subject: [PATCH 3/3] support post-play timeout <= 0 --- lib/player.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/player.py b/lib/player.py index 20604bd3f..478821e1c 100644 --- a/lib/player.py +++ b/lib/player.py @@ -189,7 +189,8 @@ def shouldShowPostPlay(self): if self.playlist and self.playlist.TYPE == 'playlist': return False - if not util.advancedSettings.postplayAlways and self.player.video.duration.asInt() <= FIVE_MINUTES_MILLIS: + if (not util.advancedSettings.postplayAlways and self.player.video.duration.asInt() <= FIVE_MINUTES_MILLIS)\ + or util.advancedSettings.postplayTimeout <= 0: return False return True