コード例 #1
0
        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));
            }
        }
コード例 #2
0
    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);
        }
    }
コード例 #3
0
ファイル: Browse.xaml.cs プロジェクト: aboe026/boxify
        /// <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;
                });
            }
        }
コード例 #4
0
    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));
            }
        }
    }
コード例 #5
0
        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);
            }
        }
コード例 #6
0
    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;
        }
    }
コード例 #7
0
    public FeaturedPlaylists GetFeaturedPlaylists()
    {
        FeaturedPlaylists playlists = _spotify.GetFeaturedPlaylists();

        return(playlists);
    }
コード例 #8
0
ファイル: Browse.xaml.cs プロジェクト: aboe026/boxify
 /// <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();
 }