From f9ec438b7f27540c5fb53e06c87d18311b31aa62 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Sat, 3 Dec 2022 23:23:18 +0100 Subject: [PATCH] Don't remove disc from album title when creating cover hash Fixes #1069 --- src/core/song.cpp | 7 ++----- src/covermanager/albumcoverloader.cpp | 8 ++++---- src/covermanager/albumcoverloader.h | 4 ++-- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/core/song.cpp b/src/core/song.cpp index 512c93c82..d8312b455 100644 --- a/src/core/song.cpp +++ b/src/core/song.cpp @@ -1077,12 +1077,9 @@ void Song::InitFromFilePartial(const QString &filename, const QFileInfo &fileinf void Song::InitArtManual() { - QString album = effective_album(); - album.remove(Song::kAlbumRemoveDisc); - // If we don't have an art, check if we have one in the cache - if (d->art_manual_.isEmpty() && d->art_automatic_.isEmpty() && !effective_albumartist().isEmpty() && !album.isEmpty()) { - QString filename(Utilities::Sha1CoverHash(effective_albumartist(), album).toHex() + ".jpg"); + if (d->art_manual_.isEmpty() && d->art_automatic_.isEmpty() && !effective_albumartist().isEmpty() && !effective_album().isEmpty()) { + QString filename(Utilities::Sha1CoverHash(effective_albumartist(), effective_album()).toHex() + ".jpg"); QString path(ImageCacheDir(d->source_) + "/" + filename); if (QFile::exists(path)) { d->art_manual_ = QUrl::fromLocalFile(path); diff --git a/src/covermanager/albumcoverloader.cpp b/src/covermanager/albumcoverloader.cpp index 76423788e..599040e8b 100644 --- a/src/covermanager/albumcoverloader.cpp +++ b/src/covermanager/albumcoverloader.cpp @@ -127,9 +127,7 @@ QString AlbumCoverLoader::CoverFilePath(const Song &song, const QString &album_d return CoverFilePath(song.source(), song.effective_albumartist(), song.album(), song.album_id(), album_dir, cover_url, extension); } -QString AlbumCoverLoader::CoverFilePath(const Song::Source source, const QString &artist, QString album, const QString &album_id, const QString &album_dir, const QUrl &cover_url, const QString &extension) { - - album.remove(Song::kAlbumRemoveDisc); +QString AlbumCoverLoader::CoverFilePath(const Song::Source source, const QString &artist, const QString &album, const QString &album_id, const QString &album_dir, const QUrl &cover_url, const QString &extension) { QString path; if (source == Song::Source_Collection && save_cover_type_ == CollectionSettingsPage::SaveCoverType_Album && !album_dir.isEmpty()) { @@ -213,7 +211,9 @@ QString AlbumCoverLoader::CoverFilenameFromSource(const Song::Source source, con } -QString AlbumCoverLoader::CoverFilenameFromVariable(const QString &artist, const QString &album, const QString &extension) { +QString AlbumCoverLoader::CoverFilenameFromVariable(const QString &artist, QString album, const QString &extension) { + + album = album.remove(Song::kAlbumRemoveDisc); QString filename(cover_pattern_); filename.replace("%albumartist", artist); diff --git a/src/covermanager/albumcoverloader.h b/src/covermanager/albumcoverloader.h index b80a2a38e..dd2b32389 100644 --- a/src/covermanager/albumcoverloader.h +++ b/src/covermanager/albumcoverloader.h @@ -68,10 +68,10 @@ class AlbumCoverLoader : public QObject { static QString AlbumCoverFilename(QString artist, QString album, const QString &extension); static QString CoverFilenameFromSource(const Song::Source source, const QUrl &cover_url, const QString &artist, const QString &album, const QString &album_id, const QString &extension); - QString CoverFilenameFromVariable(const QString &artist, const QString &album, const QString &extension = QString()); + QString CoverFilenameFromVariable(const QString &artist, QString album, const QString &extension = QString()); QString CoverFilePath(const Song &song, const QString &album_dir, const QUrl &cover_url, const QString &extension = QString()); - QString CoverFilePath(const Song::Source source, const QString &artist, QString album, const QString &album_id, const QString &album_dir, const QUrl &cover_url, const QString &extension = QString()); + QString CoverFilePath(const Song::Source source, const QString &artist, const QString &album, const QString &album_id, const QString &album_dir, const QUrl &cover_url, const QString &extension = QString()); quint64 LoadImageAsync(const AlbumCoverLoaderOptions &options, const Song &song); quint64 LoadImageAsync(const AlbumCoverLoaderOptions &options, const QUrl &art_automatic, const QUrl &art_manual, const QUrl &song_url = QUrl(), const Song::Source song_source = Song::Source_Unknown);