Now resolve the preferred track artworks during scan steps
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
|
||||
#include "core/ILogger.hpp"
|
||||
#include "database/Artist.hpp"
|
||||
#include "database/Artwork.hpp"
|
||||
#include "database/Cluster.hpp"
|
||||
#include "database/Directory.hpp"
|
||||
#include "database/MediaLibrary.hpp"
|
||||
@@ -324,6 +325,20 @@ namespace lms::db
|
||||
return utils::execRangeQuery<TrackId>(query, range);
|
||||
}
|
||||
|
||||
void Track::updatePreferredArtwork(Session& session, TrackId trackId, ArtworkId artworkId)
|
||||
{
|
||||
session.checkWriteTransaction();
|
||||
|
||||
utils::executeCommand(*session.getDboSession(), "UPDATE track SET preferred_artwork_id = ? WHERE id = ?", artworkId, trackId);
|
||||
}
|
||||
|
||||
void Track::updatePreferredMediaArtwork(Session& session, TrackId trackId, ArtworkId artworkId)
|
||||
{
|
||||
session.checkWriteTransaction();
|
||||
|
||||
utils::executeCommand(*session.getDboSession(), "UPDATE track SET preferred_media_artwork_id = ? WHERE id = ?", artworkId, trackId);
|
||||
}
|
||||
|
||||
std::vector<Cluster::pointer> Track::getClusters() const
|
||||
{
|
||||
return utils::fetchQueryResults<Cluster::pointer>(_clusters.find());
|
||||
@@ -338,6 +353,26 @@ namespace lms::db
|
||||
return utils::fetchQueryResults(query);
|
||||
}
|
||||
|
||||
ObjectPtr<MediaLibrary> Track::getMediaLibrary() const
|
||||
{
|
||||
return _mediaLibrary;
|
||||
}
|
||||
|
||||
ObjectPtr<Directory> Track::getDirectory() const
|
||||
{
|
||||
return _directory;
|
||||
}
|
||||
|
||||
ObjectPtr<Artwork> Track::getPreferredArtwork() const
|
||||
{
|
||||
return _preferredArtwork;
|
||||
}
|
||||
|
||||
ObjectPtr<Artwork> Track::getPreferredMediaArtwork() const
|
||||
{
|
||||
return _preferredMediaArtwork;
|
||||
}
|
||||
|
||||
RangeResults<TrackId> Track::findIds(Session& session, const FindParameters& parameters)
|
||||
{
|
||||
session.checkReadTransaction();
|
||||
@@ -484,6 +519,26 @@ namespace lms::db
|
||||
_embeddedImageLinks.insert(getDboPtr(image));
|
||||
}
|
||||
|
||||
void Track::setMediaLibrary(ObjectPtr<MediaLibrary> mediaLibrary)
|
||||
{
|
||||
_mediaLibrary = getDboPtr(mediaLibrary);
|
||||
}
|
||||
|
||||
void Track::setDirectory(ObjectPtr<Directory> directory)
|
||||
{
|
||||
_directory = getDboPtr(directory);
|
||||
}
|
||||
|
||||
void Track::setPreferredArtwork(ObjectPtr<Artwork> artwork)
|
||||
{
|
||||
_preferredArtwork = getDboPtr(artwork);
|
||||
}
|
||||
|
||||
void Track::setPreferredMediaArtwork(ObjectPtr<Artwork> artwork)
|
||||
{
|
||||
_preferredMediaArtwork = getDboPtr(artwork);
|
||||
}
|
||||
|
||||
std::optional<int> Track::getYear() const
|
||||
{
|
||||
return _date.getYear();
|
||||
|
||||
Reference in New Issue
Block a user