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);
   }
 }
Ejemplo n.º 3
0
 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);
   }
 }
Ejemplo n.º 5
0
    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);
      }
    }