Exemplo n.º 1
0
        public async Task <List <Artist> > GetSimilarArtists(string artistName)
        {
            try
            {
                var lastFmClient = new HttpClient();
                var response     =
                    await
                    lastFmClient.GetStringAsync(
                        string.Format("http://ws.audioscrobbler.com/2.0/?method=artist.getsimilar&format=json&limit=8&api_key={0}&artist={1}", App.ApiKeyLastFm, artistName));

                var artists = JsonConvert.DeserializeObject <SimilarArtistInformation>(response);
                if (artists == null || !artists.Similarartists.Artist.Any())
                {
                    return(null);
                }
                var similarArtists = artists.Similarartists.Artist;
                var artistList     = new List <Artist>();
                foreach (var similarArtist in similarArtists)
                {
                    var artist = new Artist();
                    artist.MapFrom(similarArtist);
                    artistList.Add(artist);
                }
                return(artistList);
            }
            catch
            {
                Debug.WriteLine("Error getting similar artists from this artist.");
            }
            return(null);
        }
Exemplo n.º 2
0
 public async Task<List<Artist>> GetSimilarArtists(string artistName)
 {
     try
     {
         var lastFmClient = new HttpClient();
         var response =
             await
                 lastFmClient.GetStringAsync(
                     string.Format("http://ws.audioscrobbler.com/2.0/?method=artist.getsimilar&format=json&limit=8&api_key={0}&artist={1}", App.ApiKeyLastFm, artistName));
         var artists = JsonConvert.DeserializeObject<SimilarArtistInformation>(response);
         if (artists == null || !artists.Similarartists.Artist.Any()) return null;
         var similarArtists = artists.Similarartists.Artist;
         var artistList = new List<Artist>();
         foreach (var similarArtist in similarArtists)
         {
             var artist = new Artist();
             artist.MapFrom(similarArtist);
             artistList.Add(artist);
         }
         return artistList;
     }
     catch
     {
         Debug.WriteLine("Error getting similar artists from this artist.");
     }
     return null;
 }
Exemplo n.º 3
0
        public async Task <Artist> GetArtistInfo(string artistName)
        {
            try
            {
                var lastFmClient = new HttpClient();
                // Get users language/region
                // If their region is not support by LastFM, it won't return an artist biography.
                var    region = new Windows.Globalization.GeographicRegion();
                string url    =
                    string.Format(
                        "http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist={1}&api_key={0}&format=json&lang={2}",
                        App.ApiKeyLastFm, artistName, region.Code.ToLower());
                var reponse = await lastFmClient.GetStringAsync(url);

                {
                    var artistInfo = JsonConvert.DeserializeObject <ArtistInformation>(reponse);
                    if (artistInfo == null)
                    {
                        return(null);
                    }
                    if (artistInfo.Artist == null)
                    {
                        return(null);
                    }
                    var artist = new Artist();
                    artist.MapFrom(artistInfo);
                    return(artist);
                }
            }
            catch
            {
                Debug.WriteLine("Failed to get artist biography from LastFM. Returning nothing.");
            }
            return(null);
        }
Exemplo n.º 4
0
        public async Task<Artist> GetArtistInfo(string artistName)
        {
            try
            {
                var lastFmClient = new HttpClient();
                // Get users language/region
                // If their region is not support by LastFM, it won't return an artist biography.
                var region = new Windows.Globalization.GeographicRegion();
                string url =
                    string.Format(
 "http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist={1}&api_key={0}&format=json&lang={2}",
                        App.ApiKeyLastFm, artistName, region.Code.ToLower());
                var reponse = await lastFmClient.GetStringAsync(url);
                {
                    var artistInfo = JsonConvert.DeserializeObject<ArtistInformation>(reponse);
                    if (artistInfo == null) return null;
                    if (artistInfo.Artist == null) return null;
                    var artist = new Artist();
                    artist.MapFrom(artistInfo);
                    return artist;
                }
            }
            catch
            {
                Debug.WriteLine("Failed to get artist biography from LastFM. Returning nothing.");
            }
            return null;
        }
Exemplo n.º 5
0
 public async Task<Artist> GetArtistInfo(string artistName)
 {
     var music = await GetMusicEntity(artistName, new[] { Filters.Artists });
     var xboxArtistItem = music.Artists.Items.FirstOrDefault(x => x.Name == artistName) ??
                          music.Artists.Items.FirstOrDefault();
     Debug.WriteLine("XBOX Music artist found : " + xboxArtistItem.Name);
     var artist = new Artist();
     artist.MapFrom(xboxArtistItem);
     return artist;
 }
Exemplo n.º 6
0
        public async Task <Artist> GetArtistInfo(string artistName)
        {
            var music = await GetMusicEntity(artistName, new[] { Filters.Artists });

            var xboxArtistItem = music.Artists.Items.FirstOrDefault(x => x.Name == artistName) ??
                                 music.Artists.Items.FirstOrDefault();

            Debug.WriteLine("XBOX Music artist found : " + xboxArtistItem.Name);
            var artist = new Artist();

            artist.MapFrom(xboxArtistItem);
            return(artist);
        }
Exemplo n.º 7
0
 /// <summary>
 /// Get similar artists from Xbox Music (NOTE: Does not work, need required permission from Microsoft).
 /// </summary>
 /// <param name="artistId">The xbox artist Id.</param>
 /// <returns>A list of related artists.</returns>
 public async Task<List<Artist>> GetSimilarArtists(string artistId)
 {
     var music = await GetMusicEntityViaArtistId(new[] { artistId }, new[] { Extras.RelatedArtists });
     var xboxArtistItem = music.Artists.Items.FirstOrDefault();
     if (xboxArtistItem == null) return null;
     Debug.WriteLine("XBOX Music artist found : " + xboxArtistItem.Name);
     var artistList = new List<Artist>();
     foreach (var xboxArtist in xboxArtistItem.RelatedArtists.Items)
     {
         var artist = new Artist();
         artist.MapFrom(xboxArtist);
         artistList.Add(artist);
     }
     return artistList;
 }
Exemplo n.º 8
0
        /// <summary>
        /// Get similar artists from Xbox Music (NOTE: Does not work, need required permission from Microsoft).
        /// </summary>
        /// <param name="artistId">The xbox artist Id.</param>
        /// <returns>A list of related artists.</returns>
        public async Task <List <Artist> > GetSimilarArtists(string artistId)
        {
            var music = await GetMusicEntityViaArtistId(new[] { artistId }, new[] { Extras.RelatedArtists });

            var xboxArtistItem = music.Artists.Items.FirstOrDefault();

            if (xboxArtistItem == null)
            {
                return(null);
            }
            Debug.WriteLine("XBOX Music artist found : " + xboxArtistItem.Name);
            var artistList = new List <Artist>();

            foreach (var xboxArtist in xboxArtistItem.RelatedArtists.Items)
            {
                var artist = new Artist();
                artist.MapFrom(xboxArtist);
                artistList.Add(artist);
            }
            return(artistList);
        }