Tag Parser 11.0.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 default:
79 return 0;
80 }
81}
82
87std::uint32_t convertToLongId(std::uint32_t id)
88{
89 switch (id) {
90 case sAlbum:
91 return lAlbum;
92 case sArtist:
93 return lArtist;
94 case sComment:
95 return lComment;
96 case sYear:
97 return lYear;
98 case sOriginalYear:
99 return lOriginalYear;
100 case sRecordingDates:
101 return lRecordingDates;
102 case sDate:
103 return lDate;
104 case sTime:
105 return lTime;
106 case sTitle:
107 return lTitle;
108 case sGenre:
109 return lGenre;
110 case sTrackPosition:
111 return lTrackPosition;
112 case sDiskPosition:
113 return lDiskPosition;
114 case sEncoder:
115 return lEncoder;
116 case sBpm:
117 return lBpm;
118 case sCover:
119 return lCover;
120 case sWriter:
121 return lWriter;
122 case sLength:
123 return lLength;
124 case sLanguage:
125 return lLanguage;
126 case sEncoderSettings:
127 return lEncoderSettings;
130 case sAlbumArtist:
131 return lAlbumArtist;
134 case sRecordLabel:
135 return lRecordLabel;
136 case sUserDefinedText:
137 return lUserDefinedText;
138 default:
139 return 0;
140 }
141}
142
150bool isPreId3v24Id(uint32_t id)
151{
152 switch (id) {
153 case lYear:
154 case lOriginalYear:
155 case lRecordingDates:
156 case lDate:
157 case lTime:
158 return true;
159 default:
160 return false;
161 }
162}
163
168bool isOnlyId3v24Id(uint32_t id)
169{
170 switch (id) {
171 case lRecordingTime:
172 case lReleaseTime:
174 case lTaggingTime:
175 return true;
176 default:
177 return false;
178 }
179}
180
181} // namespace Id3v2FrameIds
182
183} // 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