Tag Parser 11.2.0
C++ library for reading and writing MP4 (iTunes), ID3, Vorbis, Opus, FLAC and Matroska tags
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;
40 case lRecordingDates:
41 return sRecordingDates;
42 case lDate:
43 return sDate;
44 case lTime:
45 return sTime;
46 case lTitle:
47 return sTitle;
48 case lGenre:
49 return sGenre;
50 case lTrackPosition:
51 return sTrackPosition;
52 case lDiskPosition:
53 return sDiskPosition;
54 case lEncoder:
55 return sEncoder;
56 case lBpm:
57 return sBpm;
58 case lCover:
59 return sCover;
60 case lWriter:
61 return sWriter;
62 case lLength:
63 return sLength;
64 case lLanguage:
65 return sLanguage;
67 return sEncoderSettings;
70 case lAlbumArtist:
71 return sAlbumArtist;
74 case lRecordLabel:
75 return sRecordLabel;
77 return sUserDefinedText;
78 case lRemixedBy:
79 return sRemixedBy;
80 case lCopyright:
81 return sCopyright;
82 case lISRC:
83 return sISRC;
84 default:
85 return 0;
86 }
87}
88
93std::uint32_t convertToLongId(std::uint32_t id)
94{
95 switch (id) {
96 case sAlbum:
97 return lAlbum;
98 case sArtist:
99 return lArtist;
100 case sComment:
101 return lComment;
102 case sYear:
103 return lYear;
104 case sOriginalYear:
105 return lOriginalYear;
106 case sRecordingDates:
107 return lRecordingDates;
108 case sDate:
109 return lDate;
110 case sTime:
111 return lTime;
112 case sTitle:
113 return lTitle;
114 case sGenre:
115 return lGenre;
116 case sTrackPosition:
117 return lTrackPosition;
118 case sDiskPosition:
119 return lDiskPosition;
120 case sEncoder:
121 return lEncoder;
122 case sBpm:
123 return lBpm;
124 case sCover:
125 return lCover;
126 case sWriter:
127 return lWriter;
128 case sLength:
129 return lLength;
130 case sLanguage:
131 return lLanguage;
132 case sEncoderSettings:
133 return lEncoderSettings;
136 case sAlbumArtist:
137 return lAlbumArtist;
140 case sRecordLabel:
141 return lRecordLabel;
142 case sUserDefinedText:
143 return lUserDefinedText;
144 case sRemixedBy:
145 return lRemixedBy;
146 case sCopyright:
147 return lCopyright;
148 case sISRC:
149 return lISRC;
150 default:
151 return 0;
152 }
153}
154
162bool isPreId3v24Id(uint32_t id)
163{
164 switch (id) {
165 case lYear:
166 case lOriginalYear:
167 case lRecordingDates:
168 case lDate:
169 case lTime:
170 return true;
171 default:
172 return false;
173 }
174}
175
180bool isOnlyId3v24Id(uint32_t id)
181{
182 switch (id) {
183 case lRecordingTime:
184 case lReleaseTime:
186 case lTaggingTime:
187 return true;
188 default:
189 return false;
190 }
191}
192
193} // namespace Id3v2FrameIds
194
195} // namespace TagParser
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