Added support for explcit tags (rtng, ITUNESADVISORY)
This commit is contained in:
@@ -28,6 +28,7 @@
|
||||
#include "database/Image.hpp"
|
||||
#include "database/Release.hpp"
|
||||
#include "database/Track.hpp"
|
||||
#include "database/Types.hpp"
|
||||
#include "database/User.hpp"
|
||||
#include "services/feedback/IFeedbackService.hpp"
|
||||
#include "services/scrobbling/IScrobblingService.hpp"
|
||||
@@ -223,6 +224,18 @@ namespace lms::api::subsonic
|
||||
albumNode.addArrayChild("recordLabels", createRecordLabel(label));
|
||||
});
|
||||
|
||||
auto advisoryToExplicitStatus = [&](const core::EnumSet<db::Advisory> advisories) -> std::string_view {
|
||||
if (advisories.contains(db::Advisory::Explicit))
|
||||
return "explicit";
|
||||
|
||||
if (advisories.contains(db::Advisory::Clean))
|
||||
return "clean";
|
||||
|
||||
return "";
|
||||
};
|
||||
|
||||
albumNode.setAttribute("explicitStatus", advisoryToExplicitStatus(release->getAdvisories()));
|
||||
|
||||
return albumNode;
|
||||
}
|
||||
} // namespace lms::api::subsonic
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "database/Release.hpp"
|
||||
#include "database/Track.hpp"
|
||||
#include "database/TrackArtistLink.hpp"
|
||||
#include "database/Types.hpp"
|
||||
#include "database/User.hpp"
|
||||
#include "services/feedback/IFeedbackService.hpp"
|
||||
#include "services/scrobbling/IScrobblingService.hpp"
|
||||
@@ -227,6 +228,22 @@ namespace lms::api::subsonic
|
||||
for (const auto& genre : genres)
|
||||
trackResponse.addArrayChild("genres", createItemGenreNode(genre->getName()));
|
||||
|
||||
auto advisoryToExplicitStatus = [](db::Advisory advisory) -> std::string_view {
|
||||
switch (advisory)
|
||||
{
|
||||
case db::Advisory::Clean:
|
||||
return "clean";
|
||||
case db::Advisory::Explicit:
|
||||
return "expicit";
|
||||
case db::Advisory::Unknown:
|
||||
case db::Advisory::UnSet:
|
||||
break;
|
||||
}
|
||||
|
||||
return "";
|
||||
};
|
||||
trackResponse.setAttribute("explicitStatus", advisoryToExplicitStatus(track->getAdvisory()));
|
||||
|
||||
trackResponse.addChild("replayGain", createReplayGainNode(track));
|
||||
|
||||
return trackResponse;
|
||||
|
||||
Reference in New Issue
Block a user