Play the selected element first, then add the Kodi playqueue to the Plex playqueue
- Fixes #446
This commit is contained in:
parent
e81bee0101
commit
dcf2b9b4e4
1 changed files with 14 additions and 13 deletions
|
@ -96,13 +96,14 @@ def _playback_init(plex_id, plex_type, playqueue, pos):
|
||||||
if playqueue.kodi_pl.size() > 1:
|
if playqueue.kodi_pl.size() > 1:
|
||||||
# Special case - we already got a filled Kodi playqueue
|
# Special case - we already got a filled Kodi playqueue
|
||||||
try:
|
try:
|
||||||
_init_existing_kodi_playlist(playqueue)
|
_init_existing_kodi_playlist(playqueue, pos)
|
||||||
except PL.PlaylistError:
|
except PL.PlaylistError:
|
||||||
LOG.error('Aborting playback_init for longer Kodi playlist')
|
LOG.error('Aborting playback_init for longer Kodi playlist')
|
||||||
_ensure_resolve(abort=True)
|
_ensure_resolve(abort=True)
|
||||||
return
|
return
|
||||||
# Now we need to use setResolvedUrl for the item at position pos
|
# Now we need to use setResolvedUrl for the item at position ZERO
|
||||||
_conclude_playback(playqueue, pos)
|
# playqueue.py will pick up the missing items
|
||||||
|
_conclude_playback(playqueue, 0)
|
||||||
return
|
return
|
||||||
# "Usual" case - consider trailers and parts and build both Kodi and Plex
|
# "Usual" case - consider trailers and parts and build both Kodi and Plex
|
||||||
# playqueues
|
# playqueues
|
||||||
|
@ -185,21 +186,21 @@ def _ensure_resolve(abort=False):
|
||||||
state.RESUME_PLAYBACK = False
|
state.RESUME_PLAYBACK = False
|
||||||
|
|
||||||
|
|
||||||
def _init_existing_kodi_playlist(playqueue):
|
def _init_existing_kodi_playlist(playqueue, pos):
|
||||||
"""
|
"""
|
||||||
Will take the playqueue's kodi_pl with MORE than 1 element and initiate
|
Will take the playqueue's kodi_pl with MORE than 1 element and initiate
|
||||||
playback (without adding trailers)
|
playback (without adding trailers)
|
||||||
"""
|
"""
|
||||||
LOG.debug('Kodi playlist size: %s', playqueue.kodi_pl.size())
|
LOG.debug('Kodi playlist size: %s', playqueue.kodi_pl.size())
|
||||||
for i, kodi_item in enumerate(js.playlist_get_items(playqueue.playlistid)):
|
kodi_items = js.playlist_get_items(playqueue.playlistid)
|
||||||
if i == 0:
|
if not kodi_items:
|
||||||
item = PL.init_Plex_playlist(playqueue, kodi_item=kodi_item)
|
raise PL.PlaylistError('No Kodi items returned')
|
||||||
else:
|
item = PL.init_Plex_playlist(playqueue, kodi_item=kodi_items[pos])
|
||||||
item = PL.add_item_to_PMS_playlist(playqueue,
|
item.force_transcode = state.FORCE_TRANSCODE
|
||||||
i,
|
# playqueue.py will add the rest - this will likely put the PMS under
|
||||||
kodi_item=kodi_item)
|
# a LOT of strain if the following Kodi setting is enabled:
|
||||||
item.force_transcode = state.FORCE_TRANSCODE
|
# Settings -> Player -> Videos -> Play next video automatically
|
||||||
LOG.debug('Done building Plex playlist from Kodi playlist')
|
LOG.debug('Done init_existing_kodi_playlist')
|
||||||
|
|
||||||
|
|
||||||
def _prep_playlist_stack(xml):
|
def _prep_playlist_stack(xml):
|
||||||
|
|
Loading…
Reference in a new issue