Tag Parser: TagParser::Id3v2FrameIds Namespace Reference

Tag Parser 12.5.2 C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags

Loading...
Searching...
No Matches
Enumerations | Functions
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 , lOriginalMediaType = 0x544D4544 , lTaggingTime = 0x54445447 , 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 , lTitle = 0x54495432 , lSubtitleOrDescriptionRefinement = 0x54495433 , lLongDescription = 0x54444553 , lRecordLabel = 0x54505542 , lUniqueFileId = 0x55464944 , lComposer = 0x54434f4d , lPlayCounter = 0x50434E54 , lRating = 0x504f504d , lRemixedBy = 0x54504534 , lCopyright = 0x54434F50 , lEncodingTime = 0x5444454E , lMood = 0x544D4F4F , lISRC = 0x54535243 , lKey = 0x544B4559 , lUserDefinedText = 0x54585858 , lCommericalInfoWebpage = 0x57434F4D , lCopyrightInfoWebpage = 0x57434F50 , lAudioFileWebpage = 0x574F4146 , lAudioSourceWebpage = 0x574F4153 , lInternetRadioStationWebpage = 0x574F5253 , lPaymentWebpage = 0x57504159 , lPublisherWebpage = 0x57505542 , lPerformerWebpage = 0x574F4152 , lUserDefinedURL = 0x57585858 , sAlbum = 0x54414c , sArtist = 0x545031 , sComment = 0x434f4d , sYear = 0x545945 , sOriginalYear = 0x544F52 , sOriginalMediaType = 0x544D54 , sRecordingDates = 0x545244 , sDate = 0x544441 , sTime = 0x54494D , 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 , sTitle = 0x545432 , sSubtitleOrDescriptionRefinement = 0x545433 , sRecordLabel = 0x545042 , sUniqueFileId = 0x554649 , sComposer = 0x54434d , sPlayCounter = 0x434E54 , sRating = 0x504f50 , sRemixedBy = 0x545034 , sCopyright = 0x544352 , sISRC = 0x545243 , sKey = 0x544B45 , sUserDefinedText = 0x545858 , sCommericalInfoWebpage = 0x57434D , sCopyrightInfoWebpage = 0x574350 , sAudioFileWebpage = 0x574146 , sAudioSourceWebpage = 0x574153 , sPublisherWebpage = 0x575042 , sPerformerWebpage = 0x574152 , 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
  - See https://id3.org/id3v2.3.0 for the specification of ID3v2.3.0 frame IDs.
  - See https://id3.org/id3v2.4.0-frames for the specification of ID3v2.4.0 frame IDs.

## Enumeration Type Documentation

## ◆ KnownValue

enum TagParser::Id3v2FrameIds::KnownValue : std::uint32_t

Enumerator
lAlbum | TALB
lArtist | TPE1
lComment | COMM
lYear | TYER
lOriginalYear | TORY
lRecordingDates | TRDA
lDate | TDAT
lTime | TIME
lRecordingTime | TDRC
lReleaseTime | TDRL
lOriginalReleaseTime | TDOR
lOriginalMediaType | TMED
lTaggingTime | TDTG
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
lTitle | TIT2
lSubtitleOrDescriptionRefinement | TIT3
lLongDescription | TDES
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
lKey | TKEY
lUserDefinedText | TXXX
lCommericalInfoWebpage | WCOM
lCopyrightInfoWebpage | WCOP
lAudioFileWebpage | WOAF
lAudioSourceWebpage | WOAS
lInternetRadioStationWebpage | WORS
lPaymentWebpage | WPAY
lPublisherWebpage | WPUB
lPerformerWebpage | WOAR
lUserDefinedURL | WXXX
sAlbum | ?TAL
sArtist | ?TP1
sComment | ?COM
sYear | ?TYE
sOriginalYear | ?TOR
sOriginalMediaType | ?TMT
sRecordingDates | ?TRD
sDate | ?TDA
sTime | ?TIM
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
sTitle | ?TT2
sSubtitleOrDescriptionRefinement | ?TT3
sRecordLabel | ?TPB Todo rename to sPublisher in v12
sUniqueFileId | ?UFI
sComposer | ?TCM
sPlayCounter | CNT
sRating | ?POP
sRemixedBy | TP4
sCopyright | TCR
sISRC | TRC
sKey | TKE
sUserDefinedText | ?TXX
sCommericalInfoWebpage | ?WCM
sCopyrightInfoWebpage | ?WCP
sAudioFileWebpage | ?WAF
sAudioSourceWebpage | ?WAS
sPublisherWebpage | ?WPB
sPerformerWebpage | ?WAR
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 117 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 118 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 228 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 210 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 126 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 134 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 146 of file id3v2frameids.h.