diff --git a/default.py b/default.py index 94117d69..2a9ff290 100644 --- a/default.py +++ b/default.py @@ -102,7 +102,7 @@ class Main: # Other functions if mode == "settings": xbmc.executebuiltin('Addon.OpenSettings(plugin.video.emby)') - elif mode in ("manualsync", "repair"): + elif mode in ("manualsync", "fastsync", "repair"): if utils.window('emby_online') != "true": # Server is not online, do not run the sync xbmcgui.Dialog().ok(heading="Emby for Kodi", @@ -116,6 +116,8 @@ class Main: lib = librarysync.LibrarySync() if mode == "manualsync": librarysync.ManualSync().sync(dialog=True) + elif mode == "fastsync": + lib.startSync() else: lib.fullSync(repair=True) else: diff --git a/resources/language/English/strings.xml b/resources/language/English/strings.xml index 78a94417..1a145adc 100644 --- a/resources/language/English/strings.xml +++ b/resources/language/English/strings.xml @@ -298,6 +298,8 @@ <string id="30533">Duration of the music library pop up (in seconds)</string> <string id="30534">Server messages</string> <string id="30535">Generate a new device Id</string> + <string id="30536">Sync when screensaver is deactivated</string> + <string id="30537">Force Transcode Hi10P</string> <!-- service add-on --> <string id="33000">Welcome</string> diff --git a/resources/lib/kodimonitor.py b/resources/lib/kodimonitor.py index f2b5ae86..ea1a4f17 100644 --- a/resources/lib/kodimonitor.py +++ b/resources/lib/kodimonitor.py @@ -205,5 +205,12 @@ class KodiMonitor(xbmc.Monitor): xbmc.sleep(10000) utils.window('emby_onWake', value="true") + + elif method == "GUI.OnScreensaverDeactivated": + if utils.settings('dbSyncScreensaver') == "true": + xbmc.sleep(5000); + utils.window('emby_onWake', value="true") + + elif method == "Playlist.OnClear": pass \ No newline at end of file diff --git a/resources/lib/playutils.py b/resources/lib/playutils.py index 622781d2..a1de2948 100644 --- a/resources/lib/playutils.py +++ b/resources/lib/playutils.py @@ -18,7 +18,6 @@ class PlayUtils(): def __init__(self, item): self.item = item - self.clientInfo = clientinfo.ClientInfo() self.addonName = self.clientInfo.getAddonName() @@ -102,6 +101,11 @@ class PlayUtils(): videotrack = self.item['MediaSources'][0]['Name'] transcodeH265 = settings('transcodeH265') + videoprofiles = [x['Profile'] for x in self.item['MediaSources'][0]['MediaStreams'] if 'Profile' in x] + transcodeHi10P = utils.settings('transcodeHi10P') + + if transcodeHi10P == "true" and "H264" in videotrack and "High 10" in videoprofiles: + return False if transcodeH265 in ("1", "2", "3") and ("HEVC" in videotrack or "H265" in videotrack): # Avoid H265/HEVC depending on the resolution @@ -207,6 +211,11 @@ class PlayUtils(): videotrack = self.item['MediaSources'][0]['Name'] transcodeH265 = utils.settings('transcodeH265') + videoprofiles = [x['Profile'] for x in self.item['MediaSources'][0]['MediaStreams'] if 'Profile' in x] + transcodeHi10P = utils.settings('transcodeHi10P') + + if transcodeHi10P == "true" and "H264" in videotrack and "High 10" in videoprofiles: + return False if transcodeH265 in ("1", "2", "3") and ("HEVC" in videotrack or "H265" in videotrack): # Avoid H265/HEVC depending on the resolution @@ -423,4 +432,4 @@ class PlayUtils(): else: playurlprefs += "&AudioBitrate=192000" - return playurlprefs \ No newline at end of file + return playurlprefs diff --git a/resources/settings.xml b/resources/settings.xml index d5d815dc..77d57a33 100644 --- a/resources/settings.xml +++ b/resources/settings.xml @@ -32,6 +32,7 @@ <setting id="enableTextureCache" label="30512" type="bool" default="true" /> <setting id="imageCacheLimit" type="enum" label="30513" values="Disabled|5|10|15|20|25" default="0" visible="eq(-1,true)" subsetting="true" /> <setting id="syncEmptyShows" type="bool" label="30508" default="false" /> + <setting id="dbSyncScreensaver" label="30536" type="bool" default="false" /> <setting id="useDirectPaths" type="enum" label="30511" values="Addon(Default)|Native(Direct paths)" default="0" /> <setting id="enableMusic" type="bool" label="30509" default="true" /> <setting id="streamMusic" type="bool" label="30510" default="false" visible="eq(-1,true)" subsetting="true" /> @@ -54,6 +55,7 @@ <setting id="playFromStream" type="bool" label="30002" default="false" /> <setting id="videoBitrate" type="enum" label="30160" values="664 Kbps SD|996 Kbps HD|1.3 Mbps HD|2.0 Mbps HD|3.2 Mbps HD|4.7 Mbps HD|6.2 Mbps HD|7.7 Mbps HD|9.2 Mbps HD|10.7 Mbps HD|12.2 Mbps HD|13.7 Mbps HD|15.2 Mbps HD|16.7 Mbps HD|18.2 Mbps HD|20.0 Mbps HD|40.0 Mbps HD|100.0 Mbps HD [default]|1000.0 Mbps HD" visible="true" default="17" subsetting="true" /> <setting id="transcodeH265" type="enum" label="30522" default="0" values="Disabled|480p(and higher)|720p(and higher)|1080p" /> + <setting id="transcodeHi10P" type="bool" label="30537" default="false"/> <setting id="markPlayed" type="number" visible="false" default="90" /> <setting id="failedCount" type="number" visible="false" default="0" /> <setting id="networkCreds" type="text" visible="false" default="" />