Tag Parser  10.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 
5 namespace TagParser {
6 
21 namespace Id3v2FrameIds {
22 
27 std::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;
66  case lEncoderSettings:
67  return sEncoderSettings;
69  return sUnsynchronizedLyrics;
70  case lAlbumArtist:
71  return sAlbumArtist;
74  case lRecordLabel:
75  return sRecordLabel;
76  case lUserDefinedText:
77  return sUserDefinedText;
78  default:
79  return 0;
80  }
81 }
82 
87 std::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;
129  return lUnsynchronizedLyrics;
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 
150 bool 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 
168 bool 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