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)); }
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("> "); }
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(); }
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); }
void PrintArtistBrowse(ArtistBrowse aArtistBrowse) { Printing.PrintArtistBrowse(iSession, aArtistBrowse); }
private void ArtistBrowseCallBack(ArtistBrowse browse, object userdata) { //Implementation not required, but method must exist. }