Fix Plex trailers screwing up playqueue
- Introduce a flag to check whether PKC itself made changes to the playqueue
This commit is contained in:
parent
e6199819c4
commit
f6b3dfdf12
3 changed files with 8 additions and 0 deletions
|
@ -165,6 +165,8 @@ def _playback_init(plex_id, plex_type, playqueue, pos):
|
||||||
# plugin://pkc will be lost; Kodi will try to startup playback for an empty
|
# plugin://pkc will be lost; Kodi will try to startup playback for an empty
|
||||||
# path: log entry is "CGUIWindowVideoBase::OnPlayMedia <missing path>"
|
# path: log entry is "CGUIWindowVideoBase::OnPlayMedia <missing path>"
|
||||||
thread.start()
|
thread.start()
|
||||||
|
# Ensure that PKC playqueue monitor ignores the changes we just made
|
||||||
|
playqueue.pkc_edit = True
|
||||||
|
|
||||||
|
|
||||||
def _ensure_resolve(abort=False):
|
def _ensure_resolve(abort=False):
|
||||||
|
|
|
@ -49,6 +49,9 @@ class PlaylistObjectBaseclase(object):
|
||||||
self.plex_transient_token = None
|
self.plex_transient_token = None
|
||||||
# Need a hack for detecting swaps of elements
|
# Need a hack for detecting swaps of elements
|
||||||
self.old_kodi_pl = []
|
self.old_kodi_pl = []
|
||||||
|
# Did PKC itself just change the playqueue so the PKC playqueue monitor
|
||||||
|
# should not pick up any changes?
|
||||||
|
self.pkc_edit = False
|
||||||
# Workaround to avoid endless loops of detecting PL clears
|
# Workaround to avoid endless loops of detecting PL clears
|
||||||
self._clear_list = []
|
self._clear_list = []
|
||||||
|
|
||||||
|
|
|
@ -234,6 +234,9 @@ class PlayqueueMonitor(Thread):
|
||||||
# Only initialize if directly fired up using direct
|
# Only initialize if directly fired up using direct
|
||||||
# paths. Otherwise let default.py do its magic
|
# paths. Otherwise let default.py do its magic
|
||||||
LOG.debug('Not yet initiating playback')
|
LOG.debug('Not yet initiating playback')
|
||||||
|
elif playqueue.pkc_edit:
|
||||||
|
playqueue.pkc_edit = False
|
||||||
|
LOG.debug('PKC just edited the playqueue - skipping')
|
||||||
else:
|
else:
|
||||||
# compare old and new playqueue
|
# compare old and new playqueue
|
||||||
self._compare_playqueues(playqueue, kodi_pl)
|
self._compare_playqueues(playqueue, kodi_pl)
|
||||||
|
|
Loading…
Reference in a new issue