Tag Parser
9.1.2
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 <cstdint>
5
6
#include <string>
7
8
namespace
TagParser
{
9
10
namespace
Id3v2FrameIds {
11
enum
KnownValue
: std::uint32_t {
12
lAlbum
= 0x54414c42,
13
lArtist
= 0x54504531,
14
lComment
= 0x434f4d4d,
15
lYear
= 0x54594552,
16
lRecordDate
= 0x54445243,
17
lTitle
= 0x54495432,
18
lGenre
= 0x54434f4e,
19
lTrackPosition
= 0x5452434b,
20
lDiskPosition
= 0x54504f53,
21
lEncoder
= 0x54454e43,
22
lBpm
= 0x5442504d,
23
lCover
= 0x41504943,
24
lWriter
= 0x54455854,
25
lLength
= 0x544c454e,
26
lLanguage
= 0x544c414e,
27
lEncoderSettings
= 0x54535345,
28
lUnsynchronizedLyrics
= 0x55534c54,
29
lSynchronizedLyrics
= 0x53594C54,
30
lAlbumArtist
= 0x54504532,
31
lContentGroupDescription
= 0x54495431,
32
lRecordLabel
= 0x54505542,
33
lUniqueFileId
= 0x55464944,
34
lComposer
= 0x54434f4d,
35
lRating
= 0x504f504d,
36
lUserDefinedText
= 0x54585858,
37
38
sAlbum
= 0x54414c,
39
sArtist
= 0x545031,
40
sComment
= 0x434f4d,
41
sYear
= 0x545945,
42
sRecordDate
= 0x545243,
43
sTitle
= 0x545432,
44
sGenre
= 0x54434f,
45
sTrackPosition
= 0x54524b,
46
sDiskPosition
= 0x545041,
47
sEncoder
= 0x54454e,
48
sBpm
= 0x544250,
49
sCover
= 0x504943,
50
sWriter
= 0x545854,
51
sLength
= 0x544c45,
52
sLanguage
= 0x544c41,
53
sEncoderSettings
= 0x545353,
54
sUnsynchronizedLyrics
= 0x554C54,
55
sSynchronizedLyrics
= 0x534C54,
56
sAlbumArtist
= 0x545032,
57
sContentGroupDescription
= 0x545431,
58
sRecordLabel
= 0x545042,
59
sUniqueFileId
= 0x554649,
60
sComposer
= 0x54434d,
61
sRating
= 0x504f50,
62
sUserDefinedText
= 0x545858,
63
};
64
65
std::uint32_t
convertToShortId
(std::uint32_t
id
);
66
std::uint32_t
convertToLongId
(std::uint32_t
id
);
67
71
constexpr
bool
isLongId
(std::uint32_t
id
)
72
{
73
return
(
id
& 0x00ffffff) != id;
74
}
75
79
constexpr
bool
isShortId
(std::uint32_t
id
)
80
{
81
return
(
id
& 0x00ffffff) == id;
82
}
83
87
constexpr
bool
isTextFrame
(std::uint32_t
id
)
88
{
89
if
(
isShortId
(
id
)) {
90
return
((
id
& 0x00FF0000u) == 0x00540000u) && (
id
!=
Id3v2FrameIds::sUserDefinedText
);
91
}
else
{
92
return
(
id
& 0xFF000000u) == 0x54000000u && (
id
!=
Id3v2FrameIds::lUserDefinedText
);
93
}
94
}
95
96
}
// namespace Id3v2FrameIds
97
98
}
// namespace TagParser
99
#endif // TAG_PARSER_ID3V2FRAMEIDS_H
TagParser::Id3v2FrameIds::sTitle
@ sTitle
Definition:
id3v2frameids.h:43
TagParser::Id3v2FrameIds::sDiskPosition
@ sDiskPosition
Definition:
id3v2frameids.h:46
TagParser::Id3v2FrameIds::lCover
@ lCover
Definition:
id3v2frameids.h:23
TagParser::Id3v2FrameIds::sUserDefinedText
@ sUserDefinedText
Definition:
id3v2frameids.h:62
TagParser::Id3v2FrameIds::lUserDefinedText
@ lUserDefinedText
Definition:
id3v2frameids.h:36
TagParser::Id3v2FrameIds::lRecordDate
@ lRecordDate
Definition:
id3v2frameids.h:16
TagParser::Id3v2FrameIds::lAlbum
@ lAlbum
Definition:
id3v2frameids.h:12
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:71
TagParser::Id3v2FrameIds::sTrackPosition
@ sTrackPosition
Definition:
id3v2frameids.h:45
TagParser::Id3v2FrameIds::sCover
@ sCover
Definition:
id3v2frameids.h:49
TagParser
Contains all classes and functions of the TagInfo library.
Definition:
aaccodebook.h:10
TagParser::Id3v2FrameIds::lComment
@ lComment
Definition:
id3v2frameids.h:14
TagParser::Id3v2FrameIds::lTitle
@ lTitle
Definition:
id3v2frameids.h:17
TagParser::Id3v2FrameIds::lTrackPosition
@ lTrackPosition
Definition:
id3v2frameids.h:19
TagParser::Id3v2FrameIds::sRating
@ sRating
Definition:
id3v2frameids.h:61
TagParser::Id3v2FrameIds::lLanguage
@ lLanguage
Definition:
id3v2frameids.h:26
TagParser::Id3v2FrameIds::sYear
@ sYear
Definition:
id3v2frameids.h:41
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:79
TagParser::Id3v2FrameIds::lLength
@ lLength
Definition:
id3v2frameids.h:25
TagParser::Id3v2FrameIds::lGenre
@ lGenre
Definition:
id3v2frameids.h:18
TagParser::Id3v2FrameIds::sSynchronizedLyrics
@ sSynchronizedLyrics
Definition:
id3v2frameids.h:55
TagParser::Id3v2FrameIds::sAlbum
@ sAlbum
Definition:
id3v2frameids.h:38
TagParser::Id3v2FrameIds::sEncoder
@ sEncoder
Definition:
id3v2frameids.h:47
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:87
TagParser::Id3v2FrameIds::sBpm
@ sBpm
Definition:
id3v2frameids.h:48
TagParser::Id3v2FrameIds::sComposer
@ sComposer
Definition:
id3v2frameids.h:60
TagParser::Id3v2FrameIds::sWriter
@ sWriter
Definition:
id3v2frameids.h:50
TagParser::Id3v2FrameIds::sUniqueFileId
@ sUniqueFileId
Definition:
id3v2frameids.h:59
TagParser::Id3v2FrameIds::lRecordLabel
@ lRecordLabel
Definition:
id3v2frameids.h:32
TagParser::Id3v2FrameIds::sContentGroupDescription
@ sContentGroupDescription
Definition:
id3v2frameids.h:57
TagParser::Id3v2FrameIds::lComposer
@ lComposer
Definition:
id3v2frameids.h:34
TagParser::Id3v2FrameIds::convertToShortId
std::uint32_t convertToShortId(std::uint32_t id)
Converts the specified long frame ID to the equivalent short frame ID.
Definition:
id3v2frameids.cpp:23
TagParser::Id3v2FrameIds::lDiskPosition
@ lDiskPosition
Definition:
id3v2frameids.h:20
TagParser::Id3v2FrameIds::sLength
@ sLength
Definition:
id3v2frameids.h:51
TagParser::Id3v2FrameIds::lWriter
@ lWriter
Definition:
id3v2frameids.h:24
TagParser::Id3v2FrameIds::lAlbumArtist
@ lAlbumArtist
Definition:
id3v2frameids.h:30
TagParser::Id3v2FrameIds::lUnsynchronizedLyrics
@ lUnsynchronizedLyrics
Definition:
id3v2frameids.h:28
TagParser::Id3v2FrameIds::sRecordDate
@ sRecordDate
Definition:
id3v2frameids.h:42
TagParser::Id3v2FrameIds::sEncoderSettings
@ sEncoderSettings
Definition:
id3v2frameids.h:53
TagParser::Id3v2FrameIds::KnownValue
KnownValue
Definition:
id3v2frameids.h:11
TagParser::Id3v2FrameIds::sAlbumArtist
@ sAlbumArtist
Definition:
id3v2frameids.h:56
TagParser::Id3v2FrameIds::sUnsynchronizedLyrics
@ sUnsynchronizedLyrics
Definition:
id3v2frameids.h:54
TagParser::Id3v2FrameIds::lUniqueFileId
@ lUniqueFileId
Definition:
id3v2frameids.h:33
TagParser::Id3v2FrameIds::sGenre
@ sGenre
Definition:
id3v2frameids.h:44
TagParser::Id3v2FrameIds::lSynchronizedLyrics
@ lSynchronizedLyrics
Definition:
id3v2frameids.h:29
TagParser::Id3v2FrameIds::lContentGroupDescription
@ lContentGroupDescription
Definition:
id3v2frameids.h:31
TagParser::Id3v2FrameIds::lArtist
@ lArtist
Definition:
id3v2frameids.h:13
TagParser::Id3v2FrameIds::lRating
@ lRating
Definition:
id3v2frameids.h:35
TagParser::Id3v2FrameIds::sComment
@ sComment
Definition:
id3v2frameids.h:40
TagParser::Id3v2FrameIds::convertToLongId
std::uint32_t convertToLongId(std::uint32_t id)
Converts the specified short frame ID to the equivalent long frame ID.
Definition:
id3v2frameids.cpp:77
TagParser::Id3v2FrameIds::lBpm
@ lBpm
Definition:
id3v2frameids.h:22
TagParser::Id3v2FrameIds::sRecordLabel
@ sRecordLabel
Definition:
id3v2frameids.h:58
TagParser::Id3v2FrameIds::lEncoder
@ lEncoder
Definition:
id3v2frameids.h:21
TagParser::Id3v2FrameIds::lEncoderSettings
@ lEncoderSettings
Definition:
id3v2frameids.h:27
TagParser::Id3v2FrameIds::sArtist
@ sArtist
Definition:
id3v2frameids.h:39
TagParser::Id3v2FrameIds::sLanguage
@ sLanguage
Definition:
id3v2frameids.h:52
TagParser::Id3v2FrameIds::lYear
@ lYear
Definition:
id3v2frameids.h:15
Generated on Wed Feb 12 2020 10:06:02 for Tag Parser by
1.8.17