From f9d45f76574ae736bae64efd44ab48bf92c04977 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Mon, 3 Aug 2020 20:44:25 +0200 Subject: [PATCH] Fix reading and saving MP4 lyrics tag --- ext/libstrawberry-tagreader/tagreader.cpp | 4 ++++ tests/src/tagreader_test.cpp | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ext/libstrawberry-tagreader/tagreader.cpp b/ext/libstrawberry-tagreader/tagreader.cpp index 01296aae8..64ac34bb7 100644 --- a/ext/libstrawberry-tagreader/tagreader.cpp +++ b/ext/libstrawberry-tagreader/tagreader.cpp @@ -342,6 +342,9 @@ void TagReader::ReadFile(const QString &filename, pb::tagreader::SongMetadata *s if (mp4_tag->item("\251grp").isValid()) { Decode(mp4_tag->item("\251grp").toStringList().toString(" "), nullptr, song->mutable_grouping()); } + if (mp4_tag->item("\251lyr").isValid()) { + Decode(mp4_tag->item("\251lyr").toStringList().toString(" "), nullptr, song->mutable_lyrics()); + } if (mp4_tag->item(kMP4_OriginalYear_ID).isValid()) { song->set_originalyear(TStringToQString(mp4_tag->item(kMP4_OriginalYear_ID).toStringList().toString('\n')).left(4).toInt()); @@ -617,6 +620,7 @@ bool TagReader::SaveFile(const QString &filename, const pb::tagreader::SongMetad tag->setItem("disk", TagLib::MP4::Item(song.disc() <= 0 -1 ? 0 : song.disc(), 0)); tag->setItem("\251wrt", TagLib::StringList(song.composer().c_str())); tag->setItem("\251grp", TagLib::StringList(song.grouping().c_str())); + tag->setItem("\251lyr", TagLib::StringList(song.lyrics().c_str())); tag->setItem("aART", TagLib::StringList(song.albumartist().c_str())); tag->setItem("cpil", TagLib::StringList(song.compilation() ? "1" : "0")); } diff --git a/tests/src/tagreader_test.cpp b/tests/src/tagreader_test.cpp index b1884ff31..2790ee159 100644 --- a/tests/src/tagreader_test.cpp +++ b/tests/src/tagreader_test.cpp @@ -1581,7 +1581,7 @@ TEST_F(TagReaderTest, TestM4AAudioFileTagging) { EXPECT_EQ("strawberry grouping", song.grouping()); EXPECT_EQ("strawberry genre", song.genre()); EXPECT_EQ("strawberry comment", song.comment()); - //EXPECT_EQ("strawberry lyrics", song.lyrics()); + EXPECT_EQ("strawberry lyrics", song.lyrics()); EXPECT_EQ(12, song.track()); EXPECT_EQ(1234, song.disc()); EXPECT_EQ(2019, song.year()); @@ -1617,7 +1617,7 @@ TEST_F(TagReaderTest, TestM4AAudioFileTagging) { EXPECT_EQ("new grouping", song.grouping()); EXPECT_EQ("new genre", song.genre()); EXPECT_EQ("new comment", song.comment()); - //EXPECT_EQ("new lyrics", song.lyrics()); + EXPECT_EQ("new lyrics", song.lyrics()); EXPECT_EQ(21, song.track()); EXPECT_EQ(4321, song.disc()); EXPECT_EQ(9102, song.year()); @@ -1652,7 +1652,7 @@ TEST_F(TagReaderTest, TestM4AAudioFileTagging) { EXPECT_EQ("strawberry grouping", song.grouping()); EXPECT_EQ("strawberry genre", song.genre()); EXPECT_EQ("strawberry comment", song.comment()); - //EXPECT_EQ("strawberry lyrics", song.lyrics()); + EXPECT_EQ("strawberry lyrics", song.lyrics()); EXPECT_EQ(12, song.track()); EXPECT_EQ(1234, song.disc()); EXPECT_EQ(2019, song.year());