diff --git a/addon.xml b/addon.xml index f1454c1c041a3d5d947195380aec64a32765b715..02179a3b92e75b0ea9f2b4fb615833afb92cd509 100644 --- a/addon.xml +++ b/addon.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <addon id="script.spotify.screensaver" name="Spotify Screensaver" - version="0.0.14" + version="0.0.15" provider-name="Benoît Harrault"> <requires> <import addon="xbmc.python" version="2.25.0"/> diff --git a/gui.py b/gui.py index e4409ece29cd6170be26a8d206c7665872b42cf7..e16452524c532e7c3046560b35cdd3346e3934de 100644 --- a/gui.py +++ b/gui.py @@ -151,16 +151,15 @@ class GUI(xbmcgui.WindowXMLDialog): track_data = self._get_track_data(track_id) track_name = track_data.get('track_name') + track_artists = track_data.get('track_artists') track_image_url = track_data.get('track_image_url') - if (track_name is None) or (track_image_url is None): - self.log('failed to get track data', xbmc.LOGERROR) - else: - notification = ( - 'Notification("Next:", ' + track_name - + ', 29000, ' + track_image_url + ')' - ) - xbmc.executebuiltin(notification) + notification = ( + 'Notification("Next:", "' + ', '.join(track_artists) + + ' - ' + track_name + + '", 29000, ' + track_image_url + ')' + ) + xbmc.executebuiltin(notification) def _reload_images(self, track_id): self.log('load images for track: ' + track_id) @@ -193,6 +192,7 @@ class GUI(xbmcgui.WindowXMLDialog): data = response.json() track_data['track_name'] = data.get('name', '') + track_data['track_artists'] = [] # album/track image album = data.get('album') @@ -210,6 +210,28 @@ class GUI(xbmcgui.WindowXMLDialog): else: self.log('ok got album from API') self.log(json.dumps(album)) + # get artists + artists = album.get('artists') + if artists is None: + self.log('failed to get artists from API', xbmc.LOGERROR) + self.log(json.dumps(album), xbmc.LOGERROR) + else: + self.log('ok got artists from API') + self.log(json.dumps(artists)) + for artist in artists: + artist_name = artist.get('name') + if artist_name is None: + self.log( + 'failed to get artist_name from API', + xbmc.LOGERROR) + self.log(json.dumps(artist), xbmc.LOGERROR) + else: + self.log('ok got artist_name from API') + self.log(json.dumps(artist_name)) + + track_data['track_artists'].append(artist_name) + + # get images images = album.get('images') if images is None: self.log('failed to get images from API', xbmc.LOGERROR) @@ -244,17 +266,15 @@ class GUI(xbmcgui.WindowXMLDialog): track_data = self._get_track_data(track_id) track_name = track_data.get('track_name') + track_artists = track_data.get('track_artists') track_image_url = track_data.get('track_image_url') - if (track_name is None) or (track_image_url is None): - self.log('failed to get track data', xbmc.LOGERROR) - else: - imageLST.append( - xbmcgui.ListItem( - track_name, - thumbnailImage=track_image_url - ) + imageLST.append( + xbmcgui.ListItem( + ', '.join(track_artists) + ' - ' + track_name, + thumbnailImage=track_image_url ) + ) return imageLST diff --git a/resources/skins/default/1080i/default.xml b/resources/skins/default/1080i/default.xml index cc4d6b1939be46779f863fc164798826cb27e9da..3a905034ed641632320cbc285d0d1ccea32f0286 100644 --- a/resources/skins/default/1080i/default.xml +++ b/resources/skins/default/1080i/default.xml @@ -59,7 +59,7 @@ <textcolor>ffffffff</textcolor> <shadowcolor>ff000000</shadowcolor> <info>ListItem.Label</info> - <animation effect="fade" start="100" end="0" time="25000" condition="True">Conditional</animation> + <animation effect="fade" start="100" end="0" time="120000" condition="True">Conditional</animation> </control> </focusedlayout > </control>