Fixed unity build

This commit is contained in:
emeric
2025-06-21 18:52:57 +02:00
parent dd2f97903e
commit 67db09685d
2 changed files with 23 additions and 23 deletions
@@ -45,8 +45,8 @@ namespace lms::scanner
{ {
namespace namespace
{ {
using Artwork = std::variant<std::monostate, db::TrackEmbeddedImageId, db::ImageId>; using ReleaseArtwork = std::variant<std::monostate, db::TrackEmbeddedImageId, db::ImageId>;
bool isSameArtwork(Artwork preferredArtwork, const db::ObjectPtr<db::Artwork>& artwork) bool isSameArtwork(ReleaseArtwork preferredArtwork, const db::ObjectPtr<db::Artwork>& artwork)
{ {
if (std::holds_alternative<std::monostate>(preferredArtwork)) if (std::holds_alternative<std::monostate>(preferredArtwork))
return !artwork; return !artwork;
@@ -63,7 +63,7 @@ namespace lms::scanner
struct ReleaseImageAssociation struct ReleaseImageAssociation
{ {
db::ReleaseId releaseId; db::ReleaseId releaseId;
Artwork preferredArtwork; ReleaseArtwork preferredArtwork;
}; };
using ReleaseImageAssociationContainer = std::deque<ReleaseImageAssociation>; using ReleaseImageAssociationContainer = std::deque<ReleaseImageAssociation>;
@@ -149,11 +149,11 @@ namespace lms::scanner
return image; return image;
} }
Artwork computePreferredReleaseArtwork(SearchReleaseImageContext& searchContext, const db::Release::pointer& release) ReleaseArtwork computePreferredReleaseArtwork(SearchReleaseImageContext& searchContext, const db::Release::pointer& release)
{ {
const db::Image::pointer image{ computePreferredReleaseImage(searchContext, release) }; const db::Image::pointer image{ computePreferredReleaseImage(searchContext, release) };
if (image) if (image)
return Artwork{ image->getId() }; return ReleaseArtwork{ image->getId() };
// Fallback on embedded Front image // Fallback on embedded Front image
db::TrackEmbeddedImageId trackEmbeddedImageId; db::TrackEmbeddedImageId trackEmbeddedImageId;
@@ -168,7 +168,7 @@ namespace lms::scanner
} }
if (trackEmbeddedImageId.isValid()) if (trackEmbeddedImageId.isValid())
return Artwork{ trackEmbeddedImageId }; return ReleaseArtwork{ trackEmbeddedImageId };
// Fallback on embedded media image // Fallback on embedded media image
{ {
@@ -182,9 +182,9 @@ namespace lms::scanner
} }
if (trackEmbeddedImageId.isValid()) if (trackEmbeddedImageId.isValid())
return Artwork{ trackEmbeddedImageId }; return ReleaseArtwork{ trackEmbeddedImageId };
return Artwork{}; return ReleaseArtwork{};
} }
bool fetchNextReleaseArtworksToUpdate(SearchReleaseImageContext& searchContext, ReleaseImageAssociationContainer& releaseImageAssociations) bool fetchNextReleaseArtworksToUpdate(SearchReleaseImageContext& searchContext, ReleaseImageAssociationContainer& releaseImageAssociations)
@@ -197,7 +197,7 @@ namespace lms::scanner
auto transaction{ searchContext.session.createReadTransaction() }; auto transaction{ searchContext.session.createReadTransaction() };
db::Release::find(searchContext.session, searchContext.lastRetrievedReleaseId, readBatchSize, [&](const db::Release::pointer& release) { db::Release::find(searchContext.session, searchContext.lastRetrievedReleaseId, readBatchSize, [&](const db::Release::pointer& release) {
const Artwork preferredArtwork{ computePreferredReleaseArtwork(searchContext, release) }; const ReleaseArtwork preferredArtwork{ computePreferredReleaseArtwork(searchContext, release) };
const db::Artwork::pointer currentPreferredArtwork{ release->getPreferredArtwork() }; const db::Artwork::pointer currentPreferredArtwork{ release->getPreferredArtwork() };
if (!isSameArtwork(preferredArtwork, currentPreferredArtwork)) if (!isSameArtwork(preferredArtwork, currentPreferredArtwork))
@@ -42,8 +42,8 @@ namespace lms::scanner
namespace namespace
{ {
// May come from an embedded image in a track, or from what has been previously resolved for the release // May come from an embedded image in a track, or from what has been previously resolved for the release
using Artwork = std::variant<std::monostate, db::TrackEmbeddedImageId, db::ArtworkId>; using TrackArtwork = std::variant<std::monostate, db::TrackEmbeddedImageId, db::ArtworkId>;
bool isSameArtwork(Artwork preferredArtwork, const db::ObjectPtr<db::Artwork>& artwork) bool isSameArtwork(TrackArtwork preferredArtwork, const db::ObjectPtr<db::Artwork>& artwork)
{ {
if (std::holds_alternative<std::monostate>(preferredArtwork)) if (std::holds_alternative<std::monostate>(preferredArtwork))
return !artwork; return !artwork;
@@ -57,7 +57,7 @@ namespace lms::scanner
return false; return false;
} }
bool isValid(const Artwork& res) bool isValid(const TrackArtwork& res)
{ {
return !std::holds_alternative<std::monostate>(res); return !std::holds_alternative<std::monostate>(res);
} }
@@ -65,8 +65,8 @@ namespace lms::scanner
struct TrackImageAssociation struct TrackImageAssociation
{ {
db::Track::pointer track; db::Track::pointer track;
Artwork preferredArtwork; TrackArtwork preferredArtwork;
Artwork preferredMediaArtwork; TrackArtwork preferredMediaArtwork;
}; };
using TrackImageAssociationContainer = std::deque<TrackImageAssociation>; using TrackImageAssociationContainer = std::deque<TrackImageAssociation>;
@@ -77,10 +77,10 @@ namespace lms::scanner
std::size_t processedTrackCount{}; std::size_t processedTrackCount{};
}; };
Artwork computePreferredTrackArtwork(SearchTrackImageContext& searchContext, const db::Track::pointer& track) TrackArtwork computePreferredTrackArtwork(SearchTrackImageContext& searchContext, const db::Track::pointer& track)
{ {
// Try to get a media image // Try to get a media image
Artwork res; TrackArtwork res;
{ {
db::TrackEmbeddedImage::FindParameters params; db::TrackEmbeddedImage::FindParameters params;
params.setTrack(track->getId()); params.setTrack(track->getId());
@@ -96,7 +96,7 @@ namespace lms::scanner
// Fallback on another track of the same disc // Fallback on another track of the same disc
const db::ReleaseId releaseId{ track->getReleaseId() }; const db::ReleaseId releaseId{ track->getReleaseId() };
if (!releaseId.isValid()) if (!releaseId.isValid())
return Artwork{}; return res;
{ {
db::TrackEmbeddedImage::FindParameters params; db::TrackEmbeddedImage::FindParameters params;
@@ -135,9 +135,9 @@ namespace lms::scanner
return res; return res;
} }
Artwork computePreferredTrackMediaArtwork(SearchTrackImageContext& searchContext, const db::Track::pointer& track) TrackArtwork computePreferredTrackMediaArtwork(SearchTrackImageContext& searchContext, const db::Track::pointer& track)
{ {
Artwork res; TrackArtwork res;
{ {
db::TrackEmbeddedImage::FindParameters params; db::TrackEmbeddedImage::FindParameters params;
params.setTrack(track->getId()); params.setTrack(track->getId());
@@ -175,8 +175,8 @@ namespace lms::scanner
auto transaction{ searchContext.session.createReadTransaction() }; auto transaction{ searchContext.session.createReadTransaction() };
db::Track::find(searchContext.session, searchContext.lastRetrievedTrackId, readBatchSize, [&](const db::Track::pointer& track) { db::Track::find(searchContext.session, searchContext.lastRetrievedTrackId, readBatchSize, [&](const db::Track::pointer& track) {
const Artwork preferredArtwork{ computePreferredTrackArtwork(searchContext, track) }; const TrackArtwork preferredArtwork{ computePreferredTrackArtwork(searchContext, track) };
const Artwork preferredMediaArtwork{ computePreferredTrackMediaArtwork(searchContext, track) }; const TrackArtwork preferredMediaArtwork{ computePreferredTrackMediaArtwork(searchContext, track) };
const db::Artwork::pointer currentPreferredArtwork{ track->getPreferredArtwork() }; const db::Artwork::pointer currentPreferredArtwork{ track->getPreferredArtwork() };
const db::Artwork::pointer currentPreferredMediaArtwork{ track->getPreferredMediaArtwork() }; const db::Artwork::pointer currentPreferredMediaArtwork{ track->getPreferredMediaArtwork() };
@@ -194,7 +194,7 @@ namespace lms::scanner
return trackId != searchContext.lastRetrievedTrackId; return trackId != searchContext.lastRetrievedTrackId;
} }
void updateTrackPreferredArtwork(db::Session& session, db::Track::pointer& track, Artwork preferredArtwork) void updateTrackPreferredArtwork(db::Session& session, db::Track::pointer& track, TrackArtwork preferredArtwork)
{ {
db::Artwork::pointer artwork; db::Artwork::pointer artwork;
if (const db::TrackEmbeddedImageId * trackEmbeddedImageId{ std::get_if<db::TrackEmbeddedImageId>(&preferredArtwork) }) if (const db::TrackEmbeddedImageId * trackEmbeddedImageId{ std::get_if<db::TrackEmbeddedImageId>(&preferredArtwork) })
@@ -210,7 +210,7 @@ namespace lms::scanner
LMS_LOG(DBUPDATER, DEBUG, "Removed preferred artwork from track " << track->getAbsoluteFilePath()); LMS_LOG(DBUPDATER, DEBUG, "Removed preferred artwork from track " << track->getAbsoluteFilePath());
} }
void updateTrackPreferredMediaArtwork(db::Session& session, db::Track::pointer& track, Artwork preferredArtwork) void updateTrackPreferredMediaArtwork(db::Session& session, db::Track::pointer& track, TrackArtwork preferredArtwork)
{ {
db::Artwork::pointer artwork; db::Artwork::pointer artwork;
if (const db::TrackEmbeddedImageId * trackEmbeddedImageId{ std::get_if<db::TrackEmbeddedImageId>(&preferredArtwork) }) if (const db::TrackEmbeddedImageId * trackEmbeddedImageId{ std::get_if<db::TrackEmbeddedImageId>(&preferredArtwork) })