From 32c2b7d46d95322fd249a5394ba1399ebef0ff20 Mon Sep 17 00:00:00 2001 From: night199uk Date: Wed, 20 Nov 2013 00:42:54 +0800 Subject: [musicdb] fix artist fanart in infoscanner --- xbmc/music/infoscanner/MusicInfoScanner.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/xbmc/music/infoscanner/MusicInfoScanner.cpp b/xbmc/music/infoscanner/MusicInfoScanner.cpp index 9ca57980ed..52eea472d0 100644 --- a/xbmc/music/infoscanner/MusicInfoScanner.cpp +++ b/xbmc/music/infoscanner/MusicInfoScanner.cpp @@ -715,6 +715,24 @@ int CMusicInfoScanner::RetrieveMusicInfo(const CStdString& strDirectory, CFileIt album->strPath = strDirectory; m_musicDatabase.AddAlbum(*album); + + // Yuk - this is a kludgy way to do what we want to do, but it will work to sort + // out artist fanart until we can restructure the artist fanart to work more + // like the album fanart. This has to be done after we've added the album so + // we have the artist IDs to update, but before we call UpdateDatabaseArtistInfo. + if (albums.size() == 1 && + album->artistCredits.size() > 0 && + !StringUtils::EqualsNoCase(album->artistCredits[0].GetArtist(), "various artists") && + !StringUtils::EqualsNoCase(album->artistCredits[0].GetArtist(), "various")) + { + CArtist artist; + if (m_musicDatabase.GetArtist(album->artistCredits[0].GetArtistId(), artist)) + { + artist.strPath = URIUtils::GetParentPath(strDirectory); + m_musicDatabase.SetArtForItem(artist.idArtist, "artist", GetArtistArtwork(artist)); + } + } + if ((m_flags & SCAN_ONLINE)) { if (!albumScraper || !artistScraper) -- cgit v1.2.3