From bd9771a88f111134cf10ea6efe901e0ebf90d8dd Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Fri, 18 Apr 2025 02:15:17 +0200 Subject: [PATCH] TagReaderTagLib: Use TagLib::Tag::comment Makes it use only commercial frames without description for comments, reading other commercial frames picks different iTunes tags we don't want. --- src/tagreader/tagreadertaglib.cpp | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/tagreader/tagreadertaglib.cpp b/src/tagreader/tagreadertaglib.cpp index 0dde5199e..e34da385a 100644 --- a/src/tagreader/tagreadertaglib.cpp +++ b/src/tagreader/tagreadertaglib.cpp @@ -123,7 +123,6 @@ constexpr char kID3v2_OriginalReleaseTime[] = "TDOR"; constexpr char kID3v2_OriginalReleaseYear[] = "TORY"; constexpr char kID3v2_UnsychronizedLyrics[] = "USLT"; constexpr char kID3v2_CoverArt[] = "APIC"; -constexpr char kID3v2_CommercialFrame[] = "COMM"; constexpr char kID3v2_FMPS_Playcount[] = "FMPS_Playcount"; constexpr char kID3v2_FMPS_Rating[] = "FMPS_Rating"; constexpr char kID3v2_Unique_File_Identifier[] = "UFID"; @@ -337,6 +336,7 @@ TagReaderResult TagReaderTagLib::Read(SharedPtr fileref, Song * song->set_genre(tag->genre()); song->set_year(static_cast(tag->year())); song->set_track(static_cast(tag->track())); + song->set_comment(tag->comment()); song->set_valid(true); } @@ -616,16 +616,6 @@ void TagReaderTagLib::ParseID3v2Tags(TagLib::ID3v2::Tag *tag, QString *disc, QSt if (map.contains(kID3v2_CoverArt) && song->url().isLocalFile()) song->set_art_embedded(true); - // Find a suitable comment tag. For now we ignore iTunNORM comments. - for (uint i = 0; i < map[kID3v2_CommercialFrame].size(); ++i) { - const TagLib::ID3v2::CommentsFrame *frame = dynamic_cast(map[kID3v2_CommercialFrame][i]); - - if (frame && TagLibStringToQString(frame->description()) != "iTunNORM"_L1) { - song->set_comment(TagLibStringToQString(frame->text())); - break; - } - } - if (TagLib::ID3v2::UserTextIdentificationFrame *frame_fmps_playcount = TagLib::ID3v2::UserTextIdentificationFrame::find(tag, kID3v2_FMPS_Playcount)) { TagLib::StringList frame_field_list = frame_fmps_playcount->fieldList(); if (frame_field_list.size() > 1) {