コード例 #1
0
        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);
        }
コード例 #2
0
        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
                }
            }
        }