private void DoUpdateArtistInfo(ArtistInfoRequest request, Song song) { // artist tag can contain multiple artists and // will be separated by " | " so split by | then trim // so we will add one thumb for artist String[] strArtists = CurrentTrackTag.Artist.Split('|'); foreach (String strArtist in strArtists) { CurrentThumbFileName = Util.Utils.GetCoverArtName(Thumbs.MusicArtists, Util.Utils.MakeFileName(strArtist.Trim())); if (CurrentThumbFileName.Length > 0) { // let us test if there is a larger cover art image string strLarge = Util.Utils.ConvertToLargeCoverArt(CurrentThumbFileName); if (Util.Utils.FileExistsInCache(strLarge)) { CurrentThumbFileName = strLarge; } AddImageToImagePathContainer(CurrentThumbFileName); UpdateImagePathContainer(); } } }
public void OnUpdateArtistInfoCompleted(ArtistInfoRequest request, Song song) { if (request.Equals(_lastArtistRequest)) { GUIGraphicsContext.form.Invoke(new ArtistInfoCompletedDelegate(DoUpdateArtistInfo), new object[] {request, song}); } else { Log.Warn("NowPlaying.OnUpdateArtistInfoCompleted: unexpected response for request: {0}", request.Type); } }
public void OnUpdateArtistCoverCompleted(ArtistInfoRequest request, Song song) { if (request.Equals(_lastArtistCoverRequest)) { string ThumbFileName = Util.Utils.GetCoverArtName(Thumbs.MusicArtists, AudioscrobblerBase.CurrentPlayingSong.Artist); // If the download was unsuccessful or disabled in config then do not remove a possibly present placeholder by specifing a not existing file if (Util.Utils.FileExistsInCache(ThumbFileName)) { GUIGraphicsContext.form.Invoke(new ThreadUpdateThumb(SetThumbnails), new object[] {ThumbFileName}); } } else { Log.Warn("NowPlaying.OnUpdateArtistInfoCompleted: unexpected response for request: {0}", request.Type); } }
/// <summary> /// Updates the artist info for the current track playing. /// The artist info is fetched asynchronously by adding a request onto the request queue of the AudioScrobblerUtils /// class. The response will be received via callback by a delegate (OnUpdateArtistInfoCompleted). /// </summary> private void UpdateArtistInfo() { string CurrentArtist = CleanTagString(CurrentTrackTag.Artist); if (_doArtistLookups) { if (CurrentTrackTag == null) { return; } if (CurrentTrackTag.Artist == string.Empty) { Log.Warn("GUIMusicPlayingNow: current tag invalid for artist info lookup. File: {0}", g_Player.CurrentFile); return; } ArtistInfoRequest request = new ArtistInfoRequest( CurrentArtist, new ArtistInfoRequest.ArtistInfoRequestHandler(OnUpdateArtistInfoCompleted) ); _lastArtistRequest = request; InfoScrobbler.AddRequest(request); } else { // if internet lookups are disabled just attempt to load local thumb DoUpdateArtistInfo(null, null); } }
private void UpdateArtistInfo(string _trackArtist) { if (_trackArtist == null) { return; } if (_trackArtist != String.Empty) { ArtistInfoRequest request = new ArtistInfoRequest( _trackArtist, new ArtistInfoRequest.ArtistInfoRequestHandler(OnUpdateArtistCoverCompleted)); _lastArtistCoverRequest = request; InfoScrobbler.AddRequest(request); SimilarArtistRequest request2 = new SimilarArtistRequest( _trackArtist, false, new SimilarArtistRequest.SimilarArtistRequestHandler(OnUpdateSimilarArtistsCompleted)); _lastSimilarArtistRequest = request2; _similarArtistCache.Clear(); InfoScrobbler.AddRequest(request2); } }