public IEnumerable <SimplePlaylist> GetPlaylists(string s, string currentUserID) { lock (_lock) { FeaturedPlaylists featuredPlaylists = _spotifyApi.GetFeaturedPlaylists(); Paging <SimplePlaylist> userPlaylistsPaging = _spotifyApi.GetUserPlaylists(currentUserID, 500); List <SimplePlaylist> returnedPlaylists = new List <SimplePlaylist>(); while (true) { // Add current page to returnedPlaylists list // Also, filter results based on search string returnedPlaylists = returnedPlaylists.Concat( userPlaylistsPaging.Items.Where( playlist => playlist.Name.ToLower().Contains(s.ToLower())).ToList()).ToList(); if (!userPlaylistsPaging.HasNextPage()) { break; } userPlaylistsPaging = _spotifyApi.GetNextPage(userPlaylistsPaging); } // Filter results based on search and combine into one large SimplePlaylists list List <SimplePlaylist> returnedFeaturedPlaylists = featuredPlaylists.Playlists.Items.Where(playlist => playlist.Name.ToLower().Contains(s.ToLower())).ToList(); return(returnedPlaylists.Concat(returnedFeaturedPlaylists)); } }
public IEnumerator loadStuff() { yield return(new WaitForSeconds(2)); FeaturedPlaylists featuredPlaylists = spotifyManagerScript.GetFeaturedPlaylists(); for (int i = 0; i < meshRenderers.Length; i++) { string featuredPlaylistImageURL = featuredPlaylists.Playlists.Items[i].Images[0].Url; GameObject meshRendererGameObject = meshRenderers[i].transform.gameObject; PlaylistScript playlistScript = meshRendererGameObject.GetComponent <PlaylistScript>(); // playlistScript.setPlaylistURI(featuredPlaylists.Playlists.Items[i].Uri); WWW imageURLWWW = new WWW(featuredPlaylistImageURL); yield return(imageURLWWW); meshRenderers[i].material.mainTexture = imageURLWWW.texture; playlistScript.setPlaylistName(featuredPlaylists.Playlists.Items[i].Name); playlistScript.setPlaylistURI(featuredPlaylists.Playlists.Items[i].Uri); } }
/// <summary> /// Free up memory /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public async void Page_Unloaded(object sender, RoutedEventArgs e) { if (App.isInBackgroundMode) { featuredOffset = 0; newReleasesOffset = 0; await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { MainPivot.SelectionChanged -= MainPivot_SelectionChanged; FeaturedPlaylists.ItemClick -= FeaturedPlaylist_ItemClick; FeaturedPlaylists.ClearValue(XYFocusUpProperty); while (FeaturedPlaylists.Items.Count > 0) { PlaylistHero playlistHero = FeaturedPlaylists.Items.ElementAt(0) as PlaylistHero; FeaturedPlaylists.Items.Remove(playlistHero); playlistHero.Unload(); } FeaturedRefresh.Click -= FeaturedRefresh_Click; FeaturedMore.Click -= FeaturedMore_Click; NewReleasesAlbums.ItemClick -= NewReleasesAlbums_ItemClick; NewReleasesAlbums.ClearValue(XYFocusUpProperty); while (NewReleasesAlbums.Items.Count > 0) { AlbumHero albumHero = NewReleasesAlbums.Items.ElementAt(0) as AlbumHero; NewReleasesAlbums.Items.Remove(albumHero); albumHero.Unload(); } NewReleasesRefresh.Click -= NewReleasesRefresh_Click; NewReleasesMore.Click -= NewReleasesMore_Click; }); } }
public IEnumerator loadFeaturedPlaylists() { yield return(new WaitForSeconds(2)); FeaturedPlaylists featuredPlaylists = spotifyManagerScript.GetFeaturedPlaylists(); for (int i = 0; i < meshRenderers.Length; i++) { string featuredPlaylistImageURL = featuredPlaylists.Playlists.Items[i].Images[0].Url; GameObject meshRendererGameObject = meshRenderers[i].transform.gameObject; if (meshRendererGameObject.tag != "back") { PlaylistScript playlistScript = meshRendererGameObject.GetComponent <PlaylistScript>(); WWW imageURLWWW = new WWW(featuredPlaylistImageURL); yield return(imageURLWWW); meshRenderers[i].material.mainTexture = imageURLWWW.texture; playlistScript.setPlaylistName(featuredPlaylists.Playlists.Items[i].Name); playlistScript.setPlaylistURI(featuredPlaylists.Playlists.Items[i].Uri); playlistScript.setSimplePlaylist(featuredPlaylists.Playlists.Items[i]); playlistScript.sprite = ConvertWWWToSprite(imageURLWWW); playlistScript.ownerId = featuredPlaylists.Playlists.Items[i].Owner.Id; playlistScript.playlistId = featuredPlaylists.Playlists.Items[i].Id; saveLoad.SaveTextureToFilePNG(ConvertWWWToTexture(imageURLWWW), "featuredPlaylist" + i + ".png"); saveLoad.savedFeaturedPlaylists.Add(new PlaylistScriptData(playlistScript)); } } }
public String GetFeaturedPlayLists() { try { FeaturedPlaylists feat_play_lsts = _spotify_web_api.GetFeaturedPlaylists(null, "PT"); List <String> play_lsts_IDs = new List <string>(); feat_play_lsts.Playlists.Items.ForEach(playlist => play_lsts_IDs.Add(playlist.Id)); Random random = new Random(); int count = play_lsts_IDs.Count - 1; int index = 0; if (count != -1) { index = random.Next(0, play_lsts_IDs.Count - 1); } return(play_lsts_IDs[index]); } catch (Exception e) { Console.WriteLine(e.ToString()); return(null); } }
private IEnumerator loadPlaylistsObjectsWithPrefab() { FeaturedPlaylists playlists = _spotify.GetFeaturedPlaylists(); if (playlists != null) { Debug.Log(playlists.ToString()); } else { Debug.Log("Null Playlists"); } for (int i = 0; i < playlists.Playlists.Items.Count; i++) { SimplePlaylist playlist = playlists.Playlists.Items [i]; GameObject gameObject = Instantiate(prefab, new Vector3(((i * 1) - 10), 0.2f, 3), Quaternion.identity); string playlistImageURL = playlist.Images [0].Url; WWW imageURLWWW = new WWW(playlistImageURL); yield return(imageURLWWW); GameObject gameObjectQuad = gameObject.transform.GetChild(0).gameObject; Renderer renderer = gameObjectQuad.GetComponent <MeshRenderer> (); renderer.material.mainTexture = imageURLWWW.texture; UnityEngine.UI.Text playlistName = gameObject.GetComponentInChildren <UnityEngine.UI.Text> (); playlistName.text = playlist.Name; UnityEngine.UI.Text playlistDescription = gameObject.GetComponentInChildren <UnityEngine.UI.Text> (); playlistDescription.text = playlist.SnapshotId; } }
public FeaturedPlaylists GetFeaturedPlaylists() { FeaturedPlaylists playlists = _spotify.GetFeaturedPlaylists(); return(playlists); }
/// <summary> /// User wishes to load more Featured Playlists /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void FeaturedMore_Click(object sender, RoutedEventArgs e) { FeaturedPlaylists.Focus(FocusState.Programmatic); featuredOffset += featuredLimit; await LoadFeaturedPlaylists(); }