1 package org.farng.mp3; 2 3 import java.util.HashMap; 4 import java.util.Iterator; 5 6 /** 7 * This contais all ID3 frame descriptions and Lyric3 field description. It also has bit masks for all the flags in the 8 * MP3 Header. 9 * 10 * @author Eric Farng 11 * @version $Revision: 1.3 $ 12 */ 13 public class TagConstant { 14 15 // Bit numbering starts with the most significat bit as 7 16 /** 17 * defined for convenience 18 */ 19 public static final int BIT7 = 0x80; 20 /** 21 * defined for convenience 22 */ 23 public static final int BIT6 = 0x40; 24 /** 25 * defined for convenience 26 */ 27 public static final int BIT5 = 0x20; 28 /** 29 * defined for convenience 30 */ 31 public static final int BIT4 = 0x10; 32 /** 33 * defined for convenience 34 */ 35 public static final int BIT3 = 0x08; 36 /** 37 * defined for convenience 38 */ 39 public static final int BIT2 = 0x04; 40 /** 41 * defined for convenience 42 */ 43 public static final int BIT1 = 0x02; 44 /** 45 * defined for convenience 46 */ 47 public static final int BIT0 = 0x01; 48 /** 49 * System seperators 50 */ 51 public static final String SEPERATOR_LINE = System.getProperty("line.separator"); 52 public static final String SEPERATOR_FILE = System.getProperty("file.separator"); 53 public static final String SEPERATOR_PATH = System.getProperty("path.separator"); 54 /** 55 * MP3 save mode lowest numbered index 56 */ 57 public static final int MP3_FILE_SAVE_FIRST = 1; 58 /** 59 * MP3 save mode matching <code>write</code> method 60 */ 61 public static final int MP3_FILE_SAVE_WRITE = 1; 62 /** 63 * MP3 save mode matching <code>overwrite</code> method 64 */ 65 public static final int MP3_FILE_SAVE_OVERWRITE = 2; 66 /** 67 * MP3 save mode matching <code>append</code> method 68 */ 69 public static final int MP3_FILE_SAVE_APPEND = 3; 70 /** 71 * MP3 save mode highest numbered index 72 */ 73 public static final int MP3_FILE_SAVE_LAST = 3; 74 /** 75 * ID3v2.2 Header bit mask 76 */ 77 public static final int MASK_V22_UNSYNCHRONIZATION = BIT7; 78 /** 79 * ID3v2.2 Header bit mask 80 */ 81 public static final int MASK_V22_COMPRESSION = BIT7; 82 /** 83 * ID3v2.2 BUF Frame bit mask 84 */ 85 public static final int MASK_V22_EMBEDDED_INFO_FLAG = BIT1; 86 /** 87 * ID3v2.3 Header bit mask 88 */ 89 public static final int MASK_V23_UNSYNCHRONIZATION = BIT7; 90 /** 91 * ID3v2.3 Header bit mask 92 */ 93 public static final int MASK_V23_EXTENDED_HEADER = BIT6; 94 /** 95 * ID3v2.3 Header bit mask 96 */ 97 public static final int MASK_V23_EXPERIMENTAL = BIT5; 98 /** 99 * ID3v2.3 Extended Header bit mask 100 */ 101 public static final int MASK_V23_CRC_DATA_PRESENT = BIT7; 102 /** 103 * ID3v2.3 Frame bit mask 104 */ 105 public static final int MASK_V23_TAG_ALTER_PRESERVATION = BIT7; 106 /** 107 * ID3v2.3 Frame bit mask 108 */ 109 public static final int MASK_V23_FILE_ALTER_PRESERVATION = BIT6; 110 /** 111 * ID3v2.3 Frame bit mask 112 */ 113 public static final int MASK_V23_READ_ONLY = BIT5; 114 /** 115 * ID3v2.3 Frame bit mask 116 */ 117 public static final int MASK_V23_COMPRESSION = BIT7; 118 /** 119 * ID3v2.3 Frame bit mask 120 */ 121 public static final int MASK_V23_ENCRYPTION = BIT6; 122 /** 123 * ID3v2.3 Frame bit mask 124 */ 125 public static final int MASK_V23_GROUPING_IDENTITY = BIT5; 126 /** 127 * ID3v2.3 RBUF frame bit mask 128 */ 129 public static final int MASK_V23_EMBEDDED_INFO_FLAG = BIT1; 130 /** 131 * ID3v2.4 Header bit mask 132 */ 133 public static final int MASK_V24_UNSYNCHRONIZATION = BIT7; 134 /** 135 * ID3v2.4 Header bit mask 136 */ 137 public static final int MASK_V24_EXTENDED_HEADER = BIT6; 138 /** 139 * ID3v2.4 Header bit mask 140 */ 141 public static final int MASK_V24_EXPERIMENTAL = BIT5; 142 /** 143 * ID3v2.4 Header bit mask 144 */ 145 public static final int MASK_V24_FOOTER_PRESENT = BIT4; 146 /** 147 * ID3v2.4 Extended header bit mask 148 */ 149 public static final int MASK_V24_TAG_UPDATE = BIT6; 150 /** 151 * ID3v2.4 Extended header bit mask 152 */ 153 public static final int MASK_V24_CRC_DATA_PRESENT = BIT5; 154 /** 155 * ID3v2.4 Extended header bit mask 156 */ 157 public static final int MASK_V24_TAG_RESTRICTIONS = BIT4; 158 /** 159 * ID3v2.4 Extended header bit mask 160 */ 161 public static final int MASK_V24_TAG_SIZE_RESTRICTIONS = (byte) BIT7 | BIT6; 162 /** 163 * ID3v2.4 Extended header bit mask 164 */ 165 public static final int MASK_V24_TEXT_ENCODING_RESTRICTIONS = BIT5; 166 /** 167 * ID3v2.4 Extended header bit mask 168 */ 169 public static final int MASK_V24_TEXT_FIELD_SIZE_RESTRICTIONS = BIT4 | BIT3; 170 /** 171 * ID3v2.4 Extended header bit mask 172 */ 173 public static final int MASK_V24_IMAGE_ENCODING = BIT2; 174 /** 175 * ID3v2.4 Extended header bit mask 176 */ 177 public static final int MASK_V24_IMAGE_SIZE_RESTRICTIONS = BIT2 | BIT1; 178 179 /** 180 * ID3v2.4 Header Footer are the same as the header flags. WHY?!?! move the 181 * flags from thier position in 2.3?????????? 182 */ 183 /** 184 * ID3v2.4 Header Footer bit mask 185 */ 186 public static final int MASK_V24_TAG_ALTER_PRESERVATION = BIT6; 187 /** 188 * ID3v2.4 Header Footer bit mask 189 */ 190 public static final int MASK_V24_FILE_ALTER_PRESERVATION = BIT5; 191 /** 192 * ID3v2.4 Header Footer bit mask 193 */ 194 public static final int MASK_V24_READ_ONLY = BIT4; 195 /** 196 * ID3v2.4 Header Footer bit mask 197 */ 198 public static final int MASK_V24_GROUPING_IDENTITY = BIT6; 199 /** 200 * ID3v2.4 Header Footer bit mask 201 */ 202 public static final int MASK_V24_COMPRESSION = BIT4; 203 /** 204 * ID3v2.4 Header Footer bit mask 205 */ 206 public static final int MASK_V24_ENCRYPTION = BIT3; 207 /** 208 * ID3v2.4 Header Footer bit mask 209 */ 210 public static final int MASK_V24_FRAME_UNSYNCHRONIZATION = BIT2; 211 /** 212 * ID3v2.4 Header Footer bit mask 213 */ 214 public static final int MASK_V24_DATA_LENGTH_INDICATOR = BIT1; 215 /** 216 * MP3 Frame Header bit mask 217 */ 218 public static final int MASK_MP3_ID = BIT3; 219 /** 220 * MP3 Frame Header bit mask 221 */ 222 public static final int MASK_MP3_VERSION = BIT4 | BIT3; 223 /** 224 * MP3 Frame Header bit mask 225 */ 226 public static final int MASK_MP3_LAYER = BIT2 | BIT1; 227 /** 228 * MP3 Frame Header bit mask 229 */ 230 public static final int MASK_MP3_PROTECTION = BIT0; 231 /** 232 * MP3 Frame Header bit mask 233 */ 234 public static final int MASK_MP3_BITRATE = BIT7 | BIT6 | BIT5 | BIT4; 235 /** 236 * MP3 Frame Header bit mask 237 */ 238 public static final int MASK_MP3_FREQUENCY = BIT3 + BIT2; 239 /** 240 * MP3 Frame Header bit mask 241 */ 242 public static final int MASK_MP3_PADDING = BIT1; 243 /** 244 * MP3 Frame Header bit mask 245 */ 246 public static final int MASK_MP3_PRIVACY = BIT0; 247 /** 248 * MP3 Frame Header bit mask 249 */ 250 public static final int MASK_MP3_MODE = BIT7 | BIT6; 251 /** 252 * MP3 Frame Header bit mask 253 */ 254 public static final int MASK_MP3_MODE_EXTENSION = BIT5 | BIT4; 255 /** 256 * MP3 Frame Header bit mask 257 */ 258 public static final int MASK_MP3_COPY = BIT3; 259 /** 260 * MP3 Frame Header bit mask 261 */ 262 public static final int MASK_MP3_HOME = BIT2; 263 /** 264 * MP3 Frame Header bit mask 265 */ 266 public static final int MASK_MP3_EMPHASIS = BIT1 | BIT0; 267 /** 268 * <code>HashMap</code> translating the three letter ID into a human understandable string 269 */ 270 public static final HashMap id3v2_2FrameIdToString = new HashMap(); 271 /** 272 * <code>HashMap</code> translating the four letter ID into a human understandable string 273 */ 274 public static final HashMap id3v2_3FrameIdToString = new HashMap(); 275 /** 276 * <code>HashMap</code> translating the four letter ID into a human understandable string 277 */ 278 public static final HashMap id3v2_4FrameIdToString = new HashMap(); 279 /** 280 * <code>HashMap</code> translating the predefined string into the three letter ID 281 */ 282 public static final HashMap id3v2_2FrameStringToId = new HashMap(); 283 /** 284 * <code>HashMap</code> translating the predefined string into the four letter ID 285 */ 286 public static final HashMap id3v2_3FrameStringToId = new HashMap(); 287 /** 288 * <code>HashMap</code> translating the predefined string into the four letter ID 289 */ 290 public static final HashMap id3v2_4FrameStringToId = new HashMap(); 291 /** 292 * <code>HashMap</code> translating the predefined string into the three letter ID 293 */ 294 public static final HashMap lyrics3v2FieldIdToString = new HashMap(); 295 /** 296 * <code>HashMap</code> translating the predefined string into the three letter ID 297 */ 298 public static final HashMap lyrics3v2FieldStringToId = new HashMap(); 299 /** 300 * <code>HashMap</code> translating the three letter ID3v2.2 ID to the corresponding ID3v2.4 ID 301 */ 302 public static final HashMap id3v2_3ToId3v2_4 = new HashMap(); 303 /** 304 * <code>HashMap</code> translating the three letter ID3v2.2 ID to the corresponding ID3v2.3 ID 305 */ 306 public static final HashMap id3v2_2ToId3v2_3 = new HashMap(); 307 /** 308 * <code>HashMap</code> translating the three letter ID3v2.2 ID to the corresponding ID3v2.4 ID 309 */ 310 public static final HashMap id3v2_4ToId3v2_3 = new HashMap(); 311 /** 312 * <code>HashMap</code> translating the three letter ID3v2.2 ID to the corresponding ID3v2.3 ID 313 */ 314 public static final HashMap id3v2_3ToId3v2_2 = new HashMap(); 315 /** 316 * <code>HashMap</code> translating the ID3v1 genre bit into a human readable string 317 */ 318 public static final HashMap genreIdToString = new HashMap(); 319 /** 320 * <code>HashMap</code> translating the predefined genre string into the ID3v1 genre bit 321 */ 322 public static final HashMap genreStringToId = new HashMap(); 323 /** 324 * <code>HashMap</code> translating the language ID to a human readable string. [ISO-639-2] ISO/FDIS 639-2 325 */ 326 public static final HashMap languageIdToString = new HashMap(); 327 /** 328 * <code>HashMap</code> translating the predefined language string into the ID. [ISO-639-2] ISO/FDIS 639-2 329 */ 330 public static final HashMap languageStringToId = new HashMap(); 331 /** 332 * <code>HashMap</code> translating the bitrate read in from the MP3 Header into a base-10 integer 333 */ 334 public static final HashMap bitrate = new HashMap(); 335 /** 336 * <code>HashMap</code> translating table found in ID3 tags 337 */ 338 public static final HashMap textEncodingIdToString = new HashMap(); 339 /** 340 * <code>HashMap</code> translating table found in ID3 tags 341 */ 342 public static final HashMap textEncodingStringToId = new HashMap(); 343 /** 344 * <code>HashMap</code> translating table found in ID3 tags 345 */ 346 public static final HashMap interpolationMethodIdToString = new HashMap(); 347 /** 348 * <code>HashMap</code> translating table found in ID3 tags 349 */ 350 public static final HashMap interpolationMethodStringToId = new HashMap(); 351 /** 352 * <code>HashMap</code> translating table found in ID3 tags 353 */ 354 public static final HashMap pictureTypeIdToString = new HashMap(); 355 /** 356 * <code>HashMap</code> translating table found in ID3 tags 357 */ 358 public static final HashMap pictureTypeStringToId = new HashMap(); 359 /** 360 * <code>HashMap</code> translating table found in ID3 tags 361 */ 362 public static final HashMap timeStampFormatIdToString = new HashMap(); 363 /** 364 * <code>HashMap</code> translating table found in ID3 tags 365 */ 366 public static final HashMap timeStampFormatStringToId = new HashMap(); 367 /** 368 * <code>HashMap</code> translating table found in ID3 tags 369 */ 370 public static final HashMap typeOfEventIdToString = new HashMap(); 371 /** 372 * <code>HashMap</code> translating table found in ID3 tags 373 */ 374 public static final HashMap typeOfEventStringToId = new HashMap(); 375 /** 376 * <code>HashMap</code> translating table found in ID3 tags 377 */ 378 public static final HashMap typeOfChannelIdToString = new HashMap(); 379 /** 380 * <code>HashMap</code> translating table found in ID3 tags 381 */ 382 public static final HashMap typeOfChannelStringToId = new HashMap(); 383 /** 384 * <code>HashMap</code> translating table found in ID3 tags 385 */ 386 public static final HashMap recievedAsIdToString = new HashMap(); 387 /** 388 * <code>HashMap</code> translating table found in ID3 tags 389 */ 390 public static final HashMap recievedAsStringToId = new HashMap(); 391 392 static { 393 id3v2_2FrameIdToString.put("BUF", "Recommended buffer size"); 394 id3v2_2FrameIdToString.put("CNT", "Play counter"); 395 id3v2_2FrameIdToString.put("COM", "Comments"); 396 id3v2_2FrameIdToString.put("CRA", "Audio encryption"); 397 id3v2_2FrameIdToString.put("CRM", "Encrypted meta frame"); 398 id3v2_2FrameIdToString.put("ETC", "Event timing codes"); 399 id3v2_2FrameIdToString.put("EQU", "Equalization"); 400 id3v2_2FrameIdToString.put("GEO", "General encapsulated object"); 401 id3v2_2FrameIdToString.put("IPL", "Involved people list"); 402 id3v2_2FrameIdToString.put("LNK", "Linked information"); 403 id3v2_2FrameIdToString.put("MCI", "Music CD Identifier"); 404 id3v2_2FrameIdToString.put("MLL", "MPEG location lookup table"); 405 id3v2_2FrameIdToString.put("PIC", "Attached picture"); 406 id3v2_2FrameIdToString.put("POP", "Popularimeter"); 407 id3v2_2FrameIdToString.put("REV", "Reverb"); 408 id3v2_2FrameIdToString.put("RVA", "Relative volume adjustment"); 409 id3v2_2FrameIdToString.put("SLT", "Synchronized lyric/text"); 410 id3v2_2FrameIdToString.put("STC", "Synced tempo codes"); 411 id3v2_2FrameIdToString.put("TAL", "Text: Album/Movie/Show title"); 412 id3v2_2FrameIdToString.put("TBP", "Text: BPM (Beats Per Minute)"); 413 id3v2_2FrameIdToString.put("TCM", "Text: Composer"); 414 id3v2_2FrameIdToString.put("TCO", "Text: Content type"); 415 id3v2_2FrameIdToString.put("TCR", "Text: Copyright message"); 416 id3v2_2FrameIdToString.put("TDA", "Text: Date"); 417 id3v2_2FrameIdToString.put("TDY", "Text: Playlist delay"); 418 id3v2_2FrameIdToString.put("TEN", "Text: Encoded by"); 419 id3v2_2FrameIdToString.put("TFT", "Text: File type"); 420 id3v2_2FrameIdToString.put("TIM", "Text: Time"); 421 id3v2_2FrameIdToString.put("TKE", "Text: Initial key"); 422 id3v2_2FrameIdToString.put("TLA", "Text: Language(s)"); 423 id3v2_2FrameIdToString.put("TLE", "Text: Length"); 424 id3v2_2FrameIdToString.put("TMT", "Text: Media type"); 425 id3v2_2FrameIdToString.put("TOA", "Text: Original artist(s)/performer(s)"); 426 id3v2_2FrameIdToString.put("TOF", "Text: Original filename"); 427 id3v2_2FrameIdToString.put("TOL", "Text: Original Lyricist(s)/text writer(s)"); 428 id3v2_2FrameIdToString.put("TOR", "Text: Original release year"); 429 id3v2_2FrameIdToString.put("TOT", "Text: Original album/Movie/Show title"); 430 id3v2_2FrameIdToString.put("TP1", "Text: Lead artist(s)/Lead performer(s)/Soloist(s)/Performing group"); 431 id3v2_2FrameIdToString.put("TP2", "Text: Band/Orchestra/Accompaniment"); 432 id3v2_2FrameIdToString.put("TP3", "Text: Conductor/Performer refinement"); 433 id3v2_2FrameIdToString.put("TP4", "Text: Interpreted, remixed, or otherwise modified by"); 434 id3v2_2FrameIdToString.put("TPA", "Text: Part of a set"); 435 id3v2_2FrameIdToString.put("TPB", "Text: Publisher"); 436 id3v2_2FrameIdToString.put("TRC", "Text: ISRC (International Standard Recording Code)"); 437 id3v2_2FrameIdToString.put("TRD", "Text: Recording dates"); 438 id3v2_2FrameIdToString.put("TRK", "Text: Track number/Position in set"); 439 id3v2_2FrameIdToString.put("TSI", "Text: Size"); 440 id3v2_2FrameIdToString.put("TSS", "Text: Software/hardware and settings used for encoding"); 441 id3v2_2FrameIdToString.put("TT1", "Text: Content group description"); 442 id3v2_2FrameIdToString.put("TT2", "Text: Title/Songname/Content description"); 443 id3v2_2FrameIdToString.put("TT3", "Text: Subtitle/Description refinement"); 444 id3v2_2FrameIdToString.put("TXT", "Text: Lyricist/text writer"); 445 id3v2_2FrameIdToString.put("TXX", "User defined text information frame"); 446 id3v2_2FrameIdToString.put("TYE", "Text: Year"); 447 id3v2_2FrameIdToString.put("UFI", "Unique file identifier"); 448 id3v2_2FrameIdToString.put("ULT", "Unsychronized lyric/text transcription"); 449 id3v2_2FrameIdToString.put("WAF", "URL: Official audio file webpage"); 450 id3v2_2FrameIdToString.put("WAR", "URL: Official artist/performer webpage"); 451 id3v2_2FrameIdToString.put("WAS", "URL: Official audio source webpage"); 452 id3v2_2FrameIdToString.put("WCM", "URL: Commercial information"); 453 id3v2_2FrameIdToString.put("WCP", "URL: Copyright/Legal information"); 454 id3v2_2FrameIdToString.put("WPB", "URL: Publishers official webpage"); 455 id3v2_2FrameIdToString.put("WXX", "User defined URL link frame"); 456 String key; 457 String value; 458 Iterator iterator = id3v2_2FrameIdToString.keySet().iterator(); 459 while (iterator.hasNext()) { 460 key = (String) iterator.next(); 461 value = (String) id3v2_2FrameIdToString.get(key); id3v2_2FrameStringToId.put(value, key)462 id3v2_2FrameStringToId.put(value, key); 463 } 464 id3v2_3FrameIdToString.put("AENC", "Audio encryption"); 465 id3v2_3FrameIdToString.put("APIC", "Attached picture"); 466 id3v2_3FrameIdToString.put("COMM", "Comments"); 467 id3v2_3FrameIdToString.put("COMR", "Commercial frame"); 468 id3v2_3FrameIdToString.put("ENCR", "Encryption method registration"); 469 id3v2_3FrameIdToString.put("EQUA", "Equalization"); 470 id3v2_3FrameIdToString.put("ETCO", "Event timing codes"); 471 id3v2_3FrameIdToString.put("GEOB", "General encapsulated object"); 472 id3v2_3FrameIdToString.put("GRID", "Group identification registration"); 473 id3v2_3FrameIdToString.put("IPLS", "Involved people list"); 474 id3v2_3FrameIdToString.put("LINK", "Linked information"); 475 id3v2_3FrameIdToString.put("MCDI", "Music CD identifier"); 476 id3v2_3FrameIdToString.put("MLLT", "MPEG location lookup table"); 477 id3v2_3FrameIdToString.put("OWNE", "Ownership frame"); 478 id3v2_3FrameIdToString.put("PRIV", "Private frame"); 479 id3v2_3FrameIdToString.put("PCNT", "Play counter"); 480 id3v2_3FrameIdToString.put("POPM", "Popularimeter"); 481 id3v2_3FrameIdToString.put("POSS", "Position synchronisation frame"); 482 id3v2_3FrameIdToString.put("RBUF", "Recommended buffer size"); 483 id3v2_3FrameIdToString.put("RVAD", "Relative volume adjustment"); 484 id3v2_3FrameIdToString.put("RVRB", "Reverb"); 485 id3v2_3FrameIdToString.put("SYLT", "Synchronized lyric/text"); 486 id3v2_3FrameIdToString.put("SYTC", "Synchronized tempo codes"); 487 id3v2_3FrameIdToString.put("TALB", "Text: Album/Movie/Show title"); 488 id3v2_3FrameIdToString.put("TBPM", "Text: BPM (beats per minute)"); 489 id3v2_3FrameIdToString.put("TCOM", "Text: Composer"); 490 id3v2_3FrameIdToString.put("TCON", "Text: Content type"); 491 id3v2_3FrameIdToString.put("TCOP", "Text: Copyright message"); 492 id3v2_3FrameIdToString.put("TDAT", "Text: Date"); 493 id3v2_3FrameIdToString.put("TDLY", "Text: Playlist delay"); 494 id3v2_3FrameIdToString.put("TENC", "Text: Encoded by"); 495 id3v2_3FrameIdToString.put("TEXT", "Text: Lyricist/Text writer"); 496 id3v2_3FrameIdToString.put("TFLT", "Text: File type"); 497 id3v2_3FrameIdToString.put("TIME", "Text: Time"); 498 id3v2_3FrameIdToString.put("TIT1", "Text: Content group description"); 499 id3v2_3FrameIdToString.put("TIT2", "Text: Title/songname/content description"); 500 id3v2_3FrameIdToString.put("TIT3", "Text: Subtitle/Description refinement"); 501 id3v2_3FrameIdToString.put("TKEY", "Text: Initial key"); 502 id3v2_3FrameIdToString.put("TLAN", "Text: Language(s)"); 503 id3v2_3FrameIdToString.put("TLEN", "Text: Length"); 504 id3v2_3FrameIdToString.put("TMED", "Text: Media type"); 505 id3v2_3FrameIdToString.put("TOAL", "Text: Original album/movie/show title"); 506 id3v2_3FrameIdToString.put("TOFN", "Text: Original filename"); 507 id3v2_3FrameIdToString.put("TOLY", "Text: Original lyricist(s)/text writer(s)"); 508 id3v2_3FrameIdToString.put("TOPE", "Text: Original artist(s)/performer(s)"); 509 id3v2_3FrameIdToString.put("TORY", "Text: Original release year"); 510 id3v2_3FrameIdToString.put("TOWN", "Text: File owner/licensee"); 511 id3v2_3FrameIdToString.put("TPE1", "Text: Lead performer(s)/Soloist(s)"); 512 id3v2_3FrameIdToString.put("TPE2", "Text: Band/orchestra/accompaniment"); 513 id3v2_3FrameIdToString.put("TPE3", "Text: Conductor/performer refinement"); 514 id3v2_3FrameIdToString.put("TPE4", "Text: Interpreted, remixed, or otherwise modified by"); 515 id3v2_3FrameIdToString.put("TPOS", "Text: Part of a set"); 516 id3v2_3FrameIdToString.put("TPUB", "Text: Publisher"); 517 id3v2_3FrameIdToString.put("TRCK", "Text: Track number/Position in set"); 518 id3v2_3FrameIdToString.put("TRDA", "Text: Recording dates"); 519 id3v2_3FrameIdToString.put("TRSN", "Text: Internet radio station name"); 520 id3v2_3FrameIdToString.put("TRSO", "Text: Internet radio station owner"); 521 id3v2_3FrameIdToString.put("TSIZ", "Text: Size"); 522 id3v2_3FrameIdToString.put("TSRC", "Text: ISRC (international standard recording code)"); 523 id3v2_3FrameIdToString.put("TSSE", "Text: Software/Hardware and settings used for encoding"); 524 id3v2_3FrameIdToString.put("TYER", "Text: Year"); 525 id3v2_3FrameIdToString.put("TXXX", "User defined text information frame"); 526 id3v2_3FrameIdToString.put("UFID", "Unique file identifier"); 527 id3v2_3FrameIdToString.put("USER", "Terms of use"); 528 id3v2_3FrameIdToString.put("USLT", "Unsychronized lyric/text transcription"); 529 id3v2_3FrameIdToString.put("WCOM", "URL: Commercial information"); 530 id3v2_3FrameIdToString.put("WCOP", "URL: Copyright/Legal information"); 531 id3v2_3FrameIdToString.put("WOAF", "URL: Official audio file webpage"); 532 id3v2_3FrameIdToString.put("WOAR", "URL: Official artist/performer webpage"); 533 id3v2_3FrameIdToString.put("WOAS", "URL: Official audio source webpage"); 534 id3v2_3FrameIdToString.put("WORS", "URL: Official internet radio station homepage"); 535 id3v2_3FrameIdToString.put("WPAY", "URL: Payment"); 536 id3v2_3FrameIdToString.put("WPUB", "URL: Publishers official webpage"); 537 id3v2_3FrameIdToString.put("WXXX", "User defined URL link frame"); 538 iterator = id3v2_3FrameIdToString.keySet().iterator(); 539 while (iterator.hasNext()) { 540 key = (String) iterator.next(); 541 value = (String) id3v2_3FrameIdToString.get(key); id3v2_3FrameStringToId.put(value, key)542 id3v2_3FrameStringToId.put(value, key); 543 } 544 id3v2_4FrameIdToString.put("AENC", "Audio encryption"); 545 id3v2_4FrameIdToString.put("APIC", "Attached picture"); 546 id3v2_4FrameIdToString.put("ASPI", "Audio seek point index"); 547 id3v2_4FrameIdToString.put("COMM", "Comments"); 548 id3v2_4FrameIdToString.put("COMR", "Commercial frame"); 549 id3v2_4FrameIdToString.put("ENCR", "Encryption method registration"); 550 id3v2_4FrameIdToString.put("EQU2", "Equalisation (2)"); 551 id3v2_4FrameIdToString.put("ETCO", "Event timing codes"); 552 id3v2_4FrameIdToString.put("GEOB", "General encapsulated object"); 553 id3v2_4FrameIdToString.put("GRID", "Group identification registration"); 554 id3v2_4FrameIdToString.put("LINK", "Linked information"); 555 id3v2_4FrameIdToString.put("MCDI", "Music CD identifier"); 556 id3v2_4FrameIdToString.put("MLLT", "MPEG location lookup table"); 557 id3v2_4FrameIdToString.put("OWNE", "Ownership frame"); 558 id3v2_4FrameIdToString.put("PRIV", "Private frame"); 559 id3v2_4FrameIdToString.put("PCNT", "Play counter"); 560 id3v2_4FrameIdToString.put("POPM", "Popularimeter"); 561 id3v2_4FrameIdToString.put("POSS", "Position synchronisation frame"); 562 id3v2_4FrameIdToString.put("RBUF", "Recommended buffer size"); 563 id3v2_4FrameIdToString.put("RVA2", "Relative volume adjustment (2)"); 564 id3v2_4FrameIdToString.put("RVRB", "Reverb"); 565 id3v2_4FrameIdToString.put("SEEK", "Seek frame"); 566 id3v2_4FrameIdToString.put("SIGN", "Signature frame"); 567 id3v2_4FrameIdToString.put("SYLT", "Synchronised lyric/text"); 568 id3v2_4FrameIdToString.put("SYTC", "Synchronised tempo codes"); 569 id3v2_4FrameIdToString.put("TALB", "Text: Album/Movie/Show title"); 570 id3v2_4FrameIdToString.put("TBPM", "Text: BPM (beats per minute)"); 571 id3v2_4FrameIdToString.put("TCOM", "Text: Composer"); 572 id3v2_4FrameIdToString.put("TCON", "Text: Content type (genre)"); 573 id3v2_4FrameIdToString.put("TCOP", "Text: Copyright message"); 574 id3v2_4FrameIdToString.put("TDEN", "Text: Encoding time"); 575 id3v2_4FrameIdToString.put("TDLY", "Text: Playlist delay"); 576 id3v2_4FrameIdToString.put("TDOR", "Text: Original release time"); 577 id3v2_4FrameIdToString.put("TDRC", "Text: Recording time"); 578 id3v2_4FrameIdToString.put("TDRL", "Text: Release time"); 579 id3v2_4FrameIdToString.put("TDTG", "Text: Tagging time"); 580 id3v2_4FrameIdToString.put("TENC", "Text: Encoded by"); 581 id3v2_4FrameIdToString.put("TEXT", "Text: Lyricist/Text writer"); 582 id3v2_4FrameIdToString.put("TFLT", "Text: File type"); 583 id3v2_4FrameIdToString.put("TIPL", "Text: Involved people list"); 584 id3v2_4FrameIdToString.put("TIT1", "Text: Content group description"); 585 id3v2_4FrameIdToString.put("TIT2", "Text: Title/songname/content description"); 586 id3v2_4FrameIdToString.put("TIT3", "Text: Subtitle/Description refinement"); 587 id3v2_4FrameIdToString.put("TKEY", "Text: Initial key"); 588 id3v2_4FrameIdToString.put("TLAN", "Text: Language(s)"); 589 id3v2_4FrameIdToString.put("TLEN", "Text: Length"); 590 id3v2_4FrameIdToString.put("TMCL", "Text: Musician credits list"); 591 id3v2_4FrameIdToString.put("TMED", "Text: Media type"); 592 id3v2_4FrameIdToString.put("TMOO", "Text: Mood"); 593 id3v2_4FrameIdToString.put("TOAL", "Text: Original album/movie/show title"); 594 id3v2_4FrameIdToString.put("TOFN", "Text: Original filename"); 595 id3v2_4FrameIdToString.put("TOLY", "Text: Original lyricist(s)/text writer(s)"); 596 id3v2_4FrameIdToString.put("TOPE", "Text: Original artist(s)/performer(s)"); 597 id3v2_4FrameIdToString.put("TOWN", "Text: File owner/licensee"); 598 id3v2_4FrameIdToString.put("TPE1", "Text: Lead performer(s)/Soloist(s)"); 599 id3v2_4FrameIdToString.put("TPE2", "Text: Band/orchestra/accompaniment"); 600 id3v2_4FrameIdToString.put("TPE3", "Text: Conductor/performer refinement"); 601 id3v2_4FrameIdToString.put("TPE4", "Text: Interpreted, remixed, or otherwise modified by"); 602 id3v2_4FrameIdToString.put("TPOS", "Text: Part of a set"); 603 id3v2_4FrameIdToString.put("TPRO", "Text: Produced notice"); 604 id3v2_4FrameIdToString.put("TPUB", "Text: Publisher"); 605 id3v2_4FrameIdToString.put("TRCK", "Text: Track number/Position in set"); 606 id3v2_4FrameIdToString.put("TRSN", "Text: Internet radio station name"); 607 id3v2_4FrameIdToString.put("TRSO", "Text: Internet radio station owner"); 608 id3v2_4FrameIdToString.put("TSOA", "Text: Album sort order"); 609 id3v2_4FrameIdToString.put("TSOP", "Text: Performer sort order"); 610 id3v2_4FrameIdToString.put("TSOT", "Text: Title sort order"); 611 id3v2_4FrameIdToString.put("TSRC", "Text: ISRC (international standard recording code)"); 612 id3v2_4FrameIdToString.put("TSSE", "Text: Software/Hardware and settings used for encoding"); 613 id3v2_4FrameIdToString.put("TSST", "Text: Set subtitle"); 614 id3v2_4FrameIdToString.put("TXXX", "User defined text information frame"); 615 id3v2_4FrameIdToString.put("UFID", "Unique file identifier"); 616 id3v2_4FrameIdToString.put("USER", "Terms of use"); 617 id3v2_4FrameIdToString.put("USLT", "Unsynchronised lyric/text transcription"); 618 id3v2_4FrameIdToString.put("WCOM", "URL: Commercial information"); 619 id3v2_4FrameIdToString.put("WCOP", "URL: Copyright/Legal information"); 620 id3v2_4FrameIdToString.put("WOAF", "URL: Official audio file webpage"); 621 id3v2_4FrameIdToString.put("WOAR", "URL: Official artist/performer webpage"); 622 id3v2_4FrameIdToString.put("WOAS", "URL: Official audio source webpage"); 623 id3v2_4FrameIdToString.put("WORS", "URL: Official Internet radio station homepage"); 624 id3v2_4FrameIdToString.put("WPAY", "URL: Payment"); 625 id3v2_4FrameIdToString.put("WPUB", "URL: Publishers official webpage"); 626 id3v2_4FrameIdToString.put("WXXX", "User defined URL link frame"); 627 iterator = id3v2_4FrameIdToString.keySet().iterator(); 628 while (iterator.hasNext()) { 629 key = (String) iterator.next(); 630 value = (String) id3v2_4FrameIdToString.get(key); id3v2_4FrameStringToId.put(value, key)631 id3v2_4FrameStringToId.put(value, key); 632 } 633 lyrics3v2FieldIdToString.put("IND", "Indications field"); 634 lyrics3v2FieldIdToString.put("LYR", "Lyrics multi line text"); 635 lyrics3v2FieldIdToString.put("INF", "Additional information multi line text"); 636 lyrics3v2FieldIdToString.put("AUT", "Lyrics/Music Author name"); 637 lyrics3v2FieldIdToString.put("EAL", "Extended Album name"); 638 lyrics3v2FieldIdToString.put("EAR", "Extended Artist name"); 639 lyrics3v2FieldIdToString.put("ETT", "Extended Track Title"); 640 lyrics3v2FieldIdToString.put("IMG", "Link to an image files"); 641 iterator = lyrics3v2FieldIdToString.keySet().iterator(); 642 while (iterator.hasNext()) { 643 key = (String) iterator.next(); 644 value = (String) lyrics3v2FieldIdToString.get(key); lyrics3v2FieldStringToId.put(value, key)645 lyrics3v2FieldStringToId.put(value, key); 646 } 647 id3v2_2ToId3v2_3.put("BUF", "RBUF"); 648 id3v2_2ToId3v2_3.put("CNT", "PCNT"); 649 id3v2_2ToId3v2_3.put("COM", "COMM"); 650 id3v2_2ToId3v2_3.put("CRA", "AENC"); 651 652 //id3v2_2ToId3v2_4.put("CRM", "CRM"); // removed in ID3v2.3 653 id3v2_2ToId3v2_3.put("ETC", "ETCO"); 654 id3v2_2ToId3v2_3.put("EQU", "EQUA"); // changed from EQUA to EQU2 in 655 656 // ID3v2.4 657 id3v2_2ToId3v2_3.put("GEO", "GEOB"); // Deprecated in ID3v2.4 658 id3v2_2ToId3v2_3.put("IPL", "IPLS"); 659 id3v2_2ToId3v2_3.put("LNK", "LINK"); 660 id3v2_2ToId3v2_3.put("MCI", "MCDI"); 661 id3v2_2ToId3v2_3.put("MLL", "MLLT"); 662 id3v2_2ToId3v2_3.put("PIC", "APIC"); // the APIC spec is different from 663 664 // PIC 665 id3v2_2ToId3v2_3.put("POP", "POPM"); 666 id3v2_2ToId3v2_3.put("REV", "RVRB"); 667 id3v2_2ToId3v2_3.put("RVA", "RVAD"); // changed from RVAD to RVA2 in 668 669 // ID3v2.4 670 id3v2_2ToId3v2_3.put("SLT", "SYLT"); 671 id3v2_2ToId3v2_3.put("STC", "SYTC"); 672 id3v2_2ToId3v2_3.put("TAL", "TALB"); 673 id3v2_2ToId3v2_3.put("TBP", "TBPM"); 674 id3v2_2ToId3v2_3.put("TCM", "TCOM"); 675 id3v2_2ToId3v2_3.put("TCO", "TCON"); 676 id3v2_2ToId3v2_3.put("TCR", "TCOP"); 677 id3v2_2ToId3v2_3.put("TDA", "TDAT"); // Deprecated in ID3v2.4 678 id3v2_2ToId3v2_3.put("TDY", "TDLY"); 679 id3v2_2ToId3v2_3.put("TEN", "TENC"); 680 id3v2_2ToId3v2_3.put("TFT", "TFLT"); 681 id3v2_2ToId3v2_3.put("TIM", "TIME"); // Deprecated in ID3v2.4 682 id3v2_2ToId3v2_3.put("TKE", "TKEY"); 683 id3v2_2ToId3v2_3.put("TLA", "TLAN"); 684 id3v2_2ToId3v2_3.put("TLE", "TLEN"); 685 id3v2_2ToId3v2_3.put("TMT", "TMED"); 686 id3v2_2ToId3v2_3.put("TOA", "TOPE"); 687 id3v2_2ToId3v2_3.put("TOF", "TOFN"); 688 id3v2_2ToId3v2_3.put("TOL", "TOLY"); 689 id3v2_2ToId3v2_3.put("TOR", "TORY"); // Deprecated in ID3v2.4 690 id3v2_2ToId3v2_3.put("TOT", "TOAL"); 691 id3v2_2ToId3v2_3.put("TP1", "TPE1"); 692 id3v2_2ToId3v2_3.put("TP2", "TPE2"); 693 id3v2_2ToId3v2_3.put("TP3", "TPE3"); 694 id3v2_2ToId3v2_3.put("TP4", "TPE4"); 695 id3v2_2ToId3v2_3.put("TPA", "TPOS"); 696 id3v2_2ToId3v2_3.put("TPB", "TPUB"); 697 id3v2_2ToId3v2_3.put("TRC", "TSRC"); 698 id3v2_2ToId3v2_3.put("TRD", "TRDA"); // Deprecated in ID3v2.4 699 id3v2_2ToId3v2_3.put("TRK", "TRCK"); 700 id3v2_2ToId3v2_3.put("TSI", "TSIZ"); // Deprecated in ID3v2.4 701 id3v2_2ToId3v2_3.put("TSS", "TSSE"); 702 id3v2_2ToId3v2_3.put("TT1", "TIT1"); 703 id3v2_2ToId3v2_3.put("TT2", "TIT2"); 704 id3v2_2ToId3v2_3.put("TT3", "TIT3"); 705 id3v2_2ToId3v2_3.put("TXT", "TEXT"); 706 id3v2_2ToId3v2_3.put("TXX", "TXXX"); 707 id3v2_2ToId3v2_3.put("TYE", "TYER"); // Deprecated in ID3v2.4 708 id3v2_2ToId3v2_3.put("UFI", "UFID"); 709 id3v2_2ToId3v2_3.put("ULT", "USLT"); 710 id3v2_2ToId3v2_3.put("WAF", "WOAF"); 711 id3v2_2ToId3v2_3.put("WAR", "WOAR"); 712 id3v2_2ToId3v2_3.put("WAS", "WOAS"); 713 id3v2_2ToId3v2_3.put("WCM", "WCOM"); 714 id3v2_2ToId3v2_3.put("WCP", "WCOP"); 715 id3v2_2ToId3v2_3.put("WPB", "WPUB"); 716 id3v2_2ToId3v2_3.put("WXX", "WXXX"); 717 iterator = id3v2_2ToId3v2_3.keySet().iterator(); 718 while (iterator.hasNext()) { 719 key = (String) iterator.next(); 720 value = (String) id3v2_2ToId3v2_3.get(key); id3v2_3ToId3v2_2.put(value, key)721 id3v2_3ToId3v2_2.put(value, key); 722 } 723 id3v2_3ToId3v2_4.put("EQUA", "EQU2"); // changed from EQUA to EQU2 in 724 725 // ID3v2.4 726 id3v2_3ToId3v2_4.put("GEOB", null); // Deprecated in ID3v2.4 727 id3v2_3ToId3v2_4.put("RVAD", "RVA2"); // changed from RVAD to RVA2 in 728 729 // ID3v2.4 730 id3v2_3ToId3v2_4.put("TDAT", null); // Deprecated in ID3v2.4 731 id3v2_3ToId3v2_4.put("TIME", null); // Deprecated in ID3v2.4 732 id3v2_3ToId3v2_4.put("TORY", null); // Deprecated in ID3v2.4 733 id3v2_3ToId3v2_4.put("TRDA", null); // Deprecated in ID3v2.4 734 id3v2_3ToId3v2_4.put("TSIZ", null); // Deprecated in ID3v2.4 735 id3v2_3ToId3v2_4.put("TYER", null); // Deprecated in ID3v2.4 736 iterator = id3v2_3ToId3v2_4.keySet().iterator(); 737 while (iterator.hasNext()) { 738 key = (String) iterator.next(); 739 if (key != null) { 740 value = (String) id3v2_3ToId3v2_4.get(key); id3v2_4ToId3v2_3.put(value, key)741 id3v2_4ToId3v2_3.put(value, key); 742 } 743 } genreIdToString.put(new Long(0), R)744 genreIdToString.put(new Long(0), "Blues"); genreIdToString.put(new Long(1), R)745 genreIdToString.put(new Long(1), "Classic Rock"); genreIdToString.put(new Long(2), R)746 genreIdToString.put(new Long(2), "Country"); genreIdToString.put(new Long(3), R)747 genreIdToString.put(new Long(3), "Dance"); genreIdToString.put(new Long(4), R)748 genreIdToString.put(new Long(4), "Disco"); genreIdToString.put(new Long(5), R)749 genreIdToString.put(new Long(5), "Funk"); genreIdToString.put(new Long(6), R)750 genreIdToString.put(new Long(6), "Grunge"); genreIdToString.put(new Long(7), R)751 genreIdToString.put(new Long(7), "Hip-Hop"); genreIdToString.put(new Long(8), R)752 genreIdToString.put(new Long(8), "Jazz"); genreIdToString.put(new Long(9), R)753 genreIdToString.put(new Long(9), "Metal"); genreIdToString.put(new Long(10), R)754 genreIdToString.put(new Long(10), "New Age"); genreIdToString.put(new Long(11), R)755 genreIdToString.put(new Long(11), "Oldies"); genreIdToString.put(new Long(12), R)756 genreIdToString.put(new Long(12), "Other"); genreIdToString.put(new Long(13), R)757 genreIdToString.put(new Long(13), "Pop"); genreIdToString.put(new Long(14), R)758 genreIdToString.put(new Long(14), "R&B"); genreIdToString.put(new Long(15), R)759 genreIdToString.put(new Long(15), "Rap"); genreIdToString.put(new Long(16), R)760 genreIdToString.put(new Long(16), "Reggae"); genreIdToString.put(new Long(17), R)761 genreIdToString.put(new Long(17), "Rock"); genreIdToString.put(new Long(18), R)762 genreIdToString.put(new Long(18), "Techno"); genreIdToString.put(new Long(19), R)763 genreIdToString.put(new Long(19), "Industrial"); genreIdToString.put(new Long(20), R)764 genreIdToString.put(new Long(20), "Alternative"); genreIdToString.put(new Long(21), R)765 genreIdToString.put(new Long(21), "Ska"); genreIdToString.put(new Long(22), R)766 genreIdToString.put(new Long(22), "Death Metal"); genreIdToString.put(new Long(23), R)767 genreIdToString.put(new Long(23), "Pranks"); genreIdToString.put(new Long(24), R)768 genreIdToString.put(new Long(24), "Soundtrack"); genreIdToString.put(new Long(25), R)769 genreIdToString.put(new Long(25), "Euro-Techno"); genreIdToString.put(new Long(26), R)770 genreIdToString.put(new Long(26), "Ambient"); genreIdToString.put(new Long(27), R)771 genreIdToString.put(new Long(27), "Trip-Hop"); genreIdToString.put(new Long(28), R)772 genreIdToString.put(new Long(28), "Vocal"); genreIdToString.put(new Long(29), R)773 genreIdToString.put(new Long(29), "Jazz+Funk"); genreIdToString.put(new Long(30), R)774 genreIdToString.put(new Long(30), "Fusion"); genreIdToString.put(new Long(31), R)775 genreIdToString.put(new Long(31), "Trance"); genreIdToString.put(new Long(32), R)776 genreIdToString.put(new Long(32), "Classical"); genreIdToString.put(new Long(33), R)777 genreIdToString.put(new Long(33), "Instrumental"); genreIdToString.put(new Long(34), R)778 genreIdToString.put(new Long(34), "Acid"); genreIdToString.put(new Long(35), R)779 genreIdToString.put(new Long(35), "House"); genreIdToString.put(new Long(36), R)780 genreIdToString.put(new Long(36), "Game"); genreIdToString.put(new Long(37), R)781 genreIdToString.put(new Long(37), "Sound Clip"); genreIdToString.put(new Long(38), R)782 genreIdToString.put(new Long(38), "Gospel"); genreIdToString.put(new Long(39), R)783 genreIdToString.put(new Long(39), "Noise"); genreIdToString.put(new Long(40), R)784 genreIdToString.put(new Long(40), "AlternRock"); genreIdToString.put(new Long(41), R)785 genreIdToString.put(new Long(41), "Bass"); genreIdToString.put(new Long(42), R)786 genreIdToString.put(new Long(42), "Soul"); genreIdToString.put(new Long(43), R)787 genreIdToString.put(new Long(43), "Punk"); genreIdToString.put(new Long(44), R)788 genreIdToString.put(new Long(44), "Space"); genreIdToString.put(new Long(45), R)789 genreIdToString.put(new Long(45), "Meditative"); genreIdToString.put(new Long(46), R)790 genreIdToString.put(new Long(46), "Instrumental Pop"); genreIdToString.put(new Long(47), R)791 genreIdToString.put(new Long(47), "Instrumental Rock"); genreIdToString.put(new Long(48), R)792 genreIdToString.put(new Long(48), "Ethnic"); genreIdToString.put(new Long(49), R)793 genreIdToString.put(new Long(49), "Gothic"); genreIdToString.put(new Long(50), R)794 genreIdToString.put(new Long(50), "Darkwave"); genreIdToString.put(new Long(51), R)795 genreIdToString.put(new Long(51), "Techno-Industrial"); genreIdToString.put(new Long(52), R)796 genreIdToString.put(new Long(52), "Electronic"); genreIdToString.put(new Long(53), R)797 genreIdToString.put(new Long(53), "Pop-Folk"); genreIdToString.put(new Long(54), R)798 genreIdToString.put(new Long(54), "Eurodance"); genreIdToString.put(new Long(55), R)799 genreIdToString.put(new Long(55), "Dream"); genreIdToString.put(new Long(56), R)800 genreIdToString.put(new Long(56), "Southern Rock"); genreIdToString.put(new Long(57), R)801 genreIdToString.put(new Long(57), "Comedy"); genreIdToString.put(new Long(58), R)802 genreIdToString.put(new Long(58), "Cult"); genreIdToString.put(new Long(59), R)803 genreIdToString.put(new Long(59), "Gangsta"); genreIdToString.put(new Long(60), R)804 genreIdToString.put(new Long(60), "Top 40"); genreIdToString.put(new Long(61), R)805 genreIdToString.put(new Long(61), "Christian Rap"); genreIdToString.put(new Long(62), R)806 genreIdToString.put(new Long(62), "Pop/Funk"); genreIdToString.put(new Long(63), R)807 genreIdToString.put(new Long(63), "Jungle"); genreIdToString.put(new Long(64), R)808 genreIdToString.put(new Long(64), "Native American"); genreIdToString.put(new Long(65), R)809 genreIdToString.put(new Long(65), "Cabaret"); genreIdToString.put(new Long(66), R)810 genreIdToString.put(new Long(66), "New Wave"); genreIdToString.put(new Long(67), R)811 genreIdToString.put(new Long(67), "Psychadelic"); genreIdToString.put(new Long(68), R)812 genreIdToString.put(new Long(68), "Rave"); genreIdToString.put(new Long(69), R)813 genreIdToString.put(new Long(69), "Showtunes"); genreIdToString.put(new Long(70), R)814 genreIdToString.put(new Long(70), "Trailer"); genreIdToString.put(new Long(71), R)815 genreIdToString.put(new Long(71), "Lo-Fi"); genreIdToString.put(new Long(72), R)816 genreIdToString.put(new Long(72), "Tribal"); genreIdToString.put(new Long(73), R)817 genreIdToString.put(new Long(73), "Acid Punk"); genreIdToString.put(new Long(74), R)818 genreIdToString.put(new Long(74), "Acid Jazz"); genreIdToString.put(new Long(75), R)819 genreIdToString.put(new Long(75), "Polka"); genreIdToString.put(new Long(76), R)820 genreIdToString.put(new Long(76), "Retro"); genreIdToString.put(new Long(77), R)821 genreIdToString.put(new Long(77), "Musical"); genreIdToString.put(new Long(78), R)822 genreIdToString.put(new Long(78), "Rock & Roll"); genreIdToString.put(new Long(79), R)823 genreIdToString.put(new Long(79), "Hard Rock"); genreIdToString.put(new Long(80), R)824 genreIdToString.put(new Long(80), "Folk"); genreIdToString.put(new Long(81), R)825 genreIdToString.put(new Long(81), "Folk-Rock"); genreIdToString.put(new Long(82), R)826 genreIdToString.put(new Long(82), "National Folk"); genreIdToString.put(new Long(83), R)827 genreIdToString.put(new Long(83), "Swing"); genreIdToString.put(new Long(84), R)828 genreIdToString.put(new Long(84), "Fast Fusion"); genreIdToString.put(new Long(85), R)829 genreIdToString.put(new Long(85), "Bebob"); genreIdToString.put(new Long(86), R)830 genreIdToString.put(new Long(86), "Latin"); genreIdToString.put(new Long(87), R)831 genreIdToString.put(new Long(87), "Revival"); genreIdToString.put(new Long(88), R)832 genreIdToString.put(new Long(88), "Celtic"); genreIdToString.put(new Long(89), R)833 genreIdToString.put(new Long(89), "Bluegrass"); genreIdToString.put(new Long(90), R)834 genreIdToString.put(new Long(90), "Avantgarde"); genreIdToString.put(new Long(91), R)835 genreIdToString.put(new Long(91), "Gothic Rock"); genreIdToString.put(new Long(92), R)836 genreIdToString.put(new Long(92), "Progressive Rock"); genreIdToString.put(new Long(93), R)837 genreIdToString.put(new Long(93), "Psychedelic Rock"); genreIdToString.put(new Long(94), R)838 genreIdToString.put(new Long(94), "Symphonic Rock"); genreIdToString.put(new Long(95), R)839 genreIdToString.put(new Long(95), "Slow Rock"); genreIdToString.put(new Long(96), R)840 genreIdToString.put(new Long(96), "Big Band"); genreIdToString.put(new Long(97), R)841 genreIdToString.put(new Long(97), "Chorus"); genreIdToString.put(new Long(98), R)842 genreIdToString.put(new Long(98), "Easy Listening"); genreIdToString.put(new Long(99), R)843 genreIdToString.put(new Long(99), "Acoustic"); genreIdToString.put(new Long(100), R)844 genreIdToString.put(new Long(100), "Humour"); genreIdToString.put(new Long(101), R)845 genreIdToString.put(new Long(101), "Speech"); genreIdToString.put(new Long(102), R)846 genreIdToString.put(new Long(102), "Chanson"); genreIdToString.put(new Long(103), R)847 genreIdToString.put(new Long(103), "Opera"); genreIdToString.put(new Long(104), R)848 genreIdToString.put(new Long(104), "Chamber Music"); genreIdToString.put(new Long(105), R)849 genreIdToString.put(new Long(105), "Sonata"); genreIdToString.put(new Long(106), R)850 genreIdToString.put(new Long(106), "Symphony"); genreIdToString.put(new Long(107), R)851 genreIdToString.put(new Long(107), "Booty Bass"); genreIdToString.put(new Long(108), R)852 genreIdToString.put(new Long(108), "Primus"); genreIdToString.put(new Long(109), R)853 genreIdToString.put(new Long(109), "Porn Groove"); genreIdToString.put(new Long(110), R)854 genreIdToString.put(new Long(110), "Satire"); genreIdToString.put(new Long(111), R)855 genreIdToString.put(new Long(111), "Slow Jam"); genreIdToString.put(new Long(112), R)856 genreIdToString.put(new Long(112), "Club"); genreIdToString.put(new Long(113), R)857 genreIdToString.put(new Long(113), "Tango"); genreIdToString.put(new Long(114), R)858 genreIdToString.put(new Long(114), "Samba"); genreIdToString.put(new Long(115), R)859 genreIdToString.put(new Long(115), "Folklore"); genreIdToString.put(new Long(116), R)860 genreIdToString.put(new Long(116), "Ballad"); genreIdToString.put(new Long(117), R)861 genreIdToString.put(new Long(117), "Power Ballad"); genreIdToString.put(new Long(118), R)862 genreIdToString.put(new Long(118), "Rhythmic Soul"); genreIdToString.put(new Long(119), R)863 genreIdToString.put(new Long(119), "Freestyle"); genreIdToString.put(new Long(120), R)864 genreIdToString.put(new Long(120), "Duet"); genreIdToString.put(new Long(121), R)865 genreIdToString.put(new Long(121), "Punk Rock"); genreIdToString.put(new Long(122), R)866 genreIdToString.put(new Long(122), "Drum Solo"); genreIdToString.put(new Long(123), R)867 genreIdToString.put(new Long(123), "Acapella"); genreIdToString.put(new Long(124), R)868 genreIdToString.put(new Long(124), "Euro-House"); genreIdToString.put(new Long(125), R)869 genreIdToString.put(new Long(125), "Dance Hall"); 870 871 // ID's are typed as Integer because the combo box expects it 872 Long lkey; 873 iterator = genreIdToString.keySet().iterator(); 874 while (iterator.hasNext()) { 875 lkey = (Long) iterator.next(); 876 value = (String) genreIdToString.get(lkey); genreStringToId.put(value, lkey)877 genreStringToId.put(value, lkey); 878 } 879 880 // MPEG-1, Layer I (E) bitrate.put(new Long(0x1E), new Long(32))881 bitrate.put(new Long(0x1E), new Long(32)); bitrate.put(new Long(0x2E), new Long(64))882 bitrate.put(new Long(0x2E), new Long(64)); bitrate.put(new Long(0x3E), new Long(96))883 bitrate.put(new Long(0x3E), new Long(96)); bitrate.put(new Long(0x4E), new Long(128))884 bitrate.put(new Long(0x4E), new Long(128)); bitrate.put(new Long(0x5E), new Long(160))885 bitrate.put(new Long(0x5E), new Long(160)); bitrate.put(new Long(0x6E), new Long(192))886 bitrate.put(new Long(0x6E), new Long(192)); bitrate.put(new Long(0x7E), new Long(224))887 bitrate.put(new Long(0x7E), new Long(224)); bitrate.put(new Long(0x8E), new Long(256))888 bitrate.put(new Long(0x8E), new Long(256)); bitrate.put(new Long(0x9E), new Long(288))889 bitrate.put(new Long(0x9E), new Long(288)); bitrate.put(new Long(0xAE), new Long(320))890 bitrate.put(new Long(0xAE), new Long(320)); bitrate.put(new Long(0xBE), new Long(352))891 bitrate.put(new Long(0xBE), new Long(352)); bitrate.put(new Long(0xCE), new Long(384))892 bitrate.put(new Long(0xCE), new Long(384)); bitrate.put(new Long(0xDE), new Long(416))893 bitrate.put(new Long(0xDE), new Long(416)); bitrate.put(new Long(0xEE), new Long(448))894 bitrate.put(new Long(0xEE), new Long(448)); 895 896 // MPEG-1, Layer II (C) bitrate.put(new Long(0x1C), new Long(32))897 bitrate.put(new Long(0x1C), new Long(32)); bitrate.put(new Long(0x2C), new Long(48))898 bitrate.put(new Long(0x2C), new Long(48)); bitrate.put(new Long(0x3C), new Long(56))899 bitrate.put(new Long(0x3C), new Long(56)); bitrate.put(new Long(0x4C), new Long(64))900 bitrate.put(new Long(0x4C), new Long(64)); bitrate.put(new Long(0x5C), new Long(80))901 bitrate.put(new Long(0x5C), new Long(80)); bitrate.put(new Long(0x6C), new Long(96))902 bitrate.put(new Long(0x6C), new Long(96)); bitrate.put(new Long(0x7C), new Long(112))903 bitrate.put(new Long(0x7C), new Long(112)); bitrate.put(new Long(0x8C), new Long(128))904 bitrate.put(new Long(0x8C), new Long(128)); bitrate.put(new Long(0x9C), new Long(160))905 bitrate.put(new Long(0x9C), new Long(160)); bitrate.put(new Long(0xAC), new Long(192))906 bitrate.put(new Long(0xAC), new Long(192)); bitrate.put(new Long(0xBC), new Long(224))907 bitrate.put(new Long(0xBC), new Long(224)); bitrate.put(new Long(0xCC), new Long(256))908 bitrate.put(new Long(0xCC), new Long(256)); bitrate.put(new Long(0xDC), new Long(320))909 bitrate.put(new Long(0xDC), new Long(320)); bitrate.put(new Long(0xEC), new Long(384))910 bitrate.put(new Long(0xEC), new Long(384)); 911 912 // MPEG-1, Layer III (A) bitrate.put(new Long(0x1A), new Long(32))913 bitrate.put(new Long(0x1A), new Long(32)); bitrate.put(new Long(0x2A), new Long(40))914 bitrate.put(new Long(0x2A), new Long(40)); bitrate.put(new Long(0x3A), new Long(48))915 bitrate.put(new Long(0x3A), new Long(48)); bitrate.put(new Long(0x4A), new Long(56))916 bitrate.put(new Long(0x4A), new Long(56)); bitrate.put(new Long(0x5A), new Long(64))917 bitrate.put(new Long(0x5A), new Long(64)); bitrate.put(new Long(0x6A), new Long(80))918 bitrate.put(new Long(0x6A), new Long(80)); bitrate.put(new Long(0x7A), new Long(96))919 bitrate.put(new Long(0x7A), new Long(96)); bitrate.put(new Long(0x8A), new Long(112))920 bitrate.put(new Long(0x8A), new Long(112)); bitrate.put(new Long(0x9A), new Long(128))921 bitrate.put(new Long(0x9A), new Long(128)); bitrate.put(new Long(0xAA), new Long(160))922 bitrate.put(new Long(0xAA), new Long(160)); bitrate.put(new Long(0xBA), new Long(192))923 bitrate.put(new Long(0xBA), new Long(192)); bitrate.put(new Long(0xCA), new Long(224))924 bitrate.put(new Long(0xCA), new Long(224)); bitrate.put(new Long(0xDA), new Long(256))925 bitrate.put(new Long(0xDA), new Long(256)); bitrate.put(new Long(0xEA), new Long(320))926 bitrate.put(new Long(0xEA), new Long(320)); 927 928 // MPEG-2, Layer I (6) bitrate.put(new Long(0x16), new Long(32))929 bitrate.put(new Long(0x16), new Long(32)); bitrate.put(new Long(0x26), new Long(48))930 bitrate.put(new Long(0x26), new Long(48)); bitrate.put(new Long(0x36), new Long(56))931 bitrate.put(new Long(0x36), new Long(56)); bitrate.put(new Long(0x46), new Long(64))932 bitrate.put(new Long(0x46), new Long(64)); bitrate.put(new Long(0x56), new Long(80))933 bitrate.put(new Long(0x56), new Long(80)); bitrate.put(new Long(0x66), new Long(96))934 bitrate.put(new Long(0x66), new Long(96)); bitrate.put(new Long(0x76), new Long(112))935 bitrate.put(new Long(0x76), new Long(112)); bitrate.put(new Long(0x86), new Long(128))936 bitrate.put(new Long(0x86), new Long(128)); bitrate.put(new Long(0x96), new Long(144))937 bitrate.put(new Long(0x96), new Long(144)); bitrate.put(new Long(0xA6), new Long(160))938 bitrate.put(new Long(0xA6), new Long(160)); bitrate.put(new Long(0xB6), new Long(176))939 bitrate.put(new Long(0xB6), new Long(176)); bitrate.put(new Long(0xC6), new Long(192))940 bitrate.put(new Long(0xC6), new Long(192)); bitrate.put(new Long(0xD6), new Long(224))941 bitrate.put(new Long(0xD6), new Long(224)); bitrate.put(new Long(0xE6), new Long(256))942 bitrate.put(new Long(0xE6), new Long(256)); 943 944 // MPEG-2, Layer II (4) bitrate.put(new Long(0x14), new Long(8))945 bitrate.put(new Long(0x14), new Long(8)); bitrate.put(new Long(0x24), new Long(16))946 bitrate.put(new Long(0x24), new Long(16)); bitrate.put(new Long(0x34), new Long(24))947 bitrate.put(new Long(0x34), new Long(24)); bitrate.put(new Long(0x44), new Long(32))948 bitrate.put(new Long(0x44), new Long(32)); bitrate.put(new Long(0x54), new Long(40))949 bitrate.put(new Long(0x54), new Long(40)); bitrate.put(new Long(0x64), new Long(48))950 bitrate.put(new Long(0x64), new Long(48)); bitrate.put(new Long(0x74), new Long(56))951 bitrate.put(new Long(0x74), new Long(56)); bitrate.put(new Long(0x84), new Long(64))952 bitrate.put(new Long(0x84), new Long(64)); bitrate.put(new Long(0x94), new Long(80))953 bitrate.put(new Long(0x94), new Long(80)); bitrate.put(new Long(0xA4), new Long(96))954 bitrate.put(new Long(0xA4), new Long(96)); bitrate.put(new Long(0xB4), new Long(112))955 bitrate.put(new Long(0xB4), new Long(112)); bitrate.put(new Long(0xC4), new Long(128))956 bitrate.put(new Long(0xC4), new Long(128)); bitrate.put(new Long(0xD4), new Long(144))957 bitrate.put(new Long(0xD4), new Long(144)); bitrate.put(new Long(0xE4), new Long(160))958 bitrate.put(new Long(0xE4), new Long(160)); 959 960 // MPEG-2, Layer III (2) bitrate.put(new Long(0x12), new Long(8))961 bitrate.put(new Long(0x12), new Long(8)); bitrate.put(new Long(0x22), new Long(16))962 bitrate.put(new Long(0x22), new Long(16)); bitrate.put(new Long(0x32), new Long(24))963 bitrate.put(new Long(0x32), new Long(24)); bitrate.put(new Long(0x42), new Long(32))964 bitrate.put(new Long(0x42), new Long(32)); bitrate.put(new Long(0x52), new Long(40))965 bitrate.put(new Long(0x52), new Long(40)); bitrate.put(new Long(0x62), new Long(48))966 bitrate.put(new Long(0x62), new Long(48)); bitrate.put(new Long(0x72), new Long(56))967 bitrate.put(new Long(0x72), new Long(56)); bitrate.put(new Long(0x82), new Long(64))968 bitrate.put(new Long(0x82), new Long(64)); bitrate.put(new Long(0x92), new Long(80))969 bitrate.put(new Long(0x92), new Long(80)); bitrate.put(new Long(0xA2), new Long(96))970 bitrate.put(new Long(0xA2), new Long(96)); bitrate.put(new Long(0xB2), new Long(112))971 bitrate.put(new Long(0xB2), new Long(112)); bitrate.put(new Long(0xC2), new Long(128))972 bitrate.put(new Long(0xC2), new Long(128)); bitrate.put(new Long(0xD2), new Long(144))973 bitrate.put(new Long(0xD2), new Long(144)); bitrate.put(new Long(0xE2), new Long(160))974 bitrate.put(new Long(0xE2), new Long(160)); 975 languageIdToString.put("aar", "Afar"); 976 languageIdToString.put("abk", "Abkhazian"); 977 languageIdToString.put("ace", "Achinese"); 978 languageIdToString.put("ach", "Acoli"); 979 languageIdToString.put("ada", "Adangme"); 980 languageIdToString.put("afa", "Afro-Asiatic (Other)"); 981 languageIdToString.put("afh", "Afrihili"); 982 languageIdToString.put("afr", "Afrikaans"); 983 languageIdToString.put("aka", "Akan"); 984 languageIdToString.put("akk", "Akkadian"); 985 languageIdToString.put("alb", "Albanian"); 986 languageIdToString.put("ale", "Aleut"); 987 languageIdToString.put("alg", "Algonquian languages"); 988 languageIdToString.put("amh", "Amharic"); 989 languageIdToString.put("ang", "English, Old (ca.450-1100)"); 990 languageIdToString.put("apa", "Apache languages"); 991 languageIdToString.put("ara", "Arabic"); 992 languageIdToString.put("arc", "Aramaic"); 993 languageIdToString.put("arm", "Armenian"); 994 languageIdToString.put("arn", "Araucanian"); 995 languageIdToString.put("arp", "Arapaho"); 996 languageIdToString.put("art", "Artificial (Other)"); 997 languageIdToString.put("arw", "Arawak"); 998 languageIdToString.put("asm", "Assamese"); 999 languageIdToString.put("ast", "Asturian; Bable"); 1000 languageIdToString.put("ath", "Athapascan languages"); 1001 languageIdToString.put("aus", "Australian languages"); 1002 languageIdToString.put("ava", "Avaric"); 1003 languageIdToString.put("ave", "Avestan"); 1004 languageIdToString.put("awa", "Awadhi"); 1005 languageIdToString.put("aym", "Aymara"); 1006 languageIdToString.put("aze", "Azerbaijani"); 1007 languageIdToString.put("bad", "Banda"); 1008 languageIdToString.put("bai", "Bamileke languages"); 1009 languageIdToString.put("bak", "Bashkir"); 1010 languageIdToString.put("bal", "Baluchi"); 1011 languageIdToString.put("bam", "Bambara"); 1012 languageIdToString.put("ban", "Balinese"); 1013 languageIdToString.put("baq", "Basque"); 1014 languageIdToString.put("bas", "Basa"); 1015 languageIdToString.put("bat", "Baltic (Other)"); 1016 languageIdToString.put("bej", "Beja"); 1017 languageIdToString.put("bel", "Belarusian"); 1018 languageIdToString.put("bem", "Bemba"); 1019 languageIdToString.put("ben", "Bengali"); 1020 languageIdToString.put("ber", "Berber (Other)"); 1021 languageIdToString.put("bho", "Bhojpuri"); 1022 languageIdToString.put("bih", "Bihari"); 1023 languageIdToString.put("bik", "Bikol"); 1024 languageIdToString.put("bin", "Bini"); 1025 languageIdToString.put("bis", "Bislama"); 1026 languageIdToString.put("bla", "Siksika"); 1027 languageIdToString.put("bnt", "Bantu (Other)"); 1028 languageIdToString.put("bod", "Tibetan"); 1029 languageIdToString.put("bos", "Bosnian"); 1030 languageIdToString.put("bra", "Braj"); 1031 languageIdToString.put("bre", "Breton"); 1032 languageIdToString.put("btk", "Batak (Indonesia)"); 1033 languageIdToString.put("bua", "Buriat"); 1034 languageIdToString.put("bug", "Buginese"); 1035 languageIdToString.put("bul", "Bulgarian"); 1036 languageIdToString.put("bur", "Burmese"); 1037 languageIdToString.put("cad", "Caddo"); 1038 languageIdToString.put("cai", "Central American Indian (Other)"); 1039 languageIdToString.put("car", "Carib"); 1040 languageIdToString.put("cat", "Catalan"); 1041 languageIdToString.put("cau", "Caucasian (Other)"); 1042 languageIdToString.put("ceb", "Cebuano"); 1043 languageIdToString.put("cel", "Celtic (Other)"); 1044 languageIdToString.put("ces", "Czech"); 1045 languageIdToString.put("cha", "Chamorro"); 1046 languageIdToString.put("chb", "Chibcha"); 1047 languageIdToString.put("che", "Chechen"); 1048 languageIdToString.put("chg", "Chagatai"); 1049 languageIdToString.put("chi", "Chinese"); 1050 languageIdToString.put("chk", "Chuukese"); 1051 languageIdToString.put("chm", "Mari"); 1052 languageIdToString.put("chn", "Chinook jargon"); 1053 languageIdToString.put("cho", "Choctaw"); 1054 languageIdToString.put("chp", "Chipewyan"); 1055 languageIdToString.put("chr", "Cherokee"); 1056 languageIdToString.put("chu", 1057 "Church Slavic; Old Slavonic; Old Church Slavonic; Church Slavonic; Old Bulgarian"); 1058 languageIdToString.put("chv", "Chuvash"); 1059 languageIdToString.put("chy", "Cheyenne"); 1060 languageIdToString.put("cmc", "Chamic languages"); 1061 languageIdToString.put("cop", "Coptic"); 1062 languageIdToString.put("cor", "Cornish"); 1063 languageIdToString.put("cos", "Corsican"); 1064 languageIdToString.put("cpe", "Creoles and pidgins, English based (Other)"); 1065 languageIdToString.put("cpf", "Creoles and pidgins, French-based (Other)"); 1066 languageIdToString.put("cpp", "Creoles and pidgins,"); 1067 languageIdToString.put("cre", "Cree"); 1068 languageIdToString.put("crp", "Creoles and pidgins (Other)"); 1069 languageIdToString.put("cus", "Cushitic (Other)"); 1070 languageIdToString.put("cym", "Welsh"); 1071 languageIdToString.put("cze", "Czech"); 1072 languageIdToString.put("dak", "Dakota"); 1073 languageIdToString.put("dan", "Danish"); 1074 languageIdToString.put("day", "Dayak"); 1075 languageIdToString.put("del", "Delaware"); 1076 languageIdToString.put("den", "Slave (Athapascan)"); 1077 languageIdToString.put("deu", "German"); 1078 languageIdToString.put("dgr", "Dogrib"); 1079 languageIdToString.put("din", "Dinka"); 1080 languageIdToString.put("div", "Divehi"); 1081 languageIdToString.put("doi", "Dogri"); 1082 languageIdToString.put("dra", "Dravidian (Other)"); 1083 languageIdToString.put("dua", "Duala"); 1084 languageIdToString.put("dum", "Dutch, Middle (ca.1050-1350)"); 1085 languageIdToString.put("dut", "Dutch"); 1086 languageIdToString.put("dyu", "Dyula"); 1087 languageIdToString.put("dzo", "Dzongkha"); 1088 languageIdToString.put("efi", "Efik"); 1089 languageIdToString.put("egy", "Egyptian (Ancient)"); 1090 languageIdToString.put("eka", "Ekajuk"); 1091 languageIdToString.put("ell", "Greek, Modern (1453-)"); 1092 languageIdToString.put("elx", "Elamite"); 1093 languageIdToString.put("eng", "English"); 1094 languageIdToString.put("enm", "English, Middle (1100-1500)"); 1095 languageIdToString.put("epo", "Esperanto"); 1096 languageIdToString.put("est", "Estonian"); 1097 languageIdToString.put("eus", "Basque"); 1098 languageIdToString.put("ewe", "Ewe"); 1099 languageIdToString.put("ewo", "Ewondo"); 1100 languageIdToString.put("fan", "Fang"); 1101 languageIdToString.put("fao", "Faroese"); 1102 languageIdToString.put("fas", "Persian"); 1103 languageIdToString.put("fat", "Fanti"); 1104 languageIdToString.put("fij", "Fijian"); 1105 languageIdToString.put("fin", "Finnish"); 1106 languageIdToString.put("fiu", "Finno-Ugrian (Other)"); 1107 languageIdToString.put("fon", "Fon"); 1108 languageIdToString.put("fra", "French"); 1109 languageIdToString.put("frm", "French, Middle (ca.1400-1800)"); 1110 languageIdToString.put("fro", "French, Old (842-ca.1400)"); 1111 languageIdToString.put("fry", "Frisian"); 1112 languageIdToString.put("ful", "Fulah"); 1113 languageIdToString.put("fur", "Friulian"); 1114 languageIdToString.put("gaa", "Ga"); 1115 languageIdToString.put("gay", "Gayo"); 1116 languageIdToString.put("gba", "Gbaya"); 1117 languageIdToString.put("gem", "Germanic (Other)"); 1118 languageIdToString.put("geo", "Georgian"); 1119 languageIdToString.put("ger", "German"); 1120 languageIdToString.put("gez", "Geez"); 1121 languageIdToString.put("gil", "Gilbertese"); 1122 languageIdToString.put("gla", "Gaelic; Scottish Gaelic"); 1123 languageIdToString.put("gle", "Irish"); 1124 languageIdToString.put("glg", "Gallegan"); 1125 languageIdToString.put("glv", "Manx"); 1126 languageIdToString.put("gmh", "German, Middle High (ca.1050-1500)"); 1127 languageIdToString.put("goh", "German, Old High (ca.750-1050)"); 1128 languageIdToString.put("gon", "Gondi"); 1129 languageIdToString.put("gor", "Gorontalo"); 1130 languageIdToString.put("got", "Gothic"); 1131 languageIdToString.put("grb", "Grebo"); 1132 languageIdToString.put("grc", "Greek, Ancient (to 1453)"); 1133 languageIdToString.put("gre", "Greek, Modern (1453-)"); 1134 languageIdToString.put("grn", "Guarani"); 1135 languageIdToString.put("guj", "Gujarati"); 1136 languageIdToString.put("gwi", "Gwich�in"); 1137 languageIdToString.put("hai", "Haida"); 1138 languageIdToString.put("hau", "Hausa"); 1139 languageIdToString.put("haw", "Hawaiian"); 1140 languageIdToString.put("heb", "Hebrew"); 1141 languageIdToString.put("her", "Herero"); 1142 languageIdToString.put("hil", "Hiligaynon"); 1143 languageIdToString.put("him", "Himachali"); 1144 languageIdToString.put("hin", "Hindi"); 1145 languageIdToString.put("hit", "Hittite"); 1146 languageIdToString.put("hmn", "Hmong"); 1147 languageIdToString.put("hmo", "Hiri Motu"); 1148 languageIdToString.put("hrv", "Croatian"); 1149 languageIdToString.put("hun", "Hungarian"); 1150 languageIdToString.put("hup", "Hupa"); 1151 languageIdToString.put("hye", "Armenian"); 1152 languageIdToString.put("iba", "Iban"); 1153 languageIdToString.put("ibo", "Igbo"); 1154 languageIdToString.put("ice", "Icelandic"); 1155 languageIdToString.put("ido", "Ido"); 1156 languageIdToString.put("ijo", "Ijo"); 1157 languageIdToString.put("iku", "Inuktitut"); 1158 languageIdToString.put("ile", "Interlingue"); 1159 languageIdToString.put("ilo", "Iloko"); 1160 languageIdToString.put("ina", "Interlingua (International Auxiliary)"); 1161 languageIdToString.put("inc", "Indic (Other)"); 1162 languageIdToString.put("ind", "Indonesian"); 1163 languageIdToString.put("ine", "Indo-European (Other)"); 1164 languageIdToString.put("ipk", "Inupiaq"); 1165 languageIdToString.put("ira", "Iranian (Other)"); 1166 languageIdToString.put("iro", "Iroquoian languages"); 1167 languageIdToString.put("isl", "Icelandic"); 1168 languageIdToString.put("ita", "Italian"); 1169 languageIdToString.put("jav", "Javanese"); 1170 languageIdToString.put("jpn", "Japanese"); 1171 languageIdToString.put("jpr", "Judeo-Persian"); 1172 languageIdToString.put("jrb", "Judeo-Arabic"); 1173 languageIdToString.put("kaa", "Kara-Kalpak"); 1174 languageIdToString.put("kab", "Kabyle"); 1175 languageIdToString.put("kac", "Kachin"); 1176 languageIdToString.put("kal", "Kalaallisut"); 1177 languageIdToString.put("kam", "Kamba"); 1178 languageIdToString.put("kan", "Kannada"); 1179 languageIdToString.put("kar", "Karen"); 1180 languageIdToString.put("kas", "Kashmiri"); 1181 languageIdToString.put("kat", "Georgian"); 1182 languageIdToString.put("kau", "Kanuri"); 1183 languageIdToString.put("kaw", "Kawi"); 1184 languageIdToString.put("kaz", "Kazakh"); 1185 languageIdToString.put("kha", "Khasi"); 1186 languageIdToString.put("khi", "Khoisan (Other)"); 1187 languageIdToString.put("khm", "Khmer"); 1188 languageIdToString.put("kho", "Khotanese"); 1189 languageIdToString.put("kik", "Kikuyu; Gikuyu"); 1190 languageIdToString.put("kin", "Kinyarwanda"); 1191 languageIdToString.put("kir", "Kirghiz"); 1192 languageIdToString.put("kmb", "Kimbundu"); 1193 languageIdToString.put("kok", "Konkani"); 1194 languageIdToString.put("kom", "Komi"); 1195 languageIdToString.put("kon", "Kongo"); 1196 languageIdToString.put("kor", "Korean"); 1197 languageIdToString.put("kos", "Kosraean"); 1198 languageIdToString.put("kpe", "Kpelle"); 1199 languageIdToString.put("kro", "Kru"); 1200 languageIdToString.put("kru", "Kurukh"); 1201 languageIdToString.put("kua", "Kuanyama; Kwanyama"); 1202 languageIdToString.put("kum", "Kumyk"); 1203 languageIdToString.put("kur", "Kurdish"); 1204 languageIdToString.put("kut", "Kutenai"); 1205 languageIdToString.put("lad", "Ladino"); 1206 languageIdToString.put("lah", "Lahnda"); 1207 languageIdToString.put("lam", "Lamba"); 1208 languageIdToString.put("lao", "Lao"); 1209 languageIdToString.put("lat", "Latin"); 1210 languageIdToString.put("lav", "Latvian"); 1211 languageIdToString.put("lez", "Lezghian"); 1212 languageIdToString.put("lin", "Lingala"); 1213 languageIdToString.put("lit", "Lithuanian"); 1214 languageIdToString.put("lol", "Mongo"); 1215 languageIdToString.put("loz", "Lozi"); 1216 languageIdToString.put("ltz", "Luxembourgish; Letzeburgesch"); 1217 languageIdToString.put("lua", "Luba-Lulua"); 1218 languageIdToString.put("lub", "Luba-Katanga"); 1219 languageIdToString.put("lug", "Ganda"); 1220 languageIdToString.put("lui", "Luiseno"); 1221 languageIdToString.put("lun", "Lunda"); 1222 languageIdToString.put("luo", "Luo (Kenya and Tanzania)"); 1223 languageIdToString.put("lus", "lushai"); 1224 languageIdToString.put("mac", "Macedonian"); 1225 languageIdToString.put("mad", "Madurese"); 1226 languageIdToString.put("mag", "Magahi"); 1227 languageIdToString.put("mah", "Marshallese"); 1228 languageIdToString.put("mai", "Maithili"); 1229 languageIdToString.put("mak", "Makasar"); 1230 languageIdToString.put("mal", "Malayalam"); 1231 languageIdToString.put("man", "Mandingo"); 1232 languageIdToString.put("mao", "Maori"); 1233 languageIdToString.put("map", "Austronesian (Other)"); 1234 languageIdToString.put("mar", "Marathi"); 1235 languageIdToString.put("mas", "Masai"); 1236 languageIdToString.put("may", "Malay"); 1237 languageIdToString.put("mdr", "Mandar"); 1238 languageIdToString.put("men", "Mende"); 1239 languageIdToString.put("mga", "Irish, Middle (900-1200)"); 1240 languageIdToString.put("mic", "Micmac"); 1241 languageIdToString.put("min", "Minangkabau"); 1242 languageIdToString.put("mis", "Miscellaneous languages"); 1243 languageIdToString.put("mkd", "Macedonian"); 1244 languageIdToString.put("mkh", "Mon-Khmer (Other)"); 1245 languageIdToString.put("mlg", "Malagasy"); 1246 languageIdToString.put("mlt", "Maltese"); 1247 languageIdToString.put("mnc", "Manchu"); 1248 languageIdToString.put("mni", "Manipuri"); 1249 languageIdToString.put("mno", "Manobo languages"); 1250 languageIdToString.put("moh", "Mohawk"); 1251 languageIdToString.put("mol", "Moldavian"); 1252 languageIdToString.put("mon", "Mongolian"); 1253 languageIdToString.put("mos", "Mossi"); 1254 languageIdToString.put("mri", "Maori"); 1255 languageIdToString.put("msa", "Malay"); 1256 languageIdToString.put("mul", "Multiple languages"); 1257 languageIdToString.put("mun", "Munda languages"); 1258 languageIdToString.put("mus", "Creek"); 1259 languageIdToString.put("mwr", "Marwari"); 1260 languageIdToString.put("mya", "Burmese"); 1261 languageIdToString.put("myn", "Mayan languages"); 1262 languageIdToString.put("nah", "Nahuatl"); 1263 languageIdToString.put("nai", "North American Indian"); 1264 languageIdToString.put("nau", "Nauru"); 1265 languageIdToString.put("nav", "Navajo; Navaho"); 1266 languageIdToString.put("nbl", "South Ndebele"); 1267 languageIdToString.put("nde", "North Ndebele"); 1268 languageIdToString.put("ndo", "Ndonga"); 1269 languageIdToString.put("nds", "Low German; Low Saxon; German, Low; Saxon, Low"); 1270 languageIdToString.put("nep", "Nepali"); 1271 languageIdToString.put("new", "Newari"); 1272 languageIdToString.put("nia", "Nias"); 1273 languageIdToString.put("nic", "Niger-Kordofanian (Other)"); 1274 languageIdToString.put("niu", "Niuean"); 1275 languageIdToString.put("nld", "Dutch"); 1276 languageIdToString.put("nno", "Norwegian Nynorsk"); 1277 languageIdToString.put("nob", "Norwegian Bokm�l"); 1278 languageIdToString.put("non", "Norse, Old"); 1279 languageIdToString.put("nor", "Norwegian"); 1280 languageIdToString.put("nso", "Sotho, Northern"); 1281 languageIdToString.put("nub", "Nubian languages"); 1282 languageIdToString.put("nya", "Chichewa; Chewa; Nyanja"); 1283 languageIdToString.put("nym", "Nyamwezi"); 1284 languageIdToString.put("nyn", "Nyankole"); 1285 languageIdToString.put("nyo", "Nyoro"); 1286 languageIdToString.put("nzi", "Nzima"); 1287 languageIdToString.put("oci", "Occitan (post 1500); Proven�al"); 1288 languageIdToString.put("oji", "Ojibwa"); 1289 languageIdToString.put("ori", "Oriya"); 1290 languageIdToString.put("orm", "Oromo"); 1291 languageIdToString.put("osa", "Osage"); 1292 languageIdToString.put("oss", "Ossetian; Ossetic"); 1293 languageIdToString.put("ota", "Turkish, Ottoman (1500-1928)"); 1294 languageIdToString.put("oto", "Otomian languages"); 1295 languageIdToString.put("paa", "Papuan (Other)"); 1296 languageIdToString.put("pag", "Pangasinan"); 1297 languageIdToString.put("pal", "Pahlavi"); 1298 languageIdToString.put("pam", "Pampanga"); 1299 languageIdToString.put("pan", "Panjabi"); 1300 languageIdToString.put("pap", "Papiamento"); 1301 languageIdToString.put("pau", "Palauan"); 1302 languageIdToString.put("peo", "Persian, Old (ca.600-400 B.C.)"); 1303 languageIdToString.put("per", "Persian"); 1304 languageIdToString.put("per", "Persian"); 1305 languageIdToString.put("phi", "Philippine (Other)"); 1306 languageIdToString.put("phn", "Phoenician"); 1307 languageIdToString.put("pli", "Pali"); 1308 languageIdToString.put("pol", "Polish"); 1309 languageIdToString.put("pon", "Pohnpeian"); 1310 languageIdToString.put("por", "Portuguese"); 1311 languageIdToString.put("pra", "Prakrit languages"); 1312 languageIdToString.put("pro", "Proven�al, Old (to 1500)"); 1313 languageIdToString.put("pus", "Pushto"); 1314 languageIdToString.put("que", "Quechua"); 1315 languageIdToString.put("raj", "Rajasthani"); 1316 languageIdToString.put("rap", "Rapanui"); 1317 languageIdToString.put("rar", "Rarotongan"); 1318 languageIdToString.put("roa", "Romance (Other)"); 1319 languageIdToString.put("roh", "Raeto-Romance"); 1320 languageIdToString.put("rom", "Romany"); 1321 languageIdToString.put("ron", "Romanian"); 1322 languageIdToString.put("rum", "Romanian"); 1323 languageIdToString.put("run", "Rundi"); 1324 languageIdToString.put("rus", "Russian"); 1325 languageIdToString.put("sad", "Sandawe"); 1326 languageIdToString.put("sag", "Sango"); 1327 languageIdToString.put("sah", "Yakut"); 1328 languageIdToString.put("sai", "South American Indian (Other)"); 1329 languageIdToString.put("sal", "Salishan languages"); 1330 languageIdToString.put("sam", "Samaritan Aramaic"); 1331 languageIdToString.put("san", "Sanskrit"); 1332 languageIdToString.put("sas", "Sasak"); 1333 languageIdToString.put("sat", "Santali"); 1334 languageIdToString.put("scc", "Serbian"); 1335 languageIdToString.put("sco", "Scots"); 1336 languageIdToString.put("scr", "Croatian"); 1337 languageIdToString.put("sel", "Selkup"); 1338 languageIdToString.put("sem", "Semitic (Other)"); 1339 languageIdToString.put("sga", "Irish, Old (to 900)"); 1340 languageIdToString.put("sgn", "Sign languages"); 1341 languageIdToString.put("shn", "Shan"); 1342 languageIdToString.put("sid", "Sidamo"); 1343 languageIdToString.put("sin", "Sinhales"); 1344 languageIdToString.put("sio", "Siouan languages"); 1345 languageIdToString.put("sit", "Sino-Tibetan (Other)"); 1346 languageIdToString.put("sla", "Slavic (Other)"); 1347 languageIdToString.put("slk", "Slovak"); 1348 languageIdToString.put("slo", "Slovak"); 1349 languageIdToString.put("slv", "Slovenian"); 1350 languageIdToString.put("sma", "Southern Sami"); 1351 languageIdToString.put("sme", "Northern Sami"); 1352 languageIdToString.put("smi", "Sami languages (Other)"); 1353 languageIdToString.put("smj", "Lule Sami"); 1354 languageIdToString.put("smn", "Inari Sami"); 1355 languageIdToString.put("smo", "Samoan"); 1356 languageIdToString.put("sms", "Skolt Sami"); 1357 languageIdToString.put("sna", "Shona"); 1358 languageIdToString.put("snd", "Sindhi"); 1359 languageIdToString.put("snk", "Soninke"); 1360 languageIdToString.put("sog", "Sogdian"); 1361 languageIdToString.put("som", "Somali"); 1362 languageIdToString.put("son", "Songhai"); 1363 languageIdToString.put("sot", "Sotho, Southern"); 1364 languageIdToString.put("spa", "Spanish; Castilia"); 1365 languageIdToString.put("sqi", "Albanian"); 1366 languageIdToString.put("srd", "Sardinian"); 1367 languageIdToString.put("srp", "Serbian"); 1368 languageIdToString.put("srr", "Serer"); 1369 languageIdToString.put("ssa", "Nilo-Saharan (Other)"); 1370 languageIdToString.put("sus", "Susu"); 1371 languageIdToString.put("sux", "Sumerian"); 1372 languageIdToString.put("swa", "Swahili"); 1373 languageIdToString.put("swe", "Swedish"); 1374 languageIdToString.put("syr", "Syriac"); 1375 languageIdToString.put("tah", "Tahitian"); 1376 languageIdToString.put("tai", "Tai (Other)"); 1377 languageIdToString.put("tam", "Tamil"); 1378 languageIdToString.put("tat", "Tatar"); 1379 languageIdToString.put("tel", "Telugu"); 1380 languageIdToString.put("tem", "Timne"); 1381 languageIdToString.put("ter", "Tereno"); 1382 languageIdToString.put("tet", "Tetum"); 1383 languageIdToString.put("tgk", "Tajik"); 1384 languageIdToString.put("tgl", "Tagalog"); 1385 languageIdToString.put("tha", "Thai"); 1386 languageIdToString.put("tib", "Tibetan"); 1387 languageIdToString.put("tig", "Tigre"); 1388 languageIdToString.put("tir", "Tigrinya"); 1389 languageIdToString.put("tiv", "Tiv"); 1390 languageIdToString.put("tkl", "Tokelau"); 1391 languageIdToString.put("tli", "Tlingit"); 1392 languageIdToString.put("tmh", "Tamashek"); 1393 languageIdToString.put("tog", "Tonga (Nyasa)"); 1394 languageIdToString.put("ton", "Tonga (Tonga Islands)"); 1395 languageIdToString.put("tpi", "Tok Pisin"); 1396 languageIdToString.put("tsi", "Tsimshian"); 1397 languageIdToString.put("tsn", "Tswana"); 1398 languageIdToString.put("tso", "Tsonga"); 1399 languageIdToString.put("tuk", "Turkmen"); 1400 languageIdToString.put("tum", "Tumbuka"); 1401 languageIdToString.put("tup", "Tupi languages"); 1402 languageIdToString.put("tur", "Turkish"); 1403 languageIdToString.put("tut", "Altaic (Other)"); 1404 languageIdToString.put("tvl", "Tuvalu"); 1405 languageIdToString.put("twi", "Twi"); 1406 languageIdToString.put("tyv", "Tuvinian"); 1407 languageIdToString.put("uga", "Ugaritic"); 1408 languageIdToString.put("uig", "Uighur"); 1409 languageIdToString.put("ukr", "Ukrainian"); 1410 languageIdToString.put("umb", "Umbundu"); 1411 languageIdToString.put("und", "Undetermined"); 1412 languageIdToString.put("urd", "Urdu"); 1413 languageIdToString.put("uzb", "Uzbek"); 1414 languageIdToString.put("vai", "Vai"); 1415 languageIdToString.put("ven", "Venda"); 1416 languageIdToString.put("vie", "Vietnamese"); 1417 languageIdToString.put("vol", "Volap�k"); 1418 languageIdToString.put("vot", "Votic"); 1419 languageIdToString.put("wak", "Wakashan languages"); 1420 languageIdToString.put("wal", "Walamo"); 1421 languageIdToString.put("war", "Waray"); 1422 languageIdToString.put("was", "Washo"); 1423 languageIdToString.put("wel", "Welsh"); 1424 languageIdToString.put("wen", "Sorbian languages"); 1425 languageIdToString.put("wln", "Walloon"); 1426 languageIdToString.put("wol", "Wolof"); 1427 languageIdToString.put("xho", "Xhosa"); 1428 languageIdToString.put("yao", "Yao"); 1429 languageIdToString.put("yap", "Yapese"); 1430 languageIdToString.put("yid", "Yiddish"); 1431 languageIdToString.put("yor", "Yoruba"); 1432 languageIdToString.put("ypk", "Yupik languages"); 1433 languageIdToString.put("zap", "Zapotec"); 1434 languageIdToString.put("zen", "Zenaga"); 1435 languageIdToString.put("zha", "Zhuang; Chuang"); 1436 languageIdToString.put("zho", "Chinese"); 1437 languageIdToString.put("znd", "Zande"); 1438 languageIdToString.put("zul", "Zulu"); 1439 languageIdToString.put("zun", "Zuni"); 1440 iterator = languageIdToString.keySet().iterator(); 1441 while (iterator.hasNext()) { 1442 key = (String) iterator.next(); 1443 value = (String) languageIdToString.get(key); languageStringToId.put(value, key)1444 languageStringToId.put(value, key); 1445 } textEncodingIdToString.put(new Long(0), R)1446 textEncodingIdToString.put(new Long(0), "ISO-8859-1"); textEncodingIdToString.put(new Long(1), R)1447 textEncodingIdToString.put(new Long(1), "UTF-16"); textEncodingIdToString.put(new Long(2), R)1448 textEncodingIdToString.put(new Long(2), "UTF-16BE"); textEncodingIdToString.put(new Long(3), R)1449 textEncodingIdToString.put(new Long(3), "UTF-8"); 1450 iterator = textEncodingIdToString.keySet().iterator(); 1451 while (iterator.hasNext()) { 1452 lkey = (Long) iterator.next(); 1453 value = (String) textEncodingIdToString.get(lkey); textEncodingStringToId.put(value, lkey)1454 textEncodingStringToId.put(value, lkey); 1455 } interpolationMethodIdToString.put(new Long(0), R)1456 interpolationMethodIdToString.put(new Long(0), "Band"); interpolationMethodIdToString.put(new Long(1), R)1457 interpolationMethodIdToString.put(new Long(1), "Linear"); 1458 iterator = interpolationMethodIdToString.keySet().iterator(); 1459 while (iterator.hasNext()) { 1460 lkey = (Long) iterator.next(); 1461 value = (String) interpolationMethodIdToString.get(lkey); interpolationMethodStringToId.put(value, lkey)1462 interpolationMethodStringToId.put(value, lkey); 1463 } pictureTypeIdToString.put(new Long(0), R)1464 pictureTypeIdToString.put(new Long(0), "Other"); pictureTypeIdToString.put(new Long(1), R)1465 pictureTypeIdToString.put(new Long(1), "32x32 pixels 'file icon' (PNG only)"); pictureTypeIdToString.put(new Long(2), R)1466 pictureTypeIdToString.put(new Long(2), "Other file icon"); pictureTypeIdToString.put(new Long(3), R)1467 pictureTypeIdToString.put(new Long(3), "Cover (front)"); pictureTypeIdToString.put(new Long(4), R)1468 pictureTypeIdToString.put(new Long(4), "Cover (back)"); pictureTypeIdToString.put(new Long(5), R)1469 pictureTypeIdToString.put(new Long(5), "Leaflet page"); pictureTypeIdToString.put(new Long(6), R)1470 pictureTypeIdToString.put(new Long(6), "Media (e.g. label side of CD)"); pictureTypeIdToString.put(new Long(7), R)1471 pictureTypeIdToString.put(new Long(7), "Lead artist/lead performer/soloist"); pictureTypeIdToString.put(new Long(8), R)1472 pictureTypeIdToString.put(new Long(8), "Artist/performer"); pictureTypeIdToString.put(new Long(9), R)1473 pictureTypeIdToString.put(new Long(9), "Conductor"); pictureTypeIdToString.put(new Long(10), R)1474 pictureTypeIdToString.put(new Long(10), "Band/Orchestra"); pictureTypeIdToString.put(new Long(11), R)1475 pictureTypeIdToString.put(new Long(11), "Composer"); pictureTypeIdToString.put(new Long(12), R)1476 pictureTypeIdToString.put(new Long(12), "Lyricist/text writer"); pictureTypeIdToString.put(new Long(13), R)1477 pictureTypeIdToString.put(new Long(13), "Recording Location"); pictureTypeIdToString.put(new Long(14), R)1478 pictureTypeIdToString.put(new Long(14), "During recording"); pictureTypeIdToString.put(new Long(15), R)1479 pictureTypeIdToString.put(new Long(15), "During performance"); pictureTypeIdToString.put(new Long(16), R)1480 pictureTypeIdToString.put(new Long(16), "Movie/video screen capture"); pictureTypeIdToString.put(new Long(17), R)1481 pictureTypeIdToString.put(new Long(17), "A bright coloured fish"); pictureTypeIdToString.put(new Long(18), R)1482 pictureTypeIdToString.put(new Long(18), "Illustration"); pictureTypeIdToString.put(new Long(19), R)1483 pictureTypeIdToString.put(new Long(19), "Band/artist logotype"); pictureTypeIdToString.put(new Long(20), R)1484 pictureTypeIdToString.put(new Long(20), "Publisher/Studio logotype"); 1485 iterator = pictureTypeIdToString.keySet().iterator(); 1486 while (iterator.hasNext()) { 1487 lkey = (Long) iterator.next(); 1488 value = (String) pictureTypeIdToString.get(lkey); pictureTypeStringToId.put(value, lkey)1489 pictureTypeStringToId.put(value, lkey); 1490 } timeStampFormatIdToString.put(new Long(1), R)1491 timeStampFormatIdToString.put(new Long(1), "Absolute time using MPEG [MPEG] frames as unit"); timeStampFormatIdToString.put(new Long(2), R)1492 timeStampFormatIdToString.put(new Long(2), "Absolute time using milliseconds as unit"); 1493 iterator = timeStampFormatIdToString.keySet().iterator(); 1494 while (iterator.hasNext()) { 1495 lkey = (Long) iterator.next(); 1496 value = (String) timeStampFormatIdToString.get(lkey); timeStampFormatStringToId.put(value, lkey)1497 timeStampFormatStringToId.put(value, lkey); 1498 } typeOfEventIdToString.put(new Long(0x00), R)1499 typeOfEventIdToString.put(new Long(0x00), "Padding (has no meaning)"); typeOfEventIdToString.put(new Long(0x01), R)1500 typeOfEventIdToString.put(new Long(0x01), "End of initial silence"); typeOfEventIdToString.put(new Long(0x02), R)1501 typeOfEventIdToString.put(new Long(0x02), "Intro start"); typeOfEventIdToString.put(new Long(0x03), R)1502 typeOfEventIdToString.put(new Long(0x03), "Main part start"); typeOfEventIdToString.put(new Long(0x04), R)1503 typeOfEventIdToString.put(new Long(0x04), "Outro start"); typeOfEventIdToString.put(new Long(0x05), R)1504 typeOfEventIdToString.put(new Long(0x05), "Outro end"); typeOfEventIdToString.put(new Long(0x06), R)1505 typeOfEventIdToString.put(new Long(0x06), "Verse start"); typeOfEventIdToString.put(new Long(0x07), R)1506 typeOfEventIdToString.put(new Long(0x07), "Refrain start"); typeOfEventIdToString.put(new Long(0x08), R)1507 typeOfEventIdToString.put(new Long(0x08), "Interlude start"); typeOfEventIdToString.put(new Long(0x09), R)1508 typeOfEventIdToString.put(new Long(0x09), "Theme start"); typeOfEventIdToString.put(new Long(0x0A), R)1509 typeOfEventIdToString.put(new Long(0x0A), "Variation start"); typeOfEventIdToString.put(new Long(0x0B), R)1510 typeOfEventIdToString.put(new Long(0x0B), "Key change"); typeOfEventIdToString.put(new Long(0x0C), R)1511 typeOfEventIdToString.put(new Long(0x0C), "Time change"); typeOfEventIdToString.put(new Long(0x0D), R)1512 typeOfEventIdToString.put(new Long(0x0D), "Momentary unwanted noise (Snap, Crackle & Pop)"); typeOfEventIdToString.put(new Long(0x0E), R)1513 typeOfEventIdToString.put(new Long(0x0E), "Sustained noise"); typeOfEventIdToString.put(new Long(0x0F), R)1514 typeOfEventIdToString.put(new Long(0x0F), "Sustained noise end"); typeOfEventIdToString.put(new Long(0x10), R)1515 typeOfEventIdToString.put(new Long(0x10), "Intro end"); typeOfEventIdToString.put(new Long(0x11), R)1516 typeOfEventIdToString.put(new Long(0x11), "Main part end"); typeOfEventIdToString.put(new Long(0x12), R)1517 typeOfEventIdToString.put(new Long(0x12), "Verse end"); typeOfEventIdToString.put(new Long(0x13), R)1518 typeOfEventIdToString.put(new Long(0x13), "Refrain end"); typeOfEventIdToString.put(new Long(0x14), R)1519 typeOfEventIdToString.put(new Long(0x14), "Theme end"); typeOfEventIdToString.put(new Long(0x15), R)1520