Tag Parser 12.3.1
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
Loading...
Searching...
No Matches
TagParser::Id3v2FrameIds Namespace Reference

Encapsulates the most common ID3v2 frame IDs and related functions. More...

Enumerations

enum  KnownValue : std::uint32_t {
  lAlbum = 0x54414c42 , lArtist = 0x54504531 , lComment = 0x434f4d4d , lYear = 0x54594552 ,
  lOriginalYear = 0x544F5259 , lRecordingDates = 0x54524441 , lDate = 0x54444154 , lTime = 0x54494D45 ,
  lRecordingTime = 0x54445243 , lReleaseTime = 0x5444524C , lOriginalReleaseTime = 0x54444F52 , lTaggingTime = 0x54445447 ,
  lTitle = 0x54495432 , lGenre = 0x54434f4e , lTrackPosition = 0x5452434b , lDiskPosition = 0x54504f53 ,
  lEncoder = 0x54454e43 , lBpm = 0x5442504d , lCover = 0x41504943 , lWriter = 0x54455854 ,
  lLength = 0x544c454e , lLanguage = 0x544c414e , lEncoderSettings = 0x54535345 , lUnsynchronizedLyrics = 0x55534c54 ,
  lSynchronizedLyrics = 0x53594C54 , lAlbumArtist = 0x54504532 , lContentGroupDescription = 0x54495431 , lRecordLabel = 0x54505542 ,
  lUniqueFileId = 0x55464944 , lComposer = 0x54434f4d , lPlayCounter = 0x50434E54 , lRating = 0x504f504d ,
  lRemixedBy = 0x54504534 , lCopyright = 0x54434F50 , lEncodingTime = 0x5444454E , lMood = 0x544D4F4F ,
  lISRC = 0x54535243 , lUserDefinedText = 0x54585858 , lPublisherWebpage = 0x57505542 , lUserDefinedURL = 0x57585858 ,
  sAlbum = 0x54414c , sArtist = 0x545031 , sComment = 0x434f4d , sYear = 0x545945 ,
  sOriginalYear = 0x544F52 , sRecordingDates = 0x545244 , sDate = 0x544441 , sTime = 0x54494D ,
  sTitle = 0x545432 , sGenre = 0x54434f , sTrackPosition = 0x54524b , sDiskPosition = 0x545041 ,
  sEncoder = 0x54454e , sBpm = 0x544250 , sCover = 0x504943 , sWriter = 0x545854 ,
  sLength = 0x544c45 , sLanguage = 0x544c41 , sEncoderSettings = 0x545353 , sUnsynchronizedLyrics = 0x554C54 ,
  sSynchronizedLyrics = 0x534C54 , sAlbumArtist = 0x545032 , sContentGroupDescription = 0x545431 , sRecordLabel = 0x545042 ,
  sUniqueFileId = 0x554649 , sComposer = 0x54434d , sPlayCounter = 0x434E54 , sRating = 0x504f50 ,
  sRemixedBy = 0x545034 , sCopyright = 0x544352 , sISRC = 0x545243 , sUserDefinedText = 0x545858 ,
  sPublisherWebpage = 0x575042 , sUserDefinedURL = 0x575858
}
 

Functions

TAG_PARSER_EXPORT std::uint32_t convertToShortId (std::uint32_t id)
 Converts the specified long frame ID to the equivalent short frame ID.
 
TAG_PARSER_EXPORT std::uint32_t convertToLongId (std::uint32_t id)
 Converts the specified short frame ID to the equivalent long frame ID.
 
TAG_PARSER_EXPORT bool isPreId3v24Id (std::uint32_t id)
 
TAG_PARSER_EXPORT bool isOnlyId3v24Id (std::uint32_t id)
 
constexpr bool isLongId (std::uint32_t id)
 Returns an indication whether the specified id is a long frame id.
 
constexpr bool isShortId (std::uint32_t id)
 Returns an indication whether the specified id is a short frame id.
 
constexpr bool isTextFrame (std::uint32_t id)
 Returns an indication whether the specified id is a text frame id.
 
constexpr bool isUrlFrame (std::uint32_t id)
 Returns an indication whether the specified id is a URL frame id.
 
bool isPreId3v24Id (uint32_t id)
 Returns whether id is only supported in ID3v2.3.x and older and therefore can not be used in an ID3v2.4.x tag.
 
bool isOnlyId3v24Id (uint32_t id)
 Returns whether id is only supported inID3v2.4.x and therefore can not be used in older versions.
 

Detailed Description

Encapsulates the most common ID3v2 frame IDs and related functions.

There are short frame IDs (used by the first version of ID3v2) and long frame IDs (used by newer versions of ID3v2).

The short IDs start with "s" and the long IDs with "l". To convert between these IDs the functions convertToShortId() and convertToLongId() can be used.

See also

Enumeration Type Documentation

◆ KnownValue

Enumerator
lAlbum 

TALB

lArtist 

TPE1

lComment 

COMM

lYear 

TYER

lOriginalYear 

TORY

lRecordingDates 

TRDA

lDate 

TDAT

lTime 

TIME

lRecordingTime 

TDRC

