Skip to content

Commit

Permalink
Rating is now optional, and when no rating is available default to nu…
Browse files Browse the repository at this point in the history
…llopt
  • Loading branch information
tsshadow committed Jan 7, 2024
1 parent d135efa commit 4e340eb
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 3 deletions.
7 changes: 5 additions & 2 deletions src/libs/metadata/impl/TagLibParser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -392,14 +392,15 @@ namespace MetaData
else if (tag == "RATING")
{
//Convert flac rating to stars
int rating = StringUtils::readAs<int>(value).value_or(0);
int rating = StringUtils::readAs<int>(value).value_or(-1);

if (rating == 100) track.rating= 5;
else if (rating == 80) track.rating= 4;
else if (rating == 60) track.rating= 3;
else if (rating == 40) track.rating= 2;
else if (rating == 20) track.rating= 1;
else track.rating= 0;
else if (rating == 0) track.rating = 0;
else track.rating = std::nullopt;
}
else if (std::find(std::cbegin(_userExtraTags), std::cend(_userExtraTags), tag) != std::cend(_userExtraTags))
{
Expand Down Expand Up @@ -512,6 +513,8 @@ namespace MetaData
else if (rating_value == "1") track.rating= 1;
else track.rating= 0;
}
else
track.rating = std::nullopt;

if (!frameListMap["APIC"].isEmpty())
track.hasCover = true;
Expand Down
2 changes: 1 addition & 1 deletion src/libs/metadata/include/metadata/IParser.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ namespace MetaData
std::optional<UUID> mbid;
std::optional<UUID> recordingMBID;
std::string title;
int rating;
std::optional<int> rating;
std::optional<Medium> medium;
std::optional<std::size_t> position; // in medium
std::vector<std::string> grouping;
Expand Down

0 comments on commit 4e340eb

Please sign in to comment.