private void LoadNewTrackAlbumArtIfPresent(NewTrackLoadedEventArgs newTrackArgs)
        {
            var albumId = newTrackArgs.Track.Album?.Id;

            try
            {
                if (albumId.HasValue && _albumArtCache.CheckCacheForAlbum(albumId.Value))
                {
                    var albumArtCachedImagePath = _albumArtCache.GetAlbumArtPathFromCache(albumId.Value);
                    UpdateAlbumArt(albumArtCachedImagePath);

                    return;
                }

                if (!newTrackArgs.Track.Metadata.HasAlbumArt)
                {
                    UpdateAlbumArt(ImageResources.DefaultAlbumArtUri);
                    return;
                }

                var albumArtTempImagePath = newTrackArgs.Track.Metadata.SaveAlbumArtToTempFile();
                UpdateAlbumArt(albumArtTempImagePath);
            }
            catch
            {
                UpdateAlbumArt(ImageResources.DefaultAlbumArtUri);
            }
        }
Example #2
0
        /// <summary>
        ///
        /// </summary>
        private void CallNewTrackEventHandlers(bool skippingTrack)
        {
            if (!skippingTrack && Tracks.Count > 0 && (_currentTrackIndex > -1 && _currentTrackIndex < Tracks.Count))
            {
                // Register track as recently played with music library and
                // load current track into media player.
                var currentTrack = Tracks[_currentTrackIndex];

                _musicLibrary.RecentlyPlayed.Add(currentTrack);

                if (NewTrackLoaded != null)
                {
                    var newTrackArgs = new NewTrackLoadedEventArgs
                    {
                        Track      = Tracks[_currentTrackIndex],
                        TrackIndex = _currentTrackIndex
                    };

                    NewTrackLoaded(this, newTrackArgs);
                }
            }
        }