Use other track front cover as a last fallback option
This commit is contained in:
@@ -203,7 +203,7 @@ namespace lms::artwork
|
|||||||
if (isImageFound(res))
|
if (isImageFound(res))
|
||||||
return res;
|
return res;
|
||||||
|
|
||||||
// Fallback on front cover
|
// Fallback on front cover for this track
|
||||||
{
|
{
|
||||||
db::TrackEmbeddedImage::FindParameters params;
|
db::TrackEmbeddedImage::FindParameters params;
|
||||||
params.setTrack(trackId);
|
params.setTrack(trackId);
|
||||||
@@ -213,19 +213,6 @@ namespace lms::artwork
|
|||||||
db::TrackEmbeddedImage::find(session, params, [&](const db::TrackEmbeddedImage::pointer& image) { res = image->getId(); });
|
db::TrackEmbeddedImage::find(session, params, [&](const db::TrackEmbeddedImage::pointer& image) { res = image->getId(); });
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isImageFound(res))
|
|
||||||
return res;
|
|
||||||
|
|
||||||
// Fallback on whatever front cover found on the release
|
|
||||||
{
|
|
||||||
db::TrackEmbeddedImage::FindParameters params;
|
|
||||||
params.setRelease(releaseId);
|
|
||||||
params.setImageTypes({ db::ImageType::FrontCover });
|
|
||||||
params.setSortMethod(db::TrackEmbeddedImageSortMethod::SizeDesc);
|
|
||||||
params.setRange(db::Range{ .offset = 0, .size = 1 });
|
|
||||||
db::TrackEmbeddedImage::find(session, params, [&](const db::TrackEmbeddedImage::pointer& image) { res = image->getId(); });
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isImageFound(res))
|
if (isImageFound(res))
|
||||||
return res;
|
return res;
|
||||||
|
|
||||||
@@ -236,6 +223,19 @@ namespace lms::artwork
|
|||||||
res = imageId;
|
res = imageId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isImageFound(res))
|
||||||
|
return res;
|
||||||
|
|
||||||
|
// Fallback on the first front cover found on the release
|
||||||
|
{
|
||||||
|
db::TrackEmbeddedImage::FindParameters params;
|
||||||
|
params.setRelease(releaseId);
|
||||||
|
params.setImageTypes({ db::ImageType::FrontCover });
|
||||||
|
params.setSortMethod(db::TrackEmbeddedImageSortMethod::DiscNumberThenTrackNumberThenSizeDesc);
|
||||||
|
params.setRange(db::Range{ .offset = 0, .size = 1 });
|
||||||
|
db::TrackEmbeddedImage::find(session, params, [&](const db::TrackEmbeddedImage::pointer& image) { res = image->getId(); });
|
||||||
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user