Tag Parser 11.1.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 default:
83 return 0;
84 }
85}
86
91std::uint32_t convertToLongId(std::uint32_t id)
92{
93 switch (id) {
94 case sAlbum:
95 return lAlbum;
96 case sArtist:
97 return lArtist;
98 case sComment:
99 return lComment;
100 case sYear:
101 return lYear;
102 case sOriginalYear:
103 return lOriginalYear;
104 case sRecordingDates:
105 return lRecordingDates;
106 case sDate:
107 return lDate;
108 case sTime:
109 return lTime;
110 case sTitle:
111 return lTitle;
112 case sGenre:
113 return lGenre;
114 case sTrackPosition:
115 return lTrackPosition;
116 case sDiskPosition:
117 return lDiskPosition;
118 case sEncoder:
119 return lEncoder;
120 case sBpm:
121 return lBpm;
122 case sCover:
123 return lCover;
124 case sWriter:
125 return lWriter;
126 case sLength:
127 return lLength;
128 case sLanguage:
129 return lLanguage;
130 case sEncoderSettings:
131 return lEncoderSettings;
134 case sAlbumArtist:
135 return lAlbumArtist;
138 case sRecordLabel:
139 return lRecordLabel;
140 case sUserDefinedText:
141 return lUserDefinedText;
142 case sRemixedBy:
143 return lRemixedBy;
144 case sCopyright:
145 return lCopyright;
146 default:
147 return 0;
148 }
149}
150
158bool isPreId3v24Id(uint32_t id)
159{
160 switch (id) {
161 case lYear:
162 case lOriginalYear:
163 case lRecordingDates:
164 case lDate:
165 case lTime:
166 return true;
167 default:
168 return false;
169 }
170}
171
176bool isOnlyId3v24Id(uint32_t id)
177{
178 switch (id) {
179 case lRecordingTime:
180 case lReleaseTime:
182 case lTaggingTime:
183 return true;
184 default:
185 return false;
186 }
187}
188
189} // namespace Id3v2FrameIds
190
191} // 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