[prev in list] [next in list] [prev in thread] [next in thread] 

List:       taglib-devel
Subject:    [PATCH] Fix repeated genre in ID3v2.3 tags
From:       "Xavier Duret" <xaviour.maillists () gmail ! com>
Date:       2007-01-16 19:05:06
Message-ID: d3ef58310701161105o23f0b259ga09b287e668c426 () mail ! gmail ! com
[Download RAW message or body]

Taglib converts frames like "(1)Rock" into "Rock Rock". This patch remedy that.

diff -ruN taglib/mpeg/id3v2/id3v2tag.cpp.old taglib/mpeg/id3v2/id3v2tag.cpp
--- taglib/mpeg/id3v2/id3v2tag.cpp.old  2007-01-15 18:40:18.000000000 +0100
+++ taglib/mpeg/id3v2/id3v2tag.cpp      2007-01-15 22:47:21.000000000 +0100
@@ -143,6 +143,8 @@

   String genreString;
   bool hasNumber = false;
+  bool lastFoundIsValid = false;
+  String lastFound;

   for(StringList::ConstIterator it = fields.begin(); it !=
fields.end(); ++it) {

@@ -163,13 +165,20 @@
       if(number >= 0 && number <= 255) {
         hasNumber = true;
         genreString.append(ID3v1::genre(number));
+        lastFound = String(ID3v1::genre(number));
+        lastFoundIsValid = true;
       }
     }
     else {
-      genreString.append(*it);
+      if (!lastFoundIsValid || !(lastFound == *it)) {
+        genreString.append(*it);
+        lastFound = *it;
+      }
+      lastFoundIsValid = true;
     }
   }

+  genreString = genreString.stripWhiteSpace();
   return genreString;
 }
_______________________________________________
taglib-devel mailing list
taglib-devel@kde.org
https://mail.kde.org/mailman/listinfo/taglib-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic