public static BitmapImage GetSoundCloudImage(SoundCloudTrack track, DirectoryInfo di, ImageQuality quality, bool checkQuality) { string name = string.Format("{0}_{1}.jpg", track.SoundCloudID, SoundCloudApi.GetQualityModifier(quality)); if (di.Exists) { return(di.GetFiles("*.jpg").Where(item => !checkQuality || item.Name.ToLower() == name).Select(item => new BitmapImage(new Uri(item.FullName))).FirstOrDefault()); } return(null); }
protected async override Task LoadImage(DirectoryInfo albumCoverDirectory) { if (albumCoverDirectory.Exists) { var regex = new Regex(HurricaneSettings.Instance.Config.LoadAlbumCoverFromInternet ? string.Format("^{0}_{1}.", SoundCloudID, SoundCloudApi.GetQualityModifier(HurricaneSettings.Instance.Config.DownloadAlbumCoverQuality)) : string.Format("^{0}_", SoundCloudID)); var imageFile = albumCoverDirectory.GetFiles().FirstOrDefault(item => regex.IsMatch(item.Name.ToLower())); if (imageFile != null) { Image = new BitmapImage(new Uri(imageFile.FullName)); return; } Image = MusicCoverManager.GetAlbumImage(this, albumCoverDirectory); if (Image != null) { return; } } if (HurricaneSettings.Instance.Config.LoadAlbumCoverFromInternet) { try { if (!string.IsNullOrEmpty(ArtworkUrl)) { Image = await SoundCloudApi.LoadBitmapImage(this, HurricaneSettings.Instance.Config.DownloadAlbumCoverQuality, albumCoverDirectory); if (Image != null) { return; } } Image = await MusicCoverManager.LoadCoverFromWeb(this, albumCoverDirectory, Uploader != Artist); } catch (WebException) { //Happens, doesn't matter } } }