Tag Parser 12.5.1
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
Loading...
Searching...
No Matches
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