Tag Parser
9.3.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
id3
id3v2frameids.h
Go to the documentation of this file.
1
#ifndef TAG_PARSER_ID3V2FRAMEIDS_H
2
#define TAG_PARSER_ID3V2FRAMEIDS_H
3
4
#include "../global.h"
5
6
#include <cstdint>
7
8
#include <string>
9
10
namespace
TagParser
{
11
12
namespace
Id3v2FrameIds {
13
enum
KnownValue
: std::uint32_t {
14
lAlbum
= 0x54414c42,
15
lArtist
= 0x54504531,
16
lComment
= 0x434f4d4d,
17
lYear
= 0x54594552,
18
lOriginalYear
= 0x544F5259,
19
lRecordingDates
= 0x54524441,
20
lDate
= 0x54444154,
21
lTime
= 0x54494D45,
22
lRecordDate
= 0x54445243,
23
lRecordingTime
= 0x54445243,
24
lReleaseTime
= 0x5444524C,
25
lOriginalReleaseTime
= 0x54444F52,
26
lTaggingTime
= 0x54445447,
27
lTitle
= 0x54495432,
28
lGenre
= 0x54434f4e,
29
lTrackPosition
= 0x5452434b,
30
lDiskPosition
= 0x54504f53,
31
lEncoder
= 0x54454e43,
32
lBpm
= 0x5442504d,
33
lCover
= 0x41504943,
34
lWriter
= 0x54455854,
35
lLength
= 0x544c454e,
36
lLanguage
= 0x544c414e,
37
lEncoderSettings
= 0x54535345,
38
lUnsynchronizedLyrics
= 0x55534c54,
39
lSynchronizedLyrics
= 0x53594C54,
40
lAlbumArtist
= 0x54504532,
41
lContentGroupDescription
= 0x54495431,
42
lRecordLabel
= 0x54505542,
43
lUniqueFileId
= 0x55464944,
44
lComposer
= 0x54434f4d,
45
lRating
= 0x504f504d,
46
lUserDefinedText
= 0x54585858,
48
sAlbum
= 0x54414c,
49
sArtist
= 0x545031,
50
sComment
= 0x434f4d,
51
sYear
= 0x545945,
52
sOriginalYear
= 0x544F5259,
53
sRecordingDates
= 0x545244,
54
sDate
= 0x544441,
55
sTime
= 0x54494D,
56
sTitle
= 0x545432,
57
sGenre
= 0x54434f,
58
sTrackPosition
= 0x54524b,
59
sDiskPosition
= 0x545041,
60
sEncoder
= 0x54454e,
61
sBpm
= 0x544250,
62
sCover
= 0x504943,
63
sWriter
= 0x545854,
64
sLength
= 0x544c45,
65
sLanguage
= 0x544c41,
66
sEncoderSettings
= 0x545353,
67
sUnsynchronizedLyrics
= 0x554C54,
68
sSynchronizedLyrics
= 0x534C54,
69
sAlbumArtist
= 0x545032,
70
sContentGroupDescription
= 0x545431,
71
sRecordLabel
= 0x545042,
72
sUniqueFileId
= 0x554649,
73
sComposer
= 0x54434d,
74
sRating
= 0x504f50,
75
sUserDefinedText
= 0x545858,
76
};
77
78
TAG_PARSER_EXPORT
std::uint32_t
convertToShortId
(std::uint32_t
id
);
79
TAG_PARSER_EXPORT
std::uint32_t
convertToLongId
(std::uint32_t
id
);
80
TAG_PARSER_EXPORT
bool
isPreId3v24Id
(std::uint32_t
id
);
81
TAG_PARSER_EXPORT
bool
isOnlyId3v24Id
(std::uint32_t
id
);
82
86
constexpr
bool
isLongId
(std::uint32_t
id
)
87
{
88
return
(
id
& 0x00ffffff) != id;
89
}
90
94
constexpr
bool
isShortId
(std::uint32_t
id
)
95
{
96
return
(
id
& 0x00ffffff) == id;
97
}
98
102
constexpr
bool
isTextFrame
(std::uint32_t
id
)
103
{
104
if
(
isShortId
(
id
)) {
105
return
((
id
& 0x00FF0000u) == 0x00540000u) && (
id
!=
Id3v2FrameIds::sUserDefinedText
);
106
}
else
{
107
return
(
id
& 0xFF000000u) == 0x54000000u && (
id
!=
Id3v2FrameIds::lUserDefinedText
);
108
}
109
}
110
111
}
// namespace Id3v2FrameIds
112
113
}
// namespace TagParser
114
#endif // TAG_PARSER_ID3V2FRAMEIDS_H
TagParser::Id3v2FrameIds::sTitle
@ sTitle
Definition:
id3v2frameids.h:56
TagParser::Id3v2FrameIds::sDiskPosition
@ sDiskPosition
Definition:
id3v2frameids.h:59
TagParser::Id3v2FrameIds::lCover
@ lCover
Definition:
id3v2frameids.h:33
TagParser::Id3v2FrameIds::sTime
@ sTime
Definition:
id3v2frameids.h:55
TagParser::Id3v2FrameIds::isOnlyId3v24Id
TAG_PARSER_EXPORT bool isOnlyId3v24Id(std::uint32_t id)
TagParser::Id3v2FrameIds::sUserDefinedText
@ sUserDefinedText
Definition:
id3v2frameids.h:75
TagParser::Id3v2FrameIds::lUserDefinedText
@ lUserDefinedText
Definition:
id3v2frameids.h:46
TagParser::Id3v2FrameIds::lReleaseTime
@ lReleaseTime
Definition:
id3v2frameids.h:24
TagParser::Id3v2FrameIds::lRecordDate
@ lRecordDate
Definition:
id3v2frameids.h:22
TagParser::Id3v2FrameIds::lAlbum
@ lAlbum
Definition:
id3v2frameids.h:14
TagParser::Id3v2FrameIds::isLongId
constexpr bool isLongId(std::uint32_t id)
Returns an indication whether the specified id is a long frame id.
Definition:
id3v2frameids.h:86
TagParser::Id3v2FrameIds::sTrackPosition
@ sTrackPosition
Definition:
id3v2frameids.h:58
TagParser::Id3v2FrameIds::sCover
@ sCover
Definition:
id3v2frameids.h:62
TagParser
Contains all classes and functions of the TagInfo library.
Definition:
aaccodebook.h:10
TagParser::Id3v2FrameIds::isPreId3v24Id
TAG_PARSER_EXPORT bool isPreId3v24Id(std::uint32_t id)
TagParser::Id3v2FrameIds::lComment
@ lComment
Definition:
id3v2frameids.h:16
TagParser::Id3v2FrameIds::lTitle
@ lTitle
Definition:
id3v2frameids.h:27
TagParser::Id3v2FrameIds::lTrackPosition
@ lTrackPosition
Definition:
id3v2frameids.h:29
TagParser::Id3v2FrameIds::sRating
@ sRating
Definition:
id3v2frameids.h:74
TagParser::Id3v2FrameIds::lLanguage
@ lLanguage
Definition:
id3v2frameids.h:36
TagParser::Id3v2FrameIds::lRecordingTime
@ lRecordingTime
Definition:
id3v2frameids.h:23
TagParser::Id3v2FrameIds::lTime
@ lTime
Definition:
id3v2frameids.h:21
TagParser::Id3v2FrameIds::sYear
@ sYear
Definition:
id3v2frameids.h:51
TagParser::Id3v2FrameIds::isShortId
constexpr bool isShortId(std::uint32_t id)
Returns an indication whether the specified id is a short frame id.
Definition:
id3v2frameids.h:94
TagParser::Id3v2FrameIds::lLength
@ lLength
Definition:
id3v2frameids.h:35
TagParser::Id3v2FrameIds::lGenre
@ lGenre
Definition:
id3v2frameids.h:28
TagParser::Id3v2FrameIds::sSynchronizedLyrics
@ sSynchronizedLyrics
Definition:
id3v2frameids.h:68
TagParser::Id3v2FrameIds::sAlbum
@ sAlbum
Definition:
id3v2frameids.h:48
TagParser::Id3v2FrameIds::sEncoder
@ sEncoder
Definition:
id3v2frameids.h:60
TagParser::Id3v2FrameIds::sRecordingDates
@ sRecordingDates
Definition:
id3v2frameids.h:53
TagParser::Id3v2FrameIds::isTextFrame
constexpr bool isTextFrame(std::uint32_t id)
Returns an indication whether the specified id is a text frame id.
Definition:
id3v2frameids.h:102
TagParser::Id3v2FrameIds::sBpm
@ sBpm
Definition:
id3v2frameids.h:61
TagParser::Id3v2FrameIds::sComposer
@ sComposer
Definition:
id3v2frameids.h:73
TagParser::Id3v2FrameIds::sWriter
@ sWriter
Definition:
id3v2frameids.h:63
TagParser::Id3v2FrameIds::sUniqueFileId
@ sUniqueFileId
Definition:
id3v2frameids.h:72
TagParser::Id3v2FrameIds::lOriginalYear
@ lOriginalYear
Definition:
id3v2frameids.h:18
TagParser::Id3v2FrameIds::lRecordLabel
@ lRecordLabel
Definition:
id3v2frameids.h:42
TagParser::Id3v2FrameIds::lOriginalReleaseTime
@ lOriginalReleaseTime
Definition:
id3v2frameids.h:25
TagParser::Id3v2FrameIds::sContentGroupDescription
@ sContentGroupDescription
Definition:
id3v2frameids.h:70
TagParser::Id3v2FrameIds::lComposer
@ lComposer
Definition:
id3v2frameids.h:44
TagParser::Id3v2FrameIds::convertToShortId
TAG_PARSER_EXPORT std::uint32_t convertToShortId(std::uint32_t id)
Converts the specified long frame ID to the equivalent short frame ID.
Definition:
id3v2frameids.cpp:27
TagParser::Id3v2FrameIds::lDiskPosition
@ lDiskPosition
Definition:
id3v2frameids.h:30
TagParser::Id3v2FrameIds::sLength
@ sLength
Definition:
id3v2frameids.h:64
TagParser::Id3v2FrameIds::lWriter
@ lWriter
Definition:
id3v2frameids.h:34
TagParser::Id3v2FrameIds::lAlbumArtist
@ lAlbumArtist
Definition:
id3v2frameids.h:40
TagParser::Id3v2FrameIds::lDate
@ lDate
Definition:
id3v2frameids.h:20
TagParser::Id3v2FrameIds::lUnsynchronizedLyrics
@ lUnsynchronizedLyrics
Definition:
id3v2frameids.h:38
TagParser::Id3v2FrameIds::sEncoderSettings
@ sEncoderSettings
Definition:
id3v2frameids.h:66
TagParser::Id3v2FrameIds::KnownValue
KnownValue
Definition:
id3v2frameids.h:13
TagParser::Id3v2FrameIds::sAlbumArtist
@ sAlbumArtist
Definition:
id3v2frameids.h:69
TagParser::Id3v2FrameIds::sUnsynchronizedLyrics
@ sUnsynchronizedLyrics
Definition:
id3v2frameids.h:67
TagParser::Id3v2FrameIds::lUniqueFileId
@ lUniqueFileId
Definition:
id3v2frameids.h:43
TagParser::Id3v2FrameIds::sGenre
@ sGenre
Definition:
id3v2frameids.h:57
TAG_PARSER_EXPORT
#define TAG_PARSER_EXPORT
Marks the symbol to be exported by the tagparser library.
TagParser::Id3v2FrameIds::lSynchronizedLyrics
@ lSynchronizedLyrics
Definition:
id3v2frameids.h:39
TagParser::Id3v2FrameIds::lContentGroupDescription
@ lContentGroupDescription
Definition:
id3v2frameids.h:41
TagParser::Id3v2FrameIds::lArtist
@ lArtist
Definition:
id3v2frameids.h:15
TagParser::Id3v2FrameIds::lRating
@ lRating
Definition:
id3v2frameids.h:45
TagParser::Id3v2FrameIds::lTaggingTime
@ lTaggingTime
Definition:
id3v2frameids.h:26
TagParser::Id3v2FrameIds::sComment
@ sComment
Definition:
id3v2frameids.h:50
TagParser::Id3v2FrameIds::sOriginalYear
@ sOriginalYear
Definition:
id3v2frameids.h:52
TagParser::Id3v2FrameIds::convertToLongId
TAG_PARSER_EXPORT std::uint32_t convertToLongId(std::uint32_t id)
Converts the specified short frame ID to the equivalent long frame ID.
Definition:
id3v2frameids.cpp:87
TagParser::Id3v2FrameIds::sDate
@ sDate
Definition:
id3v2frameids.h:54
TagParser::Id3v2FrameIds::lBpm
@ lBpm
Definition:
id3v2frameids.h:32
TagParser::Id3v2FrameIds::sRecordLabel
@ sRecordLabel
Definition:
id3v2frameids.h:71
TagParser::Id3v2FrameIds::lEncoder
@ lEncoder
Definition:
id3v2frameids.h:31
TagParser::Id3v2FrameIds::lEncoderSettings
@ lEncoderSettings
Definition:
id3v2frameids.h:37
TagParser::Id3v2FrameIds::sArtist
@ sArtist
Definition:
id3v2frameids.h:49
TagParser::Id3v2FrameIds::lRecordingDates
@ lRecordingDates
Definition:
id3v2frameids.h:19
TagParser::Id3v2FrameIds::sLanguage
@ sLanguage
Definition:
id3v2frameids.h:65
TagParser::Id3v2FrameIds::lYear
@ lYear
Definition:
id3v2frameids.h:17
Generated on Sat Oct 10 2020 15:21:48 for Tag Parser by
1.8.20