Skip to content

Commit

Permalink
Merge pull request #346 from TrueTechy/fix/start-over
Browse files Browse the repository at this point in the history
Get resume from Kodi arguments
  • Loading branch information
mcarlton00 committed Aug 1, 2020
2 parents bf37279 + d8a7e43 commit 96d5b61
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 21 deletions.
1 change: 1 addition & 0 deletions jellyfin_kodi/entrypoint/default.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ def __init__(self):
elif mode == 'play':

item = TheVoid('GetItem', {'Id': params['id'], 'ServerId': server}).get()
item["resumePlayback"] = sys.argv[3].split(":")[1] == "true"
Actions(server).play(item, params.get('dbid'), params.get('transcode') == 'true', playlist=params.get('playlist') == 'true')

elif mode == 'playlist':
Expand Down
2 changes: 1 addition & 1 deletion jellyfin_kodi/entrypoint/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -414,7 +414,7 @@ def shutdown(self):
properties = [ # TODO: review
"jellyfin_state", "jellyfin_serverStatus", "jellyfin_currUser",

"jellyfin_play", "jellyfin_online", "jellyfin.connected", "jellyfin.resume", "jellyfin_startup",
"jellyfin_play", "jellyfin_online", "jellyfin.connected", "jellyfin_startup",
"jellyfin.external", "jellyfin.external_check", "jellyfin_deviceId", "jellyfin_db_check", "jellyfin_pathverified",
"jellyfin_sync"
]
Expand Down
27 changes: 7 additions & 20 deletions jellyfin_kodi/objects/actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,24 +86,22 @@ def set_playlist(self, item, listitem, db_id=None, transcode=False):
Detect the seektime for video type content.
Verify the default video action set in Kodi for accurate resume behavior.
'''
seektime = window('jellyfin.resume.bool')
window('jellyfin.resume', clear=True)

if item['MediaType'] in ('Video', 'Audio'):
resume = item['UserData'].get('PlaybackPositionTicks')

if resume and transcode and not seektime:
if resume and transcode:
choice = self.resume_dialog(api.API(item, self.server).adjust_resume((resume or 0) / 10000000.0))

if choice is None:
raise Exception("User backed out of resume dialog.")

seektime = False if not choice else True
item["resumePlayback"] = False if not choice else True

if settings('enableCinema.bool') and not seektime:
if settings('enableCinema.bool') and not item["resumePlayback"]:
self._set_intros(item)

self.set_listitem(item, listitem, db_id, seektime)
self.set_listitem(item, listitem, db_id, None)
playutils.set_properties(item, item['PlaybackInfo']['Method'], self.server_id)
self.stack.append([item['PlaybackInfo']['Path'], listitem])

Expand Down Expand Up @@ -448,11 +446,12 @@ def listitem_video(self, obj, listitem, item, seektime=None, intro=False):
listitem.setProperty('IsPlayable', 'true')
listitem.setProperty('IsFolder', 'false')

if obj['Resume'] and seektime is not False:
if obj['Resume'] and item.get("resumePlayback"):
listitem.setProperty('resumetime', str(obj['Resume']))
listitem.setProperty('StartPercent', str(((obj['Resume'] / obj['Runtime']) * 100) - 0.40))
else:
listitem.setProperty('resumetime', '0')
listitem.setProperty('StartPercent', '0')

for track in obj['Streams']['video']:
listitem.addStreamInfo('video', {
Expand Down Expand Up @@ -807,19 +806,7 @@ def special_listener():
is_playing = player.isPlaying()
count = int(window('jellyfin.external_count') or 0)

if (not is_playing and xbmc.getCondVisibility('Window.IsVisible(DialogContextMenu.xml)') and xbmc.getInfoLabel('Control.GetLabel(1002)') == xbmc.getLocalizedString(12021)):

control = int(xbmcgui.Window(10106).getFocusId())

if control == 1002: # Start from beginning

LOG.info("Resume dialog: Start from beginning selected.")
window('jellyfin.resume.bool', False)
else:
LOG.info("Resume dialog: Resume selected.")
window('jellyfin.resume.bool', True)

elif is_playing and not window('jellyfin.external_check'):
if is_playing and not window('jellyfin.external_check'):
time = player.getTime()

if time > 1: # Not external player.
Expand Down

0 comments on commit 96d5b61

Please sign in to comment.