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);
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);
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);
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;
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;
}
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)