2
* Jaudiotagger Copyright (C)2004,2005
4
* This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser
5
* General Public License as published by the Free Software Foundation; either version 2.1 of the License,
6
* or (at your option) any later version.
8
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
9
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10
* See the GNU Lesser General Public License for more details.
12
* You should have received a copy of the GNU Lesser General Public License along with this library; if not,
13
* you can get a copy from http://www.opensource.org/licenses/lgpl-license.php or write to the Free Software
14
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
package org.jaudiotagger.tag.id3;
18
import org.jaudiotagger.tag.TagFieldKey;
20
import java.util.EnumMap;
23
* Defines ID3v24 frames and collections that categorise frames.
25
* <p>You can include frames here that are not officially supported as long as they can be used within an
29
* @version $Id: ID3v24Frames.java,v 1.16 2008/12/05 11:11:56 paultaylor Exp $
31
public class ID3v24Frames extends ID3Frames
34
* Frame IDs begining with T are text frames, & with W are url frames
36
public static final String FRAME_ID_ACCOMPANIMENT = "TPE2";
37
public static final String FRAME_ID_ALBUM = "TALB";
38
public static final String FRAME_ID_ALBUM_SORT_ORDER = "TSOA";
39
public static final String FRAME_ID_ARTIST = "TPE1";
40
public static final String FRAME_ID_ATTACHED_PICTURE = "APIC";
41
public static final String FRAME_ID_AUDIO_ENCRYPTION = "AENC";
42
public static final String FRAME_ID_AUDIO_SEEK_POINT_INDEX = "ASPI";
43
public static final String FRAME_ID_BPM = "TBPM";
44
public static final String FRAME_ID_COMMENT = "COMM";
45
public static final String FRAME_ID_COMMERCIAL_FRAME = "COMR";
46
public static final String FRAME_ID_COMPOSER = "TCOM";
47
public static final String FRAME_ID_CONDUCTOR = "TPE3";
48
public static final String FRAME_ID_CONTENT_GROUP_DESC = "TIT1";
49
public static final String FRAME_ID_COPYRIGHTINFO = "TCOP";
50
public static final String FRAME_ID_ENCODEDBY = "TENC";
51
public static final String FRAME_ID_ENCODING_TIME = "TDEN";
52
public static final String FRAME_ID_ENCRYPTION = "ENCR";
53
public static final String FRAME_ID_EQUALISATION2 = "EQU2";
54
public static final String FRAME_ID_EVENT_TIMING_CODES = "ETCO";
55
public static final String FRAME_ID_FILE_OWNER = "TOWN";
56
public static final String FRAME_ID_FILE_TYPE = "TFLT";
57
public static final String FRAME_ID_GENERAL_ENCAPS_OBJECT = "GEOB";
58
public static final String FRAME_ID_GENRE = "TCON";
59
public static final String FRAME_ID_GROUP_ID_REG = "GRID";
60
public static final String FRAME_ID_HW_SW_SETTINGS = "TSSE";
61
public static final String FRAME_ID_INITIAL_KEY = "TKEY";
62
public static final String FRAME_ID_INVOLVED_PEOPLE = "TIPL";
63
public static final String FRAME_ID_ISRC = "TSRC";
64
public static final String FRAME_ID_LANGUAGE = "TLAN";
65
public static final String FRAME_ID_LENGTH = "TLEN";
66
public static final String FRAME_ID_LINKED_INFO = "LINK";
67
public static final String FRAME_ID_LYRICIST = "TEXT";
68
public static final String FRAME_ID_MEDIA_TYPE = "TMED";
69
public static final String FRAME_ID_MOOD = "TMOO";
70
public static final String FRAME_ID_MPEG_LOCATION_LOOKUP_TABLE = "MLLT";
71
public static final String FRAME_ID_MUSICIAN_CREDITS = "TMCL";
72
public static final String FRAME_ID_MUSIC_CD_ID = "MCDI";
73
public static final String FRAME_ID_ORIGARTIST = "TOPE";
74
public static final String FRAME_ID_ORIGINAL_RELEASE_TIME = "TDOR";
75
public static final String FRAME_ID_ORIG_FILENAME = "TOFN";
76
public static final String FRAME_ID_ORIG_LYRICIST = "TOLY";
77
public static final String FRAME_ID_ORIG_TITLE = "TOAL";
78
public static final String FRAME_ID_OWNERSHIP = "OWNE";
79
public static final String FRAME_ID_ARTIST_SORT_ORDER = "TSOP";
80
public static final String FRAME_ID_PLAYLIST_DELAY = "TDLY";
81
public static final String FRAME_ID_PLAY_COUNTER = "PCNT";
82
public static final String FRAME_ID_POPULARIMETER = "POPM";
83
public static final String FRAME_ID_POSITION_SYNC = "POSS";
84
public static final String FRAME_ID_PRIVATE = "PRIV";
85
public static final String FRAME_ID_PRODUCED_NOTICE = "TPRO";
86
public static final String FRAME_ID_PUBLISHER = "TPUB";
87
public static final String FRAME_ID_RADIO_NAME = "TRSN";
88
public static final String FRAME_ID_RADIO_OWNER = "TRSO";
89
public static final String FRAME_ID_RECOMMENDED_BUFFER_SIZE = "RBUF";
90
public static final String FRAME_ID_RELATIVE_VOLUME_ADJUSTMENT2 = "RVA2";
91
public static final String FRAME_ID_RELEASE_TIME = "TDRL";
92
public static final String FRAME_ID_REMIXED = "TPE4";
93
public static final String FRAME_ID_REVERB = "RVRB";
94
public static final String FRAME_ID_SEEK = "SEEK";
95
public static final String FRAME_ID_SET = "TPOS";
96
public static final String FRAME_ID_SET_SUBTITLE = "TSST";
97
public static final String FRAME_ID_SIGNATURE = "SIGN";
98
public static final String FRAME_ID_SYNC_LYRIC = "SYLT";
99
public static final String FRAME_ID_SYNC_TEMPO = "SYTC";
100
public static final String FRAME_ID_TAGGING_TIME = "TDTG";
101
public static final String FRAME_ID_TERMS_OF_USE = "USER";
102
public static final String FRAME_ID_TITLE = "TIT2";
103
public static final String FRAME_ID_TITLE_REFINEMENT = "TIT3";
104
public static final String FRAME_ID_TITLE_SORT_ORDER = "TSOT";
105
public static final String FRAME_ID_TRACK = "TRCK";
106
public static final String FRAME_ID_UNIQUE_FILE_ID = "UFID";
107
public static final String FRAME_ID_UNSYNC_LYRICS = "USLT";
108
public static final String FRAME_ID_URL_ARTIST_WEB = "WOAR";
109
public static final String FRAME_ID_URL_COMMERCIAL = "WCOM";
110
public static final String FRAME_ID_URL_COPYRIGHT = "WCOP";
111
public static final String FRAME_ID_URL_FILE_WEB = "WOAF";
112
public static final String FRAME_ID_URL_OFFICIAL_RADIO = "WORS";
113
public static final String FRAME_ID_URL_PAYMENT = "WPAY";
114
public static final String FRAME_ID_URL_PUBLISHERS = "WPUB";
115
public static final String FRAME_ID_URL_SOURCE_WEB = "WOAS";
116
public static final String FRAME_ID_USER_DEFINED_INFO = "TXXX";
117
public static final String FRAME_ID_USER_DEFINED_URL = "WXXX";
118
public static final String FRAME_ID_YEAR = "TDRC";
120
public static final String FRAME_ID_ALBUM_ARTIST_SORT_ORDER_ITUNES = "TSO2";
121
public static final String FRAME_ID_COMPOSER_SORT_ORDER_ITUNES = "TSOC";
122
public static final String FRAME_ID_IS_COMPILATION = "TCMP";
124
//TODO this is temporary to provide backwards compatability
125
public static final String FRAME_ID_PERFORMER_SORT_OWNER = FRAME_ID_ARTIST_SORT_ORDER;
126
public static final String FRAME_ID_TITLE_SORT_OWNER = FRAME_ID_TITLE_SORT_ORDER;
128
protected EnumMap<TagFieldKey, ID3v24FieldKey> tagFieldToId3 = new EnumMap<TagFieldKey, ID3v24FieldKey>(TagFieldKey.class);
130
private static ID3v24Frames id3v24Frames;
132
public static ID3v24Frames getInstanceOf()
134
if (id3v24Frames == null)
136
id3v24Frames = new ID3v24Frames();
141
private ID3v24Frames()
143
supportedFrames.add(FRAME_ID_ACCOMPANIMENT);
144
supportedFrames.add(FRAME_ID_ALBUM);
145
supportedFrames.add(FRAME_ID_ALBUM_SORT_ORDER);
146
supportedFrames.add(FRAME_ID_ARTIST);
147
supportedFrames.add(FRAME_ID_ATTACHED_PICTURE);
148
supportedFrames.add(FRAME_ID_AUDIO_ENCRYPTION);
149
supportedFrames.add(FRAME_ID_AUDIO_SEEK_POINT_INDEX);
150
supportedFrames.add(FRAME_ID_BPM);
151
supportedFrames.add(FRAME_ID_COMMENT);
152
supportedFrames.add(FRAME_ID_COMMERCIAL_FRAME);
153
supportedFrames.add(FRAME_ID_COMPOSER);
154
supportedFrames.add(FRAME_ID_CONDUCTOR);
155
supportedFrames.add(FRAME_ID_CONTENT_GROUP_DESC);
156
supportedFrames.add(FRAME_ID_COPYRIGHTINFO);
157
supportedFrames.add(FRAME_ID_ENCODEDBY);
158
supportedFrames.add(FRAME_ID_ENCODING_TIME);
159
supportedFrames.add(FRAME_ID_ENCRYPTION);
160
supportedFrames.add(FRAME_ID_EQUALISATION2);
161
supportedFrames.add(FRAME_ID_EVENT_TIMING_CODES);
162
supportedFrames.add(FRAME_ID_FILE_OWNER);
163
supportedFrames.add(FRAME_ID_FILE_TYPE);
164
supportedFrames.add(FRAME_ID_GENERAL_ENCAPS_OBJECT);
165
supportedFrames.add(FRAME_ID_GENRE);
166
supportedFrames.add(FRAME_ID_GROUP_ID_REG);
167
supportedFrames.add(FRAME_ID_HW_SW_SETTINGS);
168
supportedFrames.add(FRAME_ID_INITIAL_KEY);
169
supportedFrames.add(FRAME_ID_INVOLVED_PEOPLE);
170
supportedFrames.add(FRAME_ID_ISRC);
171
supportedFrames.add(FRAME_ID_LANGUAGE);
172
supportedFrames.add(FRAME_ID_LENGTH);
173
supportedFrames.add(FRAME_ID_LINKED_INFO);
174
supportedFrames.add(FRAME_ID_LYRICIST);
175
supportedFrames.add(FRAME_ID_MEDIA_TYPE);
176
supportedFrames.add(FRAME_ID_MOOD);
177
supportedFrames.add(FRAME_ID_MPEG_LOCATION_LOOKUP_TABLE);
178
supportedFrames.add(FRAME_ID_MUSIC_CD_ID);
179
supportedFrames.add(FRAME_ID_ORIGARTIST);
180
supportedFrames.add(FRAME_ID_ORIGINAL_RELEASE_TIME);
181
supportedFrames.add(FRAME_ID_ORIG_FILENAME);
182
supportedFrames.add(FRAME_ID_ORIG_LYRICIST);
183
supportedFrames.add(FRAME_ID_ORIG_TITLE);
184
supportedFrames.add(FRAME_ID_OWNERSHIP);
185
supportedFrames.add(FRAME_ID_ARTIST_SORT_ORDER);
186
supportedFrames.add(FRAME_ID_PLAYLIST_DELAY);
187
supportedFrames.add(FRAME_ID_PLAY_COUNTER);
188
supportedFrames.add(FRAME_ID_POPULARIMETER);
189
supportedFrames.add(FRAME_ID_POSITION_SYNC);
190
supportedFrames.add(FRAME_ID_PRIVATE);
191
supportedFrames.add(FRAME_ID_PRODUCED_NOTICE);
192
supportedFrames.add(FRAME_ID_PUBLISHER);
193
supportedFrames.add(FRAME_ID_RADIO_NAME);
194
supportedFrames.add(FRAME_ID_RADIO_OWNER);
195
supportedFrames.add(FRAME_ID_RECOMMENDED_BUFFER_SIZE);
196
supportedFrames.add(FRAME_ID_RELATIVE_VOLUME_ADJUSTMENT2);
197
supportedFrames.add(FRAME_ID_RELEASE_TIME);
198
supportedFrames.add(FRAME_ID_REMIXED);
199
supportedFrames.add(FRAME_ID_REVERB);
200
supportedFrames.add(FRAME_ID_SEEK);
201
supportedFrames.add(FRAME_ID_SET);
202
supportedFrames.add(FRAME_ID_SET_SUBTITLE);
203
supportedFrames.add(FRAME_ID_SIGNATURE);
204
supportedFrames.add(FRAME_ID_SYNC_LYRIC);
205
supportedFrames.add(FRAME_ID_SYNC_TEMPO);
206
supportedFrames.add(FRAME_ID_TAGGING_TIME);
207
supportedFrames.add(FRAME_ID_TERMS_OF_USE);
208
supportedFrames.add(FRAME_ID_TITLE);
209
supportedFrames.add(FRAME_ID_TITLE_REFINEMENT);
210
supportedFrames.add(FRAME_ID_TITLE_SORT_ORDER);
211
supportedFrames.add(FRAME_ID_TRACK);
212
supportedFrames.add(FRAME_ID_UNIQUE_FILE_ID);
213
supportedFrames.add(FRAME_ID_UNSYNC_LYRICS);
214
supportedFrames.add(FRAME_ID_URL_ARTIST_WEB);
215
supportedFrames.add(FRAME_ID_URL_COMMERCIAL);
216
supportedFrames.add(FRAME_ID_URL_COPYRIGHT);
217
supportedFrames.add(FRAME_ID_URL_FILE_WEB);
218
supportedFrames.add(FRAME_ID_URL_OFFICIAL_RADIO);
219
supportedFrames.add(FRAME_ID_URL_PAYMENT);
220
supportedFrames.add(FRAME_ID_URL_PUBLISHERS);
221
supportedFrames.add(FRAME_ID_URL_SOURCE_WEB);
222
supportedFrames.add(FRAME_ID_USER_DEFINED_INFO);
223
supportedFrames.add(FRAME_ID_USER_DEFINED_URL);
224
supportedFrames.add(FRAME_ID_YEAR);
227
extensionFrames.add(FRAME_ID_IS_COMPILATION);
228
extensionFrames.add(FRAME_ID_ALBUM_ARTIST_SORT_ORDER_ITUNES);
229
extensionFrames.add(FRAME_ID_COMPOSER_SORT_ORDER_ITUNES);
232
commonFrames.add(FRAME_ID_ARTIST);
233
commonFrames.add(FRAME_ID_ALBUM);
234
commonFrames.add(FRAME_ID_TITLE);
235
commonFrames.add(FRAME_ID_GENRE);
236
commonFrames.add(FRAME_ID_TRACK);
237
commonFrames.add(FRAME_ID_YEAR);
238
commonFrames.add(FRAME_ID_COMMENT);
241
binaryFrames.add(FRAME_ID_ATTACHED_PICTURE);
242
binaryFrames.add(FRAME_ID_AUDIO_ENCRYPTION);
243
binaryFrames.add(FRAME_ID_ENCRYPTION);
244
binaryFrames.add(FRAME_ID_EQUALISATION2);
245
binaryFrames.add(FRAME_ID_EVENT_TIMING_CODES);
246
binaryFrames.add(FRAME_ID_GENERAL_ENCAPS_OBJECT);
247
binaryFrames.add(FRAME_ID_RELATIVE_VOLUME_ADJUSTMENT2);
248
binaryFrames.add(FRAME_ID_RECOMMENDED_BUFFER_SIZE);
249
binaryFrames.add(FRAME_ID_UNIQUE_FILE_ID);
250
// Map frameid to a name
251
idToValue.put(FRAME_ID_ACCOMPANIMENT, "Text: Band/Orchestra/Accompaniment");
252
idToValue.put(FRAME_ID_ALBUM, "Text: Album/Movie/Show title");
253
idToValue.put(FRAME_ID_ALBUM_SORT_ORDER, "Album sort order");
254
idToValue.put(FRAME_ID_ARTIST, "Text: Lead artist(s)/Lead performer(s)/Soloist(s)/Performing group");
255
idToValue.put(FRAME_ID_ATTACHED_PICTURE, "Attached picture");
256
idToValue.put(FRAME_ID_AUDIO_ENCRYPTION, "Audio encryption");
257
idToValue.put(FRAME_ID_AUDIO_SEEK_POINT_INDEX, "Audio seek point index");
258
idToValue.put(FRAME_ID_BPM, "Text: BPM (Beats Per Minute)");
259
idToValue.put(FRAME_ID_COMMENT, "Comments");
260
idToValue.put(FRAME_ID_COMMERCIAL_FRAME, "Commercial Frame");
261
idToValue.put(FRAME_ID_COMPOSER, "Text: Composer");
262
idToValue.put(FRAME_ID_CONDUCTOR, "Text: Conductor/Performer refinement");
263
idToValue.put(FRAME_ID_CONTENT_GROUP_DESC, "Text: Content group description");
264
idToValue.put(FRAME_ID_COPYRIGHTINFO, "Text: Copyright message");
265
idToValue.put(FRAME_ID_ENCODEDBY, "Text: Encoded by");
266
idToValue.put(FRAME_ID_ENCODING_TIME, "Text: Encoding time");
267
idToValue.put(FRAME_ID_ENCRYPTION, "Encryption method registration");
268
idToValue.put(FRAME_ID_EQUALISATION2, "Equalization (2)");
269
idToValue.put(FRAME_ID_EVENT_TIMING_CODES, "Event timing codes");
270
idToValue.put(FRAME_ID_FILE_OWNER, "Text:File Owner");
271
idToValue.put(FRAME_ID_FILE_TYPE, "Text: File type");
272
idToValue.put(FRAME_ID_GENERAL_ENCAPS_OBJECT, "General encapsulated datatype");
273
idToValue.put(FRAME_ID_GENRE, "Text: Content type");
274
idToValue.put(FRAME_ID_GROUP_ID_REG, "Group ID Registration");
275
idToValue.put(FRAME_ID_HW_SW_SETTINGS, "Text: Software/hardware and settings used for encoding");
276
idToValue.put(FRAME_ID_INITIAL_KEY, "Text: Initial key");
277
idToValue.put(FRAME_ID_INVOLVED_PEOPLE, "Involved people list");
278
idToValue.put(FRAME_ID_ISRC, "Text: ISRC (International Standard Recording Code)");
279
idToValue.put(FRAME_ID_LANGUAGE, "Text: Language(s)");
280
idToValue.put(FRAME_ID_LENGTH, "Text: Length");
281
idToValue.put(FRAME_ID_LINKED_INFO, "Linked information");
282
idToValue.put(FRAME_ID_LYRICIST, "Text: Lyricist/text writer");
283
idToValue.put(FRAME_ID_MEDIA_TYPE, "Text: Media type");
284
idToValue.put(FRAME_ID_MOOD, "Text: Mood");
285
idToValue.put(FRAME_ID_MPEG_LOCATION_LOOKUP_TABLE, "MPEG location lookup table");
286
idToValue.put(FRAME_ID_MUSIC_CD_ID, "Music CD Identifier");
287
idToValue.put(FRAME_ID_ORIGARTIST, "Text: Original artist(s)/performer(s)");
288
idToValue.put(FRAME_ID_ORIGINAL_RELEASE_TIME, "Text: Original release time");
289
idToValue.put(FRAME_ID_ORIG_FILENAME, "Text: Original filename");
290
idToValue.put(FRAME_ID_ORIG_LYRICIST, "Text: Original Lyricist(s)/text writer(s)");
291
idToValue.put(FRAME_ID_ORIG_TITLE, "Text: Original album/Movie/Show title");
292
idToValue.put(FRAME_ID_OWNERSHIP, "Ownership");
293
idToValue.put(FRAME_ID_ARTIST_SORT_ORDER, "Performance Sort Order");
294
idToValue.put(FRAME_ID_PLAYLIST_DELAY, "Text: Playlist delay");
295
idToValue.put(FRAME_ID_PLAY_COUNTER, "Play counter");
296
idToValue.put(FRAME_ID_POPULARIMETER, "Popularimeter");
297
idToValue.put(FRAME_ID_POSITION_SYNC, "Position Sync");
298
idToValue.put(FRAME_ID_PRIVATE, "Private frame");
299
idToValue.put(FRAME_ID_PRODUCED_NOTICE, "Produced Notice");
300
idToValue.put(FRAME_ID_PUBLISHER, "Text: Publisher");
301
idToValue.put(FRAME_ID_RADIO_NAME, "Text: Radio Name");
302
idToValue.put(FRAME_ID_RADIO_OWNER, "Text: Radio Owner");
303
idToValue.put(FRAME_ID_RECOMMENDED_BUFFER_SIZE, "Recommended buffer size");
304
idToValue.put(FRAME_ID_RELATIVE_VOLUME_ADJUSTMENT2, "Relative volume adjustment(2)");
305
idToValue.put(FRAME_ID_RELEASE_TIME, "Release Time");
306
idToValue.put(FRAME_ID_REMIXED, "Text: Interpreted, remixed, or otherwise modified by");
307
idToValue.put(FRAME_ID_REVERB, "Reverb");
308
idToValue.put(FRAME_ID_SEEK, "Seek");
309
idToValue.put(FRAME_ID_SET, "Text: Part of a set");
310
idToValue.put(FRAME_ID_SET_SUBTITLE, "Text: Set subtitle");
311
idToValue.put(FRAME_ID_SIGNATURE, "Signature");
312
idToValue.put(FRAME_ID_SYNC_LYRIC, "Synchronized lyric/text");
313
idToValue.put(FRAME_ID_SYNC_TEMPO, "Synced tempo codes");
314
idToValue.put(FRAME_ID_TAGGING_TIME, "Text: Tagaging time");
315
idToValue.put(FRAME_ID_TERMS_OF_USE, "Terms of Use");
316
idToValue.put(FRAME_ID_TITLE, "Text: title");
317
idToValue.put(FRAME_ID_TITLE_REFINEMENT, "Text: Subtitle/Description refinement");
318
idToValue.put(FRAME_ID_TITLE_SORT_ORDER, "Text: title sort order");
319
idToValue.put(FRAME_ID_TRACK, "Text: Track number/Position in set");
320
idToValue.put(FRAME_ID_UNIQUE_FILE_ID, "Unique file identifier");
321
idToValue.put(FRAME_ID_UNSYNC_LYRICS, "Unsychronized lyric/text transcription");
322
idToValue.put(FRAME_ID_URL_ARTIST_WEB, "URL: Official artist/performer webpage");
323
idToValue.put(FRAME_ID_URL_COMMERCIAL, "URL: Commercial information");
324
idToValue.put(FRAME_ID_URL_COPYRIGHT, "URL: Copyright/Legal information");
325
idToValue.put(FRAME_ID_URL_FILE_WEB, "URL: Official audio file webpage");
326
idToValue.put(FRAME_ID_URL_OFFICIAL_RADIO, "URL: Official Radio website");
327
idToValue.put(FRAME_ID_URL_PAYMENT, "URL: Payment for this recording ");
328
idToValue.put(FRAME_ID_URL_PUBLISHERS, "URL: Publishers official webpage");
329
idToValue.put(FRAME_ID_URL_SOURCE_WEB, "URL: Official audio source webpage");
330
idToValue.put(FRAME_ID_USER_DEFINED_INFO, "User defined text information frame");
331
idToValue.put(FRAME_ID_USER_DEFINED_URL, "User defined URL link frame");
332
idToValue.put(FRAME_ID_YEAR, "Text:Year");
333
idToValue.put(FRAME_ID_IS_COMPILATION, "Is Compilation");
334
idToValue.put(FRAME_ID_ALBUM_ARTIST_SORT_ORDER_ITUNES, "Text:Album Artist Sort Order Frame");
335
idToValue.put(FRAME_ID_COMPOSER_SORT_ORDER_ITUNES, "Text:Composer Sort Order Frame");
340
multipleFrames.add(FRAME_ID_USER_DEFINED_INFO);
341
multipleFrames.add(FRAME_ID_USER_DEFINED_URL);
342
multipleFrames.add(FRAME_ID_ATTACHED_PICTURE);
343
multipleFrames.add(FRAME_ID_PRIVATE);
344
multipleFrames.add(FRAME_ID_COMMENT);
345
multipleFrames.add(FRAME_ID_UNIQUE_FILE_ID);
346
multipleFrames.add(FRAME_ID_UNSYNC_LYRICS);
347
multipleFrames.add(FRAME_ID_POPULARIMETER);
349
discardIfFileAlteredFrames.add(FRAME_ID_EVENT_TIMING_CODES);
350
discardIfFileAlteredFrames.add(FRAME_ID_MPEG_LOCATION_LOOKUP_TABLE);
351
discardIfFileAlteredFrames.add(FRAME_ID_POSITION_SYNC);
352
discardIfFileAlteredFrames.add(FRAME_ID_SYNC_LYRIC);
353
discardIfFileAlteredFrames.add(FRAME_ID_SYNC_TEMPO);
354
discardIfFileAlteredFrames.add(FRAME_ID_EVENT_TIMING_CODES);
355
discardIfFileAlteredFrames.add(FRAME_ID_ENCODEDBY);
356
discardIfFileAlteredFrames.add(FRAME_ID_LENGTH);
358
tagFieldToId3.put(TagFieldKey.ARTIST, ID3v24FieldKey.ARTIST);
359
tagFieldToId3.put(TagFieldKey.ALBUM, ID3v24FieldKey.ALBUM);
360
tagFieldToId3.put(TagFieldKey.TITLE, ID3v24FieldKey.TITLE);
361
tagFieldToId3.put(TagFieldKey.TRACK, ID3v24FieldKey.TRACK);
362
tagFieldToId3.put(TagFieldKey.YEAR, ID3v24FieldKey.YEAR);
363
tagFieldToId3.put(TagFieldKey.GENRE, ID3v24FieldKey.GENRE);
364
tagFieldToId3.put(TagFieldKey.COMMENT, ID3v24FieldKey.COMMENT);
365
tagFieldToId3.put(TagFieldKey.ALBUM_ARTIST, ID3v24FieldKey.ALBUM_ARTIST);
366
tagFieldToId3.put(TagFieldKey.COMPOSER, ID3v24FieldKey.COMPOSER);
367
tagFieldToId3.put(TagFieldKey.GROUPING, ID3v24FieldKey.GROUPING);
368
tagFieldToId3.put(TagFieldKey.DISC_NO, ID3v24FieldKey.DISC_NO);
369
tagFieldToId3.put(TagFieldKey.BPM, ID3v24FieldKey.BPM);
370
tagFieldToId3.put(TagFieldKey.ENCODER, ID3v24FieldKey.ENCODER);
371
tagFieldToId3.put(TagFieldKey.MUSICBRAINZ_ARTISTID, ID3v24FieldKey.MUSICBRAINZ_ARTISTID);
372
tagFieldToId3.put(TagFieldKey.MUSICBRAINZ_RELEASEID, ID3v24FieldKey.MUSICBRAINZ_RELEASEID);
373
tagFieldToId3.put(TagFieldKey.MUSICBRAINZ_RELEASEARTISTID, ID3v24FieldKey.MUSICBRAINZ_RELEASEARTISTID);
374
tagFieldToId3.put(TagFieldKey.MUSICBRAINZ_TRACK_ID, ID3v24FieldKey.MUSICBRAINZ_TRACK_ID);
375
tagFieldToId3.put(TagFieldKey.MUSICBRAINZ_DISC_ID, ID3v24FieldKey.MUSICBRAINZ_DISC_ID);
376
tagFieldToId3.put(TagFieldKey.MUSICIP_ID, ID3v24FieldKey.MUSICIP_ID);
377
tagFieldToId3.put(TagFieldKey.AMAZON_ID, ID3v24FieldKey.AMAZON_ID);
378
tagFieldToId3.put(TagFieldKey.MUSICBRAINZ_RELEASE_STATUS, ID3v24FieldKey.MUSICBRAINZ_RELEASE_STATUS);
379
tagFieldToId3.put(TagFieldKey.MUSICBRAINZ_RELEASE_TYPE, ID3v24FieldKey.MUSICBRAINZ_RELEASE_TYPE);
380
tagFieldToId3.put(TagFieldKey.MUSICBRAINZ_RELEASE_COUNTRY, ID3v24FieldKey.MUSICBRAINZ_RELEASE_COUNTRY);
381
tagFieldToId3.put(TagFieldKey.LYRICS, ID3v24FieldKey.LYRICS);
382
tagFieldToId3.put(TagFieldKey.IS_COMPILATION, ID3v24FieldKey.IS_COMPILATION);
383
tagFieldToId3.put(TagFieldKey.ARTIST_SORT, ID3v24FieldKey.ARTIST_SORT);
384
tagFieldToId3.put(TagFieldKey.ALBUM_ARTIST_SORT, ID3v24FieldKey.ALBUM_ARTIST_SORT);
385
tagFieldToId3.put(TagFieldKey.ALBUM_SORT, ID3v24FieldKey.ALBUM_SORT);
386
tagFieldToId3.put(TagFieldKey.TITLE_SORT, ID3v24FieldKey.TITLE_SORT);
387
tagFieldToId3.put(TagFieldKey.COMPOSER_SORT, ID3v24FieldKey.COMPOSER_SORT);
388
tagFieldToId3.put(TagFieldKey.COVER_ART, ID3v24FieldKey.COVER_ART);
389
tagFieldToId3.put(TagFieldKey.URL_DISCOGS_ARTIST_SITE, ID3v24FieldKey.URL_DISCOGS_ARTIST_SITE);
390
tagFieldToId3.put(TagFieldKey.URL_DISCOGS_RELEASE_SITE, ID3v24FieldKey.URL_DISCOGS_RELEASE_SITE);
391
tagFieldToId3.put(TagFieldKey.URL_WIKIPEDIA_ARTIST_SITE, ID3v24FieldKey.URL_WIKIPEDIA_ARTIST_SITE);
392
tagFieldToId3.put(TagFieldKey.URL_WIKIPEDIA_RELEASE_SITE, ID3v24FieldKey.URL_WIKIPEDIA_RELEASE_SITE);
393
tagFieldToId3.put(TagFieldKey.URL_OFFICIAL_ARTIST_SITE, ID3v24FieldKey.URL_OFFICIAL_ARTIST_SITE);
394
tagFieldToId3.put(TagFieldKey.URL_OFFICIAL_RELEASE_SITE, ID3v24FieldKey.URL_OFFICIAL_RELEASE_SITE);
395
tagFieldToId3.put(TagFieldKey.LANGUAGE, ID3v24FieldKey.LANGUAGE);
396
tagFieldToId3.put(TagFieldKey.KEY, ID3v24FieldKey.KEY);
401
* @return id3 key for generic key
403
public ID3v24FieldKey getId3KeyFromGenericKey(TagFieldKey genericKey)
405
return tagFieldToId3.get(genericKey);
b'\\ No newline at end of file'