private void UpdatePlaylistDetailsUI() { if (_playlist != null) { if (_headerParent) { _headerParent.gameObject.SetActive(true); } if (_headerImg != null) { SpotifyAPI.Web.Image image = S4UUtility.GetLowestResolutionImage(_playlist.Images, 300, 300); StartCoroutine(S4UUtility.LoadImageFromUrl(image?.Url, (loadedSprite) => { _headerImg.sprite = loadedSprite; })); } if (_headerTitle != null) { _headerTitle.text = _playlist.Name; } if (_headerDescription != null) { _headerDescription.text = _playlist.Description; } if (_headerDetails != null) { _headerDetails.text = $"{ _playlist.Owner.DisplayName} • {_playlist.Tracks.Total.Value} songs"; } if (_headerType != null) { _headerType.text = _playlist.Type.ToUpper(); } } }
private void DownloadUpdateSprite(Image img, List <SpotifyAPI.Web.Image> images) { if (img != null && img.sprite == null) { SpotifyAPI.Web.Image icon = S4UUtility.GetLowestResolutionImage(images); if (icon != null) { StartCoroutine(S4UUtility.LoadImageFromUrl(icon.Url, (loadedSprite) => { _icon.sprite = loadedSprite; })); } } }
private async void PlayingItemChanged(IPlayableItem newPlayingItem) { if (newPlayingItem == null) { // No new item playing, reset UI UpdatePlayerInfo("No track playing", "No track playing", ""); SetLibraryBtnIsLiked(false); _currentProgressSlider.value = 0; _totalProgressText.text = _currentProgressText.text = "00:00"; } else { if (newPlayingItem.Type == ItemType.Track) { if (newPlayingItem is FullTrack track) { // Update player information with track info string allArtists = S4UUtility.ArtistsToSeparatedString(", ", track.Artists); SpotifyAPI.Web.Image image = S4UUtility.GetLowestResolutionImage(track.Album.Images); UpdatePlayerInfo(track.Name, allArtists, image?.Url); // Make request to see if track is part of user's library var client = SpotifyService.Instance.GetSpotifyClient(); LibraryCheckTracksRequest request = new LibraryCheckTracksRequest(new List <string>() { track.Id }); var result = await client.Library.CheckTracks(request); if (result.Count > 0) { SetLibraryBtnIsLiked(result[0]); } } } else if (newPlayingItem.Type == ItemType.Episode) { if (newPlayingItem is FullEpisode episode) { string creators = episode.Show.Publisher; SpotifyAPI.Web.Image image = S4UUtility.GetLowestResolutionImage(episode.Images); UpdatePlayerInfo(episode.Name, creators, image?.Url); } } } }