Added a dedicated table for release artists + handle display names in UI/Subsonic API, ref #731

This commit is contained in:
emeric
2025-12-24 09:00:59 +01:00
parent 68cc7116a7
commit f70692b680
78 changed files with 1916 additions and 935 deletions
@@ -100,7 +100,7 @@ namespace lms::feedback
searchParams.setFilters(params.filters);
searchParams.setStarringUser(params.user, *backend);
searchParams.setKeywords(params.keywords);
searchParams.setLinkType(params.linkType);
searchParams.setTrackArtistLinkType(params.trackArtistLinkType);
searchParams.setSortMethod(params.sortMethod);
searchParams.setRange(params.range);
@@ -81,12 +81,18 @@ namespace lms::feedback
// Artists
struct ArtistFindParameters : public FindParameters
{
std::optional<db::TrackArtistLinkType> linkType; // if set, only artists that have produced at least one track with this link type
std::optional<db::TrackArtistLinkType> trackArtistLinkType; // if set, only artists that have produced at least one track with this link type
db::ArtistSortMethod sortMethod{ db::ArtistSortMethod::None };
std::optional<bool> releaseArtistsOnly;
ArtistFindParameters& setLinkType(std::optional<db::TrackArtistLinkType> _linkType)
ArtistFindParameters& setReleaseArtistsOnly(std::optional<bool> _releaseArtistsOnly)
{
linkType = _linkType;
releaseArtistsOnly = _releaseArtistsOnly;
return *this;
}
ArtistFindParameters& setTrackArtistLinkType(std::optional<db::TrackArtistLinkType> _trackArtistLinkType)
{
trackArtistLinkType = _trackArtistLinkType;
return *this;
}
ArtistFindParameters& setSortMethod(db::ArtistSortMethod _sortMethod)