lReleaseTime 

TDRL

lOriginalReleaseTime 

TDOR

lTaggingTime 

TDTG

lTitle 

TIT2

lGenre 

TCON

lTrackPosition 

TRCK

lDiskPosition 

TPOS

lEncoder 

TENC

lBpm 

TBPM

lCover 

APIC

lWriter 

TEXT

lLength 

TLEN

lLanguage 

TLAN

lEncoderSettings 

TSSE

lUnsynchronizedLyrics 

USLT

lSynchronizedLyrics 

SYLT

lAlbumArtist 

TPE2

lContentGroupDescription 

TIT1

lRecordLabel 

TPUB

Todo
rename to lPublisher in v12
lUniqueFileId 

UFID

lComposer 

TCOM

lPlayCounter 

PCNT

lRating 

POPM

lRemixedBy 

TPE4

lCopyright 

TCOP

lEncodingTime 

TDEN

lMood 

TMOO

lISRC 

TSRC

lUserDefinedText 

TXXX

lPublisherWebpage 

WPUB

lUserDefinedURL 

WXXX

sAlbum 

?TAL

sArtist 

?TP1

sComment 

?COM

sYear 

?TYE

sOriginalYear 

?TOR

sRecordingDates 

?TRD

sDate 

?TDA

sTime 

?TIM

sTitle 

?TT2

sGenre 

?TCO

sTrackPosition 

?TRK

sDiskPosition 

?TPA

sEncoder 

?TEN

sBpm 

?TBP

sCover 

?PIC

sWriter 

?TXT

sLength 

?TLE

sLanguage 

?TLA

sEncoderSettings 

?TSS

sUnsynchronizedLyrics 

?ULT

sSynchronizedLyrics 

?SLT

sAlbumArtist 

?TP2

sContentGroupDescription 

?TT1

sRecordLabel 

?TPB

Todo
rename to sPublisher in v12
sUniqueFileId 

?UFI

sComposer 

?TCM

sPlayCounter 

CNT

sRating 

?POP

sRemixedBy 

TP4

sCopyright 

TCR

sISRC 

TRC

sUserDefinedText 

?TXX

sPublisherWebpage 

?WPB

sUserDefinedURL 

?WXX

Definition at line 13 of file id3v2frameids.h.

Function Documentation

◆ convertToLongId()

std::uint32_t TagParser::Id3v2FrameIds::convertToLongId ( std::uint32_t id)

Converts the specified short frame ID to the equivalent long frame ID.

Returns
Returns the long ID if available; otherwise returns 0.

Definition at line 101 of file id3v2frameids.cpp.

◆ convertToShortId()

std::uint32_t TagParser::Id3v2FrameIds::convertToShortId ( std::uint32_t id)

Converts the specified long frame ID to the equivalent short frame ID.

Returns
Returns the short ID if available; otherwise returns 0.

Definition at line 27 of file id3v2frameids.cpp.

◆ isLongId()

bool TagParser::Id3v2FrameIds::isLongId ( std::uint32_t id)
constexpr

Returns an indication whether the specified id is a long frame id.

Definition at line 99 of file id3v2frameids.h.

◆ isOnlyId3v24Id() [1/2]

TAG_PARSER_EXPORT bool TagParser::Id3v2FrameIds::isOnlyId3v24Id ( std::uint32_t id)

◆ isOnlyId3v24Id() [2/2]

bool TagParser::Id3v2FrameIds::isOnlyId3v24Id ( uint32_t id)

Returns whether id is only supported inID3v2.4.x and therefore can not be used in older versions.

Remarks
This function is intended to show warnings. Unknown IDs will be treated as supported everywhere.

Definition at line 196 of file id3v2frameids.cpp.

◆ isPreId3v24Id() [1/2]

TAG_PARSER_EXPORT bool TagParser::Id3v2FrameIds::isPreId3v24Id ( std::uint32_t id)

◆ isPreId3v24Id() [2/2]

bool TagParser::Id3v2FrameIds::isPreId3v24Id ( uint32_t id)

Returns whether id is only supported in ID3v2.3.x and older and therefore can not be used in an ID3v2.4.x tag.

Remarks
  • This function is intended to show warnings. Unknown IDs will be treated as supported everywhere.
  • Any short ID is obviously not ID3v2.4.x compatible. Only long IDs are considered here. Short IDs need to be converted to long IDs before passing them to this function.

Definition at line 178 of file id3v2frameids.cpp.

◆ isShortId()

bool TagParser::Id3v2FrameIds::isShortId ( std::uint32_t id)
constexpr

Returns an indication whether the specified id is a short frame id.

Definition at line 107 of file id3v2frameids.h.

◆ isTextFrame()

bool TagParser::Id3v2FrameIds::isTextFrame ( std::uint32_t id)
constexpr

Returns an indication whether the specified id is a text frame id.

Definition at line 115 of file id3v2frameids.h.

◆ isUrlFrame()

bool TagParser::Id3v2FrameIds::isUrlFrame ( std::uint32_t id)
constexpr

Returns an indication whether the specified id is a URL frame id.

Definition at line 127 of file id3v2frameids.h.