OpenSubsonic API: use albumArtists/displayAlbumArtist in Child responses for albums

This commit is contained in:
emeric
2024-12-18 15:02:31 +01:00
parent b80cd013a9
commit a72171d2e7
2 changed files with 19 additions and 5 deletions
+1 -1
View File
@@ -34,7 +34,7 @@ namespace lms::api::subsonic
};
static inline constexpr ProtocolVersion defaultServerProtocolVersion{ 1, 16, 0 };
static inline constexpr std::string_view serverVersion{ "6" };
static inline constexpr std::string_view serverVersion{ "7" };
} // namespace lms::api::subsonic
namespace lms::core::stringUtils
+18 -4
View File
@@ -184,11 +184,25 @@ namespace lms::api::subsonic
});
}
albumNode.createEmptyArrayChild("artists");
for (const Artist::pointer& artist : release->getReleaseArtists())
albumNode.addArrayChild("artists", createArtistNode(artist));
if (id3)
{
albumNode.createEmptyArrayChild("artists");
for (const Artist::pointer& artist : release->getReleaseArtists())
albumNode.addArrayChild("artists", createArtistNode(artist));
albumNode.setAttribute("displayArtist", release->getArtistDisplayName());
albumNode.setAttribute("displayArtist", release->getArtistDisplayName());
}
else
{
albumNode.createEmptyArrayChild("albumArtists");
for (const Artist::pointer& artist : release->getReleaseArtists())
albumNode.addArrayChild("albumArtists", createArtistNode(artist));
albumNode.setAttribute("displayAlbumArtist", release->getArtistDisplayName());
albumNode.createEmptyArrayChild("artists");
albumNode.setAttribute("displayArtist", "");
}
albumNode.addChild("originalReleaseDate", createItemDateNode(release->getOriginalDate(), release->getOriginalYear()));
albumNode.setAttribute("isCompilation", release->isCompilation());