]> granicus.if.org Git - taglib/commitdiff
Oops. Pretty significant type in the frame name for recording date. This
authorScott Wheeler <wheeler@kde.org>
Mon, 24 May 2004 07:37:41 +0000 (07:37 +0000)
committerScott Wheeler <wheeler@kde.org>
Mon, 24 May 2004 07:37:41 +0000 (07:37 +0000)
will automatically fix these files on the next write.  (At the moment other
taggers will not be able to read the date written by TagLib in the ID3v2 tag.
In most cases they'll fall back to the ID3v1 tag, which is fine, but still
kind of nasty.)  Thanks to Teemu Tervo for catching this.

CCMAIL:82038-done@bugs.kde.org

git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@314024 283d02a7-25f6-0310-bc7c-ecb5cbfe19da

mpeg/id3v2/id3v2framefactory.cpp
mpeg/id3v2/id3v2tag.cpp

index 2574f960b7ef84193b030a9e28426807541f21b7..3df553722048a2cc9801e51612d8b69d4ff01c2e 100644 (file)
@@ -192,7 +192,7 @@ bool FrameFactory::updateFrame(Frame::Header *header) const
     convertFrame("TCM", "TCOM", header);
     convertFrame("TCO", "TCON", header);
     convertFrame("TCR", "TCOP", header);
-    convertFrame("TDA", "TRDC", header);
+    convertFrame("TDA", "TDRC", header);
     convertFrame("TDY", "TDLY", header);
     convertFrame("TEN", "TENC", header);
     convertFrame("TFT", "TFLT", header);
@@ -212,7 +212,7 @@ bool FrameFactory::updateFrame(Frame::Header *header) const
     convertFrame("TPA", "TPOS", header);
     convertFrame("TPB", "TPUB", header);
     convertFrame("TRC", "TSRC", header);
-    convertFrame("TRD", "TRDC", header);
+    convertFrame("TRD", "TDRC", header);
     convertFrame("TRK", "TRCK", header);
     convertFrame("TSS", "TSSE", header);
     convertFrame("TT1", "TIT1", header);
@@ -220,7 +220,7 @@ bool FrameFactory::updateFrame(Frame::Header *header) const
     convertFrame("TT3", "TIT3", header);
     convertFrame("TXT", "TOLY", header);
     convertFrame("TXX", "TXXX", header);
-    convertFrame("TYE", "TRDC", header);
+    convertFrame("TYE", "TDRC", header);
     convertFrame("UFI", "UFID", header);
     convertFrame("ULT", "USLT", header);
     convertFrame("WAF", "WOAF", header);
@@ -247,16 +247,20 @@ bool FrameFactory::updateFrame(Frame::Header *header) const
       return false;
     }
 
-    convertFrame("TDAT", "TRDC", header);
+    convertFrame("TDAT", "TDRC", header);
     convertFrame("TORY", "TDOR", header);
-    convertFrame("TYER", "TRDC", header);
+    convertFrame("TYER", "TDRC", header);
 
     break;
   }
 
   default:
-    break;
 
+    // This should catch a typo that existed in TagLib up to and including
+    // version 1.1 where TRDC was used for the year rather than TDRC.
+
+    convertFrame("TRDC", "TDRC", header);
+    break;
   }
 
   return true;
index df0395ba577caa3a19417ea565e83f7d4abf2953..0490b00ef9225681630e1eb3fbb44906dbfc956e 100644 (file)
@@ -144,8 +144,8 @@ String ID3v2::Tag::genre() const
 
 TagLib::uint ID3v2::Tag::year() const
 {
-  if(!d->frameListMap["TRDC"].isEmpty())
-    return d->frameListMap["TRDC"].front()->toString().substr(0, 4).toInt();
+  if(!d->frameListMap["TDRC"].isEmpty())
+    return d->frameListMap["TDRC"].front()->toString().substr(0, 4).toInt();
   return 0;
 }
 
@@ -205,10 +205,10 @@ void ID3v2::Tag::setGenre(const String &s)
 void ID3v2::Tag::setYear(uint i)
 {
   if(i <= 0) {
-    removeFrames("TRDC");
+    removeFrames("TDRC");
     return;
   }
-  setTextFrame("TRDC", String::number(i));
+  setTextFrame("TDRC", String::number(i));
 }
 
 void ID3v2::Tag::setTrack(uint i)