Don't treat TXXX ID3v2 frames as text frames

This commit is contained in:
Martchus 2017-05-18 01:02:20 +02:00
parent 6ff8a587ba
commit 909d21c076
2 changed files with 7 additions and 3 deletions

View File

@ -43,6 +43,7 @@ uint32 convertToShortId(uint32 id)
case lUnsynchronizedLyrics: return sUnsynchronizedLyrics;
case lGrouping: return sGrouping;
case lRecordLabel: return sRecordLabel;
case lUserDefinedText: return sUserDefinedText;
default: return 0;
}
}
@ -72,6 +73,7 @@ uint32 convertToLongId(uint32 id)
case sUnsynchronizedLyrics: return lUnsynchronizedLyrics;
case sGrouping: return lGrouping;
case sRecordLabel: return lRecordLabel;
case sUserDefinedText: return lUserDefinedText;
default: return 0;
}
}

View File

@ -32,6 +32,7 @@ enum KnownValue : uint32 {
lUniqueFileId = 0x55464944,
lComposer = 0x54434f4d,
lRating = 0x504f504d,
lUserDefinedText = 0x54585858,
sAlbum = 0x54414c,
sArtist = 0x545031,
@ -54,7 +55,8 @@ enum KnownValue : uint32 {
sRecordLabel = 0x545042,
sUniqueFileId = 0x554649,
sComposer = 0x54434d,
sRating = 0x504f50
sRating = 0x504f50,
sUserDefinedText = 0x545858,
};
uint32 convertToShortId(uint32 id);
@ -82,9 +84,9 @@ inline bool isShortId(uint32 id)
inline bool isTextFrame(uint32 id)
{
if(isShortId(id)) {
return (id & 0x00FF0000u) == 0x00540000u;
return ((id & 0x00FF0000u) == 0x00540000u) && (id != Id3v2FrameIds::sUserDefinedText);
} else {
return (id & 0xFF000000u) == 0x54000000u;
return (id & 0xFF000000u) == 0x54000000u && (id != Id3v2FrameIds::lUserDefinedText);
}
}