From b85d99586074a8781f58734239e1865e7f41b54a Mon Sep 17 00:00:00 2001 From: DaveTBlake Date: Thu, 21 Mar 2019 13:42:06 +0000 Subject: [PATCH] Export all art types for albums and artists, not just thumb and fanart --- xbmc/music/MusicDatabase.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/xbmc/music/MusicDatabase.cpp b/xbmc/music/MusicDatabase.cpp index c3a750e7d2eed..6c30e58f3a1d0 100644 --- a/xbmc/music/MusicDatabase.cpp +++ b/xbmc/music/MusicDatabase.cpp @@ -9643,10 +9643,15 @@ void CMusicDatabase::ExportToXML(const CLibExportSettings& settings, CGUIDialog { // Save art in album folder // Note thumb resoluton may be lower than original when overwriting - std::string thumb = GetArtForItem(album.idAlbum, MediaTypeAlbum, "thumb"); - std::string imagePath = URIUtils::AddFileToFolder(strPath, "folder.jpg"); - if (!thumb.empty() && (settings.m_overwrite || !CFile::Exists(imagePath))) - CTextureCache::GetInstance().Export(thumb, imagePath); + std::map artwork; + if (GetArtForItem(album.idAlbum, MediaTypeAlbum, artwork)) + { + for (const auto &art : artwork) + { + std::string savedArtfile = URIUtils::AddFileToFolder(strPath, art.first); + CTextureCache::GetInstance().Export(art.second, savedArtfile, settings.m_overwrite); + } + } } xmlDoc.Clear(); TiXmlDeclaration decl("1.0", "UTF-8", "yes"); @@ -9758,12 +9763,11 @@ void CMusicDatabase::ExportToXML(const CLibExportSettings& settings, CGUIDialog { if (GetArtForItem(artist.idArtist, MediaTypeArtist, artwork)) { - std::string savedThumb = URIUtils::AddFileToFolder(strPath, "folder.jpg"); - std::string savedFanart = URIUtils::AddFileToFolder(strPath, "fanart.jpg"); - if (artwork.find("thumb") != artwork.end() && (settings.m_overwrite || !CFile::Exists(savedThumb))) - CTextureCache::GetInstance().Export(artwork["thumb"], savedThumb); - if (artwork.find("fanart") != artwork.end() && (settings.m_overwrite || !CFile::Exists(savedFanart))) - CTextureCache::GetInstance().Export(artwork["fanart"], savedFanart); + for (const auto &art : artwork) + { + std::string savedArtfile = URIUtils::AddFileToFolder(strPath, art.first); + CTextureCache::GetInstance().Export(art.second, savedArtfile, settings.m_overwrite); + } } } xmlDoc.Clear();