Changed the artists view to use artist images

This commit is contained in:
emeric
2024-10-11 19:04:59 +02:00
parent e9f533bb6b
commit 8bdf3b42d0
33 changed files with 439 additions and 311 deletions
+1 -1
View File
@@ -48,7 +48,7 @@ target_link_libraries(lmssubsonic PRIVATE
lmsrecommendation
lmsscanner
lmsscrobbling
lmsservice-cover
lmsartwork
lmscore
std::filesystem
)
+2 -2
View File
@@ -282,7 +282,7 @@ namespace lms::api::subsonic
SubsonicResource::SubsonicResource(db::Db& db)
: _serverProtocolVersionsByClient{ readConfigProtocolVersions() }
, _openSubsonicDisabledClients{ readOpenSubsonicDisabledClients() }
, _defaultCoverClients{ readDefaultCoverClients() }
, _defaultReleaseCoverClients{ readDefaultCoverClients() }
, _db{ db }
{
}
@@ -410,7 +410,7 @@ namespace lms::api::subsonic
const ClientInfo clientInfo{ getClientInfo(request) };
const db::UserId userId{ authenticateUser(request, clientInfo) };
bool enableOpenSubsonic{ !_openSubsonicDisabledClients.contains(clientInfo.name) };
bool enableDefaultCover{ _defaultCoverClients.contains(clientInfo.name) };
bool enableDefaultCover{ _defaultReleaseCoverClients.contains(clientInfo.name) };
const ResponseFormat format{ getParameterAs<std::string>(request.getParameterMap(), "f").value_or("xml") == "json" ? ResponseFormat::json : ResponseFormat::xml };
db::User::pointer user;
+1 -1
View File
@@ -54,7 +54,7 @@ namespace lms::api::subsonic
const std::unordered_map<std::string, ProtocolVersion> _serverProtocolVersionsByClient;
const std::unordered_set<std::string> _openSubsonicDisabledClients;
const std::unordered_set<std::string> _defaultCoverClients;
const std::unordered_set<std::string> _defaultReleaseCoverClients;
db::Db& _db;
};
@@ -32,7 +32,7 @@
#include "database/Session.hpp"
#include "database/Track.hpp"
#include "database/User.hpp"
#include "services/cover/ICoverService.hpp"
#include "services/artwork/IArtworkService.hpp"
#include "ParameterParsing.hpp"
#include "SubsonicId.hpp"
@@ -267,14 +267,14 @@ namespace lms::api::subsonic
std::shared_ptr<image::IEncodedImage> cover;
if (trackId)
cover = core::Service<cover::ICoverService>::get()->getFromTrack(*trackId, size);
cover = core::Service<cover::IArtworkService>::get()->getTrackImage(*trackId, size);
else if (releaseId)
cover = core::Service<cover::ICoverService>::get()->getFromRelease(*releaseId, size);
cover = core::Service<cover::IArtworkService>::get()->getReleaseCover(*releaseId, size);
else if (artistId)
cover = core::Service<cover::ICoverService>::get()->getFromArtist(*artistId, size);
cover = core::Service<cover::IArtworkService>::get()->getArtistImage(*artistId, size);
if (!cover && context.enableDefaultCover && !artistId)
cover = core::Service<cover::ICoverService>::get()->getDefaultSvgCover();
cover = core::Service<cover::IArtworkService>::get()->getDefaultReleaseCover();
if (!cover)
{