Example #1
0
        public static bool HasValidArtworkKey(ILibraryEntry libraryEntry)
        {
            if (libraryEntry.IsUnknown(x => x.AlbumArtists) ||
                libraryEntry.IsUnknown(x => x.Album))
            {
                return(false);
            }

            return(true);
        }
Example #2
0
        public static async Task <SerializableBitmap> DownloadArtwork(ILibraryEntry entry)
        {
            if (entry.IsUnknown(x => x.Album) ||
                entry.IsUnknown(x => x.AlbumArtists))
            {
                return(await Task.FromResult <SerializableBitmap>(null));
            }

            else
            {
                try
                {
                    // Last FM API
                    var client = new LastfmClient(WebConfiguration.LastFmAPIKey, WebConfiguration.LastFmAPISecret);

                    // Web Call ...
                    var response = await client.Album.GetInfoAsync(entry.AlbumArtists.First(), entry.Album, false);

                    // Status OK -> Create bitmap image from the url
                    if (response.Status == LastResponseStatus.Successful &&
                        response.Content.Images.Any())
                    {
                        return(await DownloadImage(response.Content.Images.ExtraLarge.AbsoluteUri));
                    }

                    else
                    {
                        return(await Task.FromResult <SerializableBitmap>(null));
                    }
                }
                catch (Exception)
                {
                    return(await Task.FromResult <SerializableBitmap>(null));
                }
            }
        }