From d1a6e53f5c4b55eaee1e3543c7b194a816ae1a59 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Sat, 29 Jul 2023 18:33:47 +0200 Subject: [PATCH] TagReaderTagLib: Read FMPS_Playcount Fixes #1248 --- ext/libstrawberry-tagreader/tagreadertaglib.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ext/libstrawberry-tagreader/tagreadertaglib.cpp b/ext/libstrawberry-tagreader/tagreadertaglib.cpp index 3f9db6d5..7660e283 100644 --- a/ext/libstrawberry-tagreader/tagreadertaglib.cpp +++ b/ext/libstrawberry-tagreader/tagreadertaglib.cpp @@ -374,6 +374,16 @@ bool TagReaderTagLib::ReadFile(const QString &filename, spb::tagreader::SongMeta } } + if (TagLib::ID3v2::UserTextIdentificationFrame *frame_fmps_playcount = TagLib::ID3v2::UserTextIdentificationFrame::find(file_mpeg->ID3v2Tag(), "FMPS_Playcount")) { + TagLib::StringList frame_field_list = frame_fmps_playcount->fieldList(); + if (frame_field_list.size() > 1) { + int playcount = TStringToQString(frame_field_list[1]).toInt(); + if (song->playcount() <= 0 && playcount > 0) { + song->set_playcount(playcount); + } + } + } + if (TagLib::ID3v2::UserTextIdentificationFrame *frame_fmps_rating = TagLib::ID3v2::UserTextIdentificationFrame::find(file_mpeg->ID3v2Tag(), "FMPS_Rating")) { TagLib::StringList frame_field_list = frame_fmps_rating->fieldList(); if (frame_field_list.size() > 1) {