Example #1
0
        public IEnumerable <Artist> Search(string query)
        {
            ArtistBrowse artists = Api <ArtistBrowse> .Get
                                   .WithLetter(query)
                                   .Please();

            return(artists.Artists);
        }
        public async Task <ArtistBrowse> FetchArtist(string linkStr)
        {
            var link   = Link.CreateFromString(linkStr);
            var artist = ArtistBrowse.Create(_session, link.AsArtist(), ArtistBrowseType.Full, ArtistBrowseCallBack, _session.UserData);

            await WaitForBool(artist.IsLoaded);

            return(artist);
        }
        public void Can_hit_endpoint()
        {
            ArtistBrowse artistBrowse = Api <ArtistBrowse>
                                        .Get.WithParameter("letter", "radio").Please();

            Assert.That(artistBrowse, Is.Not.Null);
            Assert.That(artistBrowse.Page, Is.EqualTo(1));
            Assert.That(artistBrowse.PageSize, Is.EqualTo(10));
            Assert.That(artistBrowse.Artists.Count, Is.GreaterThan(0));
        }
        public void Can_hit_endpoint_with_paging()
        {
            ArtistBrowse artistBrowse = Api <ArtistBrowse> .Get
                                        .WithParameter("letter", "radio")
                                        .WithParameter("page", "2")
                                        .WithParameter("pageSize", "20")
                                        .Please();

            Assert.That(artistBrowse, Is.Not.Null);
            Assert.That(artistBrowse.Page, Is.EqualTo(2));
            Assert.That(artistBrowse.PageSize, Is.EqualTo(20));
        }
Example #5
0
 void BrowseArtistCallback(ArtistBrowse aResult, object aUserdata)
 {
     try
     {
         aResult.Error();
         PrintArtistBrowse(aResult);
     }
     catch (SpotifyException e)
     {
         Console.Error.WriteLine("Failed to browse artist: {0}", e.Message);
     }
     aResult.Dispose();
     iConsoleReader.RequestInput("> ");
 }
Example #6
0
 public static void PrintArtistBrowse(SpotifySession aSession, ArtistBrowse aArtistBrowse)
 {
     Console.WriteLine("Artist browse of \"{0}\"", aArtistBrowse.Artist().Name());
     for (int i = 0; i != aArtistBrowse.NumSimilarArtists(); ++i)
     {
         Console.WriteLine("  Similar artist: {0}", aArtistBrowse.SimilarArtist(i).Name());
     }
     Console.WriteLine("  Portraits: {0}", aArtistBrowse.NumPortraits());
     Console.WriteLine("  Tracks: {0}", aArtistBrowse.NumTracks());
     Console.WriteLine("  Biography: {0}", Truncate(aArtistBrowse.Biography(), 60));
     Console.WriteLine();
     for (int i = 0; i != aArtistBrowse.NumTracks(); ++i)
     {
         PrintTrack(aSession, aArtistBrowse.Track(i));
     }
     Console.WriteLine();
 }
Example #7
0
        public int CmdBrowse(string[] args)
        {
            if (args.Length != 2)
            {
                Console.Error.WriteLine("Usage: browse <spotify-url>");
                return(-1);
            }
            var link = Link.CreateFromString(args[1]);

            if (link == null)
            {
                Console.Error.WriteLine("Not a spotify link");
                return(-1);
            }
            switch (link.Type())
            {
            default:
                Console.Error.WriteLine("Can not handle link");
                link.Release();
                return(-1);

            case LinkType.Album:
                AlbumBrowse.Create(iSession, link.AsAlbum(), BrowseAlbumCallback, null);
                break;

            case LinkType.Artist:
                ArtistBrowse.Create(iSession, link.AsArtist(), ArtistBrowseType.Full, BrowseArtistCallback, null);
                break;

            case LinkType.Localtrack:
            case LinkType.Track:
                iTrackBrowse = link.AsTrack();
                iMetadataWaiter.AddMetadataUpdatedCallback(TrackBrowseTry);
                iTrackBrowse.AddRef();
                TrackBrowseTry();
                break;

            case LinkType.Playlist:
                BrowsePlaylist(Playlist.Create(iSession, link));
                break;
            }
            link.Release();
            return(0);
        }
Example #8
0
 void PrintArtistBrowse(ArtistBrowse aArtistBrowse)
 {
     Printing.PrintArtistBrowse(iSession, aArtistBrowse);
 }
 private void ArtistBrowseCallBack(ArtistBrowse browse, object userdata)
 {
     //Implementation not required, but method must exist.
 }