Tag Parser 12.5.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
id3v2frameids.cpp
Go to the documentation of this file.
1#include "./id3v2frameids.h"
2
3#include "../exceptions.h"
4
5namespace TagParser {
6
21namespace Id3v2FrameIds {
22
27std::uint32_t convertToShortId(std::uint32_t id)
28{
29 switch (id) {
30 case lAlbum:
31 return sAlbum;
32 case lArtist:
33 return sArtist;
34 case lComment:
35 return sComment;
36 case lYear:
37 return sYear;
38 case lOriginalYear:
39 return sOriginalYear;
41 return sOriginalMediaType;
42 case lRecordingDates:
43 return sRecordingDates;
44 case lDate:
45 return sDate;
46 case lTime:
47 return sTime;
48 case lTitle:
49 return sTitle;
50 case lGenre:
51 return sGenre;
52 case lTrackPosition:
53 return sTrackPosition;
54 case lDiskPosition:
55 return sDiskPosition;
56 case lEncoder:
57 return sEncoder;
58 case lBpm:
59 return sBpm;
60 case lCover:
61 return sCover;
62 case lWriter:
63 return sWriter;
64 case lLength:
65 return sLength;
66 case lLanguage:
67 return sLanguage;
69 return sEncoderSettings;
72 case lAlbumArtist:
73 return sAlbumArtist;
76 case lRecordLabel:
77 return sRecordLabel;
79 return sUserDefinedText;
80 case lRemixedBy:
81 return sRemixedBy;
82 case lCopyright:
83 return sCopyright;
84 case lPlayCounter:
85 return sPlayCounter;
86 case lRating:
87 return sRating;
88 case lISRC:
89 return sISRC;
90 case lKey:
91 return sKey;
93 return sPublisherWebpage;
99 return sAudioFileWebpage;
101 return sAudioSourceWebpage;
103 return sPerformerWebpage;
104 case lUserDefinedURL:
105 return sUserDefinedURL;
108 default:
109 return 0;
110 }
111}
112
117std::uint32_t convertToLongId(std::uint32_t id)
118{
119 switch (id) {
120 case sAlbum:
121 return lAlbum;
122 case sArtist:
123 return lArtist;
124 case sComment:
125 return lComment;
126 case sYear:
127 return lYear;
128 case sOriginalYear:
129 return lOriginalYear;
131 return lOriginalMediaType;
132 case sRecordingDates:
133 return lRecordingDates;
134 case sDate:
135 return lDate;
136 case sTime:
137 return lTime;
138 case sTitle:
139 return lTitle;
140 case sGenre:
141 return lGenre;
142 case sTrackPosition:
143 return lTrackPosition;
144 case sDiskPosition:
145 return lDiskPosition;
146 case sEncoder:
147 return lEncoder;
148 case sBpm:
149 return lBpm;
150 case sCover:
151 return lCover;
152 case sWriter:
153 return lWriter;
154 case sLength:
155 return lLength;
156 case sLanguage:
157 return lLanguage;
158 case sEncoderSettings:
159 return lEncoderSettings;
162 case sAlbumArtist:
163 return lAlbumArtist;
166 case sRecordLabel:
167 return lRecordLabel;
168 case sUserDefinedText:
169 return lUserDefinedText;
170 case sRemixedBy:
171 return lRemixedBy;
172 case sCopyright:
173 return lCopyright;
174 case sPlayCounter:
175 return lPlayCounter;
176 case sRating:
177 return lRating;
178 case sISRC:
179 return lISRC;
180 case sKey:
181 return lKey;
183 return lPublisherWebpage;
189 return lAudioFileWebpage;
191 return lAudioSourceWebpage;
193 return lPerformerWebpage;
194 case sUserDefinedURL:
195 return lUserDefinedURL;
198 default:
199 return 0;
200 }
201}
202
210bool isPreId3v24Id(uint32_t id)
211{
212 switch (id) {
213 case lYear:
214 case lOriginalYear:
215 case lRecordingDates:
216 case lDate:
217 case lTime:
218 return true;
219 default:
220 return false;
221 }
222}
223
228bool isOnlyId3v24Id(uint32_t id)
229{
230 switch (id) {
231 case lRecordingTime:
232 case lReleaseTime:
234 case lTaggingTime:
235 return true;
236 default:
237 return false;
238 }
239}
240
241} // namespace Id3v2FrameIds
242
243} // namespace TagParser
Encapsulates the most common ID3v2 frame IDs and related functions.
TAG_PARSER_EXPORT bool isPreId3v24Id(std::uint32_t id)
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 bool isOnlyId3v24Id(std::uint32_t id)
TAG_PARSER_EXPORT std::uint32_t convertToLongId(std::uint32_t id)
Converts the specified short frame ID to the equivalent long frame ID.
Contains all classes and functions of the TagInfo library.
Definition aaccodebook.h:10