def init_playqueues(): """ Call this once on startup to initialize the PKC playqueue objects in the list PLAYQUEUES """ if PLAYQUEUES: LOG.debug('Playqueues have already been initialized') return # Initialize Kodi playqueues with LOCK: for i in (0, 1, 2): # Just in case the Kodi response is not sorted correctly for queue in js.get_playlists(): if queue['playlistid'] != i: continue playqueue = PL.Playqueue_Object() playqueue.playlistid = i playqueue.type = queue['type'] # Initialize each Kodi playlist if playqueue.type == v.KODI_TYPE_AUDIO: playqueue.kodi_pl = PlayList(PLAYLIST_MUSIC) elif playqueue.type == v.KODI_TYPE_VIDEO: playqueue.kodi_pl = PlayList(PLAYLIST_VIDEO) else: # Currently, only video or audio playqueues available playqueue.kodi_pl = PlayList(PLAYLIST_VIDEO) # Overwrite 'picture' with 'photo' playqueue.type = v.KODI_TYPE_PHOTO PLAYQUEUES.append(playqueue) LOG.debug('Initialized the Kodi playqueues: %s', PLAYQUEUES)
def __init__(self, callback=None): self.__dict__ = self.__shared_state if self.playqueues is not None: log.debug('Playqueue thread has already been initialized') Thread.__init__(self) return self.mgr = callback # Initialize Kodi playqueues with lock: self.playqueues = [] for queue in PL.get_kodi_playqueues(): playqueue = PL.Playqueue_Object() playqueue.playlistid = queue['playlistid'] playqueue.type = queue['type'] # Initialize each Kodi playlist if playqueue.type == 'audio': playqueue.kodi_pl = PlayList(PLAYLIST_MUSIC) elif playqueue.type == 'video': playqueue.kodi_pl = PlayList(PLAYLIST_VIDEO) else: # Currently, only video or audio playqueues available playqueue.kodi_pl = PlayList(PLAYLIST_VIDEO) # Overwrite 'picture' with 'photo' playqueue.type = v.KODI_TYPE_PHOTO self.playqueues.append(playqueue) # sort the list by their playlistid, just in case self.playqueues = sorted(self.playqueues, key=lambda i: i.playlistid) log.debug('Initialized the Kodi play queues: %s' % self.playqueues) Thread.__init__(self)