0
0
mirror of https://github.com/libretro/Lakka-LibreELEC.git synced 2025-01-20 11:05:27 +00:00
2023-05-04 22:11:16 +02:00

35 lines
1.3 KiB
Python

import xbmc
import xbmcgui
import player
import service
class Player(player.Player):
def __init__(self, codec='pcm_sb16be', max_fanarts='10', **kwargs):
super().__init__(**kwargs)
self._max_fanarts = int(max_fanarts)
self._list_item = xbmcgui.ListItem(path=self.librespot.file)
self._list_item.getVideoInfoTag().addAudioStream(xbmc.AudioStreamDetail(2, codec))
self._music_info_tag = self._list_item.getMusicInfoTag()
def onLibrespotTrackChanged(self, album='', art='', artist='', title=''):
fanart = service.get_fanart(art, self._max_fanarts) if art else art
self._list_item.setArt({'fanart': fanart, 'thumb': art})
self._music_info_tag.setAlbum(album)
self._music_info_tag.setArtist(artist)
self._music_info_tag.setTitle(title)
if self.isPlaying() and self.getPlayingFile() == self.librespot.file:
self.updateInfoTag(self._list_item)
else:
self.stop() # fixes unepxected behaviour of Player.play()
self.librespot.start_sink()
self.play(self.librespot.file, listitem=self._list_item)
def onLibrespotStopped(self):
self.librespot.stop_sink()
if self.isPlaying() and self.getPlayingFile() == self.librespot.file:
self.last_file = None
self.stop()