source: branches/MootoolsFileManager-Update/plugins/MootoolsFileManager/mootools-filemanager/Assets/Connector/Assets/structure.txt @ 1302

Last change on this file since 1302 was 1302, checked in by gogo, 9 years ago

Updates to http://www.github.com/sleemanj/mootools-filemanager from GerHoblett?

http://www.github.com/GerHoblett/

Changes to said updates by gogo (sleemanj @ github)

Modifications to MootoolsFileManager? to work with those updates, some courtesy of GerHoblett?, some sleemanj

GerHoblett? provided a large diff which accomplished the goal in a quite different way. It has merit, however I have opted for a less-affecting path in so far as Xinha's "way" is concerned, namely, not splitting the config for a single plugin into several calls to backend config passing functions which seemed a little cumbersome.

Instead I take the option of using POST to send backend data around, at the minor expense of an extra round trip when displaying thumbnails (for each one). This could be reduced by checking for thumbnail existence and returning the thumbnail name directly in "onView" rather than the backend request to generate said thumbnail.

Still to do, is to make the preview pane thumbnail also work.


File size: 128.7 KB
Line 
1/////////////////////////////////////////////////////////////////
2/// getID3() by James Heinrich <info@getid3.org>               //
3//  available at http://getid3.sourceforge.net                 //
4//            or http://www.getid3.org                         //
5/////////////////////////////////////////////////////////////////
6//                                                             //
7// changelog.txt - part of getID3()                            //
8// See readme.txt for more details                             //
9//                                                            ///
10/////////////////////////////////////////////////////////////////
11
12What does the returned data structure look like?
13================================================
14
15Hint: If you take a look at the nicely-formatted output of
16/demos/demo.browse.php you can generally see where the data you want
17is returned.
18
19Note that what is described below is only a rough guide to what data
20is actually returned by getID3(), since the actual data returned
21depends entirely on what data is in your file, what type of file it
22is, what kind of data is in the tags, etc. In addition, some formats
23(Quicktime for example) use a freeform recursive structure that is
24impossible to document completely.
25
26In the vast majority of cases, all the data you'll need is located
27in the root of the array or the special arrays described below in
28Section 1 (['audio'], ['video'], ['tags_html'], ['replay_gain']).
29
30It is suggested that for most applications you should use tag data
31from the root ['tags_html'] array, as this is the only location
32where data is stored in a consistant format: HTML-compatible
33character entities (ie &#1234;) for characters outside the 0x20-0x7F
34range (printable ISO-8859-1 characters). This data can be used as-is
35for output in HTML, and can be converted to whatever character set
36you wish to use if the output is not HTML.
37
38If you want to merge all available tags (for example, ID3v2 + ID3v1)
39into one array, you can call
40getid3_lib::CopyTagsToComments($ThisFileInfo)
41and you'll then have ['comments'] and ['comments_html'] which are
42identical to ['tags'] and ['tags_html'] except the array is one
43dimension shorter (no tag type array keys). For example, artist is:
44['tags_html']['id3v1']['artist'][0] or ['comments_html']['artist'][0]
45
46
47Some commonly-used information is found in these locations:
48
49File type:        ['fileformat']                  // ex 'mp3'
50Song length:      ['playtime_string']             // ex '3:45'    (minutes:seconds)
51                  ['playtime_seconds']            // ex 225.13    (seconds)
52Overall bitrate:  ['bitrate']                     // ex 113485.71 (bits-per-second - divide by 1000 for kbps)
53Audio frequency:  ['audio']['sample_rate']        // ex 44100     (Hertz)
54Artist name:      ['comments_html']['artist'][0]  // ex 'Elvis'   (if CopyTagsToComments() is used - see above)
55                                                  //   more than one artist may be present, you may want to use implode:
56                                                  //   implode(' & ', ['comments_html']['artist'])
57
58
59/////////////////////////////////////////////////////////////////
60
61array() {
62                                         // SECTION 1: Values that are present for most or all file types
63
64    ['getID3version']=>string()          // version of getID3() that scanned this file (ex: '1.6.2')
65    ['error']=>array()                   // if present, contains one or more fatal error messages
66    ['warning']=>array()                 // if present, contains one or more non-fatal warning messages
67    ['exist']=>boolean()                 // does this file actually exist?
68    ['fileformat']=>string()             // one of the standard filetype abbreviations ('mp3', 'riff', 'quicktime', etc)
69    ['filename']=>string()               // filename only, no path
70    ['filenamepath']=>string()           // full filename with path
71    ['filepath']=>string()               // path to file, not including filename
72    ['filesize']=>integer()              // filesize in bytes
73    ['md5_file']=>string()               // md5 hash of entire file
74    ['md5_data']=>string()               // md5 hash of portion of file excluding prepended and appeneded metainformation tags (ID3, APE, etc) - may be identical to ['md5_file']
75    ['md5_data_source']=>string()        // md5 hash of original source file before compression (currently used by FLAC, OptimFROG, WavPack v4+)
76    ['sha1_file']=>string()              // sha1 hash of entire file
77    ['sha1_data']=>string()              // sha1 hash of portion of file excluding prepended and appeneded metainformation tags (ID3, APE, etc) - may be identical to ['md5_file']
78    ['avdataoffset']=>integer()          // offset in bytes where audio/video data starts and prepended tags end
79    ['avdataend']=>integer()             // offset in bytes where audio/video data ends and appended tags start
80    ['bitrate']=>double()                // average bitrate for entire file (all audio/video streams), in bits per second
81    ['mime_type']=>string()              // if present, MIME type of scanned file
82    ['playtime_seconds']=>double()       // playing time of file, in seconds
83    ['playtime_string']=>string()        // playing time of file, formatted as <minutes>:<seconds>
84    ['tags']=>array()                    // array of all metainformation tags present in file ('id3v1', 'id3v2', 'ape', 'riff', 'asf', etc)
85    ['audio']=>array() {
86        ['bitrate']=>double()            // average bitrate for audio portion of file (all audio streams), in bits per second
87        ['bitrate_mode']=>string()       // 'cbr' (Constant Bit Rate) or 'vbr' (Variable Bit Rate)
88        ['bits_per_sample']=>integer()   //
89        ['channelmode']=>string()        // 'mono' or 'stereo'
90        ['channels']=>integer()          // number of audio channels
91        ['codec']=>string()              // name of audio compression codec
92        ['compression_ratio']=>double()  // ratio of compressed byte size of audio to uncompressed size
93        ['dataformat']=>string()         // one of the standard filetype abbreviations ('mp3', 'wma', etc)
94        ['encoder']=>string()            // name and version of encoder used to create file, if known
95        ['lossless']=>boolean()          // true = lossless compression; false = lossy compression
96        ['sample_rate']=>integer()
97    }
98    ['video']=>array() {
99        ['bitrate']=>integer()           // average bitrate for video portion of file (all video streams), in bits per second
100        ['bitrate_mode']=>string()       // 'cbr' (Constant Bit Rate) or 'vbr' (Variable Bit Rate)
101        ['bits_per_sample']=>integer()   //
102        ['codec']=>string()              // name of video compression codec
103        ['compression_ratio']=>double()  // ratio of compressed byte size of video to uncompressed size
104        ['dataformat']=>string()         // one of the standard filetype abbreviations ('avi', 'mpeg', etc)
105        ['encoder']=>string()            // name and version of encoder used to create file, if known
106        ['frame_rate']=>double()         // frames per second
107        ['lossless']=>boolean()          // true = lossless compression; false = lossy compression
108        ['resolution_x']=>integer()      // horizontal dimension of video/image in pixels
109        ['resolution_y']=>integer()      // vertical dimension of video/image in pixels
110        ['pixel_aspect_ratio']=>double() // pixel display aspect ratio
111    }
112    ['tags']=>array() {                  // array of array of strings containing best data from any available metainformation tag (APE, ID3v2, ID3v1, Lyrics3, Vorbis, ASF, RIFF, Real, etc.)
113        [<key name>]=>array()            // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
114    }
115    ['tags_html']=>array() {             // identical to ['tags'], but with all entries converted to HTML entities as appropriate from various source encodings
116        [<key name>]=>array()            //
117    }
118    ['replay_gain']=>array() {           // replay gain information combined from any source that contains this information (LAME, ID3v2, Vorbis, APE, etc)
119        ['audiophile']=>array() {
120            ['adjustment']=>double()
121            ['originator']=>string()
122            ['peak']=>double()
123        }
124        ['radio']=>array() {
125            ['adjustment']=>double()
126            ['originator']=>string()
127            ['peak']=>double()
128        }
129    }
130
131
132                                         // SECTION 2: Values that are present for specific file types only
133
134    ['aac']=>array() {                            // AAC - Advanced Audio Coding / MPEG-4
135        ['bitrate_distribution']=>array()         //
136        ['header']=>array() {                     //
137            ['channel_configuration']=>integer()  //
138            ['crc_present']=>boolean()            //
139            ['home']=>boolean()                   //
140            ['layer']=>integer()                  //
141            ['mpeg_version']=>integer()           //
142            ['original']=>boolean()               //
143            ['private']=>boolean()                //
144            ['profile_id']=>integer()             //
145            ['profile_text']=>string()            //
146            ['sample_frequency']=>integer()       //
147            ['sample_frequency_index']=>integer() //
148            ['synch']=>integer()                  //
149        }                                         //
150        ['header_type']=>string()                 //
151    }                                             //
152                                                  //
153    ['ape']=>array()                      //
154    {                                     //
155        ['comments']=>array() {           // array of array of strings containing best data from any available metainformation tag (APE, ID3v2, ID3v1, Lyrics3, Vorbis, ASF, RIFF, Real, etc.)
156            [<key name>]=>array()         // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
157        }                                 //
158        ['footer']=>array()               //
159        {                                 //
160            ['flags']=>array()            //
161            ['raw']=>array()              //
162            ['tag_version']=>integer()    //
163        }                                 //
164        ['header']=>array()               //
165        {                                 //
166            ['flags']=>array()            //
167            ['raw']=>array()              //
168            ['tag_version']=>integer()    //
169        }                                 //
170        ['items']=>array() {              // array of array of strings containing metainformation
171            [<key name>]=>array() {       // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
172                ['data']=>array() {       // array of one or more Unicode values
173                ['data_ascii']=>array() { // array of values converted approximately from Unicode to ASCII
174                ['flags']=>array()        //
175            }                             //
176        }                                 //
177        ['tag_offset_end']=>integer()     //
178        ['tag_offset_start']=>integer()   //
179    }                                     //
180
181
182    ['asf']=>array() {                               // ASF - Advanced Streaming Format (ASF, Windows Media Audio (WMA), Windows Media Video (WMV))
183        ['audio_media']=>array() {                   //
184            [<x>]=>array() {                         //
185                ['bitrate']=>integer()               //
186                ['bits_per_sample']=>integer()       //
187                ['channels']=>integer()              //
188                ['codec']=>string()                  //
189                ['codec_data']=>string()             //
190                ['codec_data_size']=>integer()       //
191                ['raw']=>array() {                   //
192                    ['nAvgBytesPerSec']=>integer()   //
193                    ['wBitsPerSample']=>integer()    //
194                    ['nBlockAlign']=>integer()       //
195                    ['nChannels']=>integer()         //
196                    ['nSamplesPerSec']=>integer()    //
197                    ['wFormatTag']=>integer()        //
198                }                                    //
199                ['sample_rate']=>integer()           //
200            }                                        //
201        }                                            //
202        ['codec_list']=>array() {                    //
203            ['codec_entries']=>array() {             //
204                [<x>]=>array() {                     //
205                    ['description']=>string()        //
206                    ['description_ascii']=>string()  //
207                    ['information']=>string()        //
208                    ['name']=>string()               //
209                    ['name_ascii']=>string()         //
210                    ['type']=>string()               //
211                    ['type_raw']=>integer()          //
212                }                                    //
213            }                                        //
214            ['codec_entries_count']=>integer()       //
215            ['objectid']=>string()                   //
216            ['objectid_guid']=>string()              //
217            ['objectsize']=>integer()                //
218            ['reserved']=>string()                   //
219            ['reserved_guid']=>string()              //
220        }                                            //
221        ['comments']=>array() {                      // array of comment values, derived from ['content_description']
222            ['album']=>string()                      //
223            ['artist']=>string()                     //
224            ['comment']=>string()                    //
225            ['copyright']=>string()                  //
226            ['genre']=>string()                      //
227            ['title']=>string()                      //
228            ['track']=>string()                      //
229            ['year']=>string()                       //
230        }                                            //
231        ['content_description']=>array() {           // raw values - should use values from ['comments'] instead
232            ['author']=>string()                     //
233            ['author_ascii']=>string()               //
234            ['author_length']=>integer()             //
235            ['copyright']=>string()                  //
236            ['copyright_ascii']=>string()            //
237            ['copyright_length']=>integer()          //
238            ['description']=>string()                //
239            ['description_ascii']=>string()          //
240            ['description_length']=>integer()        //
241            ['objectid']=>string()                   //
242            ['objectid_guid']=>string()              //
243            ['objectsize']=>integer()                //
244            ['rating']=>string()                     //
245            ['rating_ascii']=>string()               //
246            ['rating_length']=>integer()             //
247            ['title']=>string()                      //
248            ['title_ascii']=>string()                //
249            ['title_length']=>integer()              //
250        }                                            //
251        ['data_object']=>array() {                   //
252            ['fileid']=>string()                     //
253            ['fileid_guid']=>string()                //
254            ['objectid']=>string()                   //
255            ['objectid_guid']=>string()              //
256            ['objectsize']=>integer()                //
257            ['reserved']=>integer()                  //
258            ['total_data_packets']=>integer()        //
259        }                                            //
260        ['extended_content_description']=>array() {  //
261            ['content_descriptors']=>array() {       //
262                [<x>]=>array() {                     //
263                    ['name']=>string()               //
264                    ['name_ascii']=>string()         //
265                    ['name_length']=>integer()       //
266                    ['value']=>string()              //
267                    ['value_ascii']=>string()        //
268                    ['value_length']=>integer()      //
269                    ['value_type']=>integer()        //
270                }                                    //
271            }                                        //
272            ['content_descriptors_count']=>integer() //
273            ['objectid']=>string()                   //
274            ['objectid_guid']=>string()              //
275            ['objectsize']=>integer()                //
276        }                                            //
277        ['file_properties_object']=>array() {        //
278            ['creation_date']=>double()              //
279            ['creation_date_unix']=>double()         //
280            ['data_packets']=>integer()              //
281            ['fileid']=>string()                     //
282            ['fileid_guid']=>string()                //
283            ['filesize']=>integer()                  //
284            ['flags']=>array() {                     //
285                ['broadcast']=>boolean()             //
286                ['seekable']=>boolean()              //
287            }                                        //
288            ['flags_raw']=>integer()                 //
289            ['max_bitrate']=>integer()               //
290            ['max_packet_size']=>integer()           //
291            ['min_packet_size']=>integer()           //
292            ['objectid']=>string()                   //
293            ['objectid_guid']=>string()              //
294            ['objectsize']=>integer()                //
295            ['play_duration']=>double()              //
296            ['preroll']=>integer()                   //
297            ['send_duration']=>double()              //
298        }                                            //
299        ['header_extension_object']=>array() {       //
300            ['extension_data']=>integer()            //
301            ['extension_data_size']=>integer()       //
302            ['objectid']=>string()                   //
303            ['objectid_guid']=>string()              //
304            ['objectsize']=>integer()                //
305            ['reserved_1']=>string()                 //
306            ['reserved_1_guid']=>string()            //
307            ['reserved_2']=>integer()                //
308        }                                            //
309        ['header_object']=>array() {                 //
310            ['headerobjects']=>integer()             //
311            ['objectid']=>string()                   //
312            ['objectid_guid']=>string()              //
313            ['objectsize']=>integer()                //
314            ['reserved1']=>integer()                 //
315            ['reserved2']=>integer()                 //
316        }                                            //
317        ['marker_object']=>array() {                 //
318            ['markers_count']=>integer()             //
319            ['objectid']=>string()                   //
320            ['objectid_guid']=>string()              //
321            ['objectsize']=>integer()                //
322            ['reserved']=>string()                   //
323            ['reserved_2']=>integer()                //
324            ['reserved_guid']=>string()              //
325        }                                            //
326        ['stream_bitrate_properties']=>array() {     //
327            ['bitrate_records']=>array() {           //
328                [<x>]=>array() {                     //
329                    ['bitrate']=>integer()           //
330                    ['flags_raw']=>integer()         //
331                    ['flags']=>array() {             //
332                        ['stream_number']=>integer() //
333                    }                                //
334                }                                    //
335            }                                        //
336            ['bitrate_records_count']=>integer()     //
337            ['objectid']=>string()                   //
338            ['objectid_guid']=>string()              //
339            ['objectsize']=>integer()                //
340        }                                            //
341        ['stream_properties_object']=>array() {      //
342            [<x>]=>array() {                         //
343                ['error_correct_data']=>string()     //
344                ['error_correct_guid']=>string()     //
345                ['error_correct_type']=>string()     //
346                ['error_data_length']=>integer()     //
347                ['flags_raw']=>integer()             //
348                ['flags']=>array() {                 //
349                    ['encrypted']=>boolean()         //
350                }                                    //
351                ['objectid']=>string()               //
352                ['objectid_guid']=>string()          //
353                ['objectsize']=>integer()            //
354                ['stream_type']=>string()            //
355                ['stream_type_guid']=>string()       //
356                ['time_offset']=>integer()           //
357                ['type_data_length']=>integer()      //
358                ['type_specific_data']=>string()     //
359            }                                        //
360        }                                            //
361        ['video_media']=>array() {                   //
362            [<x>]=>array() {                         //
363                ['flags']=>integer()                 //
364                ['format_data']=>array() {           //
365                    ['bits_per_pixel']=>integer()    //
366                    ['codec']=>string()              //
367                    ['codec_data']=>boolean()        //
368                    ['codec_fourcc']=>string()       //
369                    ['colors_important']=>integer()  //
370                    ['colors_used']=>integer()       //
371                    ['format_data_size']=>integer()  //
372                    ['horizontal_pels']=>integer()   //
373                    ['image_height']=>integer()      //
374                    ['image_size']=>integer()        //
375                    ['image_width']=>integer()       //
376                    ['reserved']=>integer()          //
377                    ['vertical_pels']=>integer()     //
378                }                                    //
379                ['format_data_size']=>integer()      //
380                ['image_height']=>integer()          //
381                ['image_width']=>integer()           //
382            }                                        //
383        }                                            //
384    }                                                //
385
386
387    ['au']=>array() {                       // AU - Next/Sun AUdio format
388        ['bits_per_sample']=>integer()      //
389        ['channels']=>integer()             //
390        ['comment']=>string()               //
391        ['data_format']=>string()           //
392        ['data_format_id']=>integer()       //
393        ['data_size']=>integer()            //
394        ['header_length']=>integer()        //
395        ['sample_rate']=>integer()          //
396        ['used_bits_per_sample']=>integer() //
397    }                                       //
398
399
400    ['bmp']=>array() {                          // BMP - OS/2 or Windows BitMaP
401        ['header']=>array() {                   //
402            ['compression']=>string()           //
403            ['raw']=>array() {                  //
404                ['bits_per_pixel']=>integer()   //
405                ['bmp_data_size']=>integer()    //
406                ['colors_important']=>integer() //
407                ['colors_used']=>integer()      //
408                ['compression']=>integer()      //
409                ['data_offset']=>integer()      //
410                ['filesize']=>integer()         //
411                ['header_size']=>integer()      //
412                ['height']=>integer()           //
413                ['identifier']=>string()        //
414                ['planes']=>integer()           //
415                ['resolution_h']=>integer()     //
416                ['resolution_v']=>integer()     //
417                ['width']=>integer()            //
418            }                                   //
419        }                                       //
420        ['type_os']=>string()                   //
421        ['type_version']=>integer()             //
422    }                                           //
423
424
425    ['bonk']=>array() {                       // BONK - lossy/lossless audio compression (www.bonkenc.org)
426        ['BONK']=>array() {                   //
427            ['channels']=>integer()           //
428            ['downsampling_ratio']=>integer() //
429            ['joint_stereo']=>boolean()       //
430            ['lossless']=>boolean()           //
431            ['number_samples']=>integer()     //
432            ['number_taps']=>integer()        //
433            ['offset']=>integer()             //
434            ['sample_rate']=>integer()        //
435            ['samples_per_packet']=>integer() //
436            ['size']=>integer()               //
437            ['version']=>integer()            //
438        }                                     //
439        ['INFO']=>array() {                   //
440            ['size']=>integer()               //
441            ['offset']=>integer()             //
442            ['version']=>integer()            //
443            [<x>]=>array() {                  //
444                ['nextbit']=>integer()        //
445                ['offset']=>integer()         //
446            }                                 //
447        }                                     //
448        ['dataend']=>integer()                //
449        ['dataoffset']=>integer()             //
450    }                                         //
451
452
453    ['flac']=>array() {                         // FLAC - Free Lossless Audio Compressor
454        ['SEEKTABLE']=>array() {                //
455            [<x>]=>array() {                    //
456                ['offset']=>integer()           //
457                ['samples']=>integer()          //
458            }                                   //
459            ['placeholders']=>integer()         //
460            ['raw']=>array() {                  //
461                ['block_data']=>string()        //
462                ['block_length']=>integer()     //
463                ['block_type']=>integer()       //
464                ['block_type_text']=>string()   //
465                ['last_meta_block']=>boolean()  //
466                ['offset']=>integer()           //
467            }                                   //
468        }                                       //
469        ['STREAMINFO']=>array() {               //
470            ['audio_signature']=>string()       //
471            ['bits_per_sample']=>integer()      //
472            ['channels']=>integer()             //
473            ['max_block_size']=>integer()       //
474            ['max_frame_size']=>integer()       //
475            ['min_block_size']=>integer()       //
476            ['min_frame_size']=>integer()       //
477            ['raw']=>array() {                  //
478                ['block_data']=>string()        //
479                ['block_length']=>integer()     //
480                ['block_type']=>integer()       //
481                ['block_type_text']=>string()   //
482                ['last_meta_block']=>boolean()  //
483                ['offset']=>integer()           //
484            }                                   //
485            ['sample_rate']=>integer()          //
486            ['samples_stream']=>integer()       //
487        }                                       //
488        ['VORBIS_COMMENT']=>array() {           //
489            ['raw']=>array() {                  //
490                ['block_data']=>string()        //
491                ['block_length']=>integer()     //
492                ['block_type']=>integer()       //
493                ['block_type_text']=>string()   //
494                ['last_meta_block']=>boolean()  //
495                ['offset']=>integer()           //
496            }                                   //
497        }                                       //
498        ['compressed_audio_bytes']=>integer()   //
499        ['compression_ratio']=>double()         //
500        ['uncompressed_audio_bytes']=>integer() //
501    }                                           //
502
503
504    ['gif']=>array() {                             // GIF - Graphics Interchange Format
505        ['global_color_table']=>array() {          //
506            [<x>]=>integer()                       //
507        }                                          //
508        ['header']=>array() {                      //
509            ['bits_per_pixel']=>integer()          //
510            ['flags']=>array() {                   //
511                ['global_color_sorted']=>boolean() //
512                ['global_color_table']=>boolean()  //
513            }                                      //
514            ['global_color_size']=>integer()       //
515            ['raw']=>array() {                     //
516                ['aspect_ratio']=>integer()        //
517                ['bg_color_index']=>integer()      //
518                ['flags']=>integer()               //
519                ['height']=>integer()              //
520                ['identifier']=>string()           //
521                ['version']=>string()              //
522                ['width']=>integer()               //
523            }                                      //
524        }                                          //
525        ['version']=>string()                      //
526    }                                              //
527
528
529    ['id3v1']=>array() {                // ID3v1
530        ['album']=>string()             //
531        ['artist']=>string()            //
532        ['comment']=>string()           //
533        ['genre']=>string()             //
534        ['genreid']=>integer()          //
535        ['title']=>string()             //
536        ['track']=>integer()            //
537        ['year']=>string()              //
538        ['padding_valid']=>boolean()    //
539        ['comments']=>array()           //
540        ['tag_offset_start']=>integer() //
541        ['tag_offset_end']=>integer()   //
542    }                                   //
543
544
545    ['id3v2']=>array() {                                 // ID3v2 - www.id3.org
546        [<frame name>]=>array() {                        // <frame name> can be any of the 4-character (3-character in ID3v2.2) frame names allowed in the ID3v2 spec. Exact contents of returned array data varies with frame type.
547            [<x>]=>array() {                             // some frames types allow multiple values ('COMM' for example), others do not and do not have this array level
548                ['asciidata']=>boolean()                 //
549                ['asciidescription']=>string()           //
550                ['data']=>boolean()                      //
551                ['datalength']=>integer()                //
552                ['dataoffset']=>integer()                //
553                ['description']=>string()                //
554                ['encoding']=>string()                   //
555                ['encodingid']=>integer()                //
556                ['flags']=>array() {                     //
557                    ['Encryption']=>boolean()            //
558                    ['FileAlterPreservation']=>boolean() //
559                    ['GroupingIdentity']=>boolean()      //
560                    ['ReadOnly']=>boolean()              //
561                    ['TagAlterPreservation']=>boolean()  //
562                    ['compression']=>boolean()           //
563                }                                        //
564                ['framenamelong']=>string()              //
565                ['language']=>string()                   //
566                ['languagename']=>string()               //
567            }                                            //
568        }                                                //
569        ['comments']=>array() {                          // array of array of strings containing best data from any available metainformation tag (APE, ID3v2, ID3v1, Lyrics3, Vorbis, ASF, RIFF, Real, etc.)
570            [<key name>]=>array()                        // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
571        }                                                //
572        ['flags']=>array() {                             //
573            ['experim']=>string()                        //
574            ['exthead']=>string()                        //
575            ['unsynch']=>string()                        //
576        }                                                //
577        ['header']=>boolean()                            //
578        ['headerlength']=>integer()                      //
579        ['majorversion']=>integer()                      //
580        ['minorversion']=>integer()                      //
581        ['padding']=>array() {                           //
582            ['length']=>integer()                        //
583            ['start']=>integer()                         //
584            ['valid']=>boolean()                         //
585        }                                                //
586        ['tag_offset_end']=>integer()                    //
587        ['tag_offset_start']=>integer()                  //
588    }                                                    //
589
590
591    ['iso']=>array() {                                           // ISO-9660 - CD-ROM Image
592        ['directories']=>array() {                               //
593            [<x>]=>array() {                                     //
594                [<x>]=>array() {                                 //
595                    ['file_flags']=>array() {                    //
596                        ['associated']=>boolean()                //
597                        ['directory']=>boolean()                 //
598                        ['extended']=>boolean()                  //
599                        ['hidden']=>boolean()                    //
600                        ['multiple']=>boolean()                  //
601                        ['permissions']=>boolean()               //
602                    }                                            //
603                    ['file_identifier_ascii']=>string()          //
604                    ['filename']=>string()                       //
605                    ['filesize']=>integer()                      //
606                    ['offset_bytes']=>integer()                  //
607                    ['raw']=>array() {                           //
608                        ['extended_attribute_length']=>integer() //
609                        ['file_flags']=>integer()                //
610                        ['file_identifier']=>string()            //
611                        ['file_identifier_length']=>integer()    //
612                        ['file_unit_size']=>integer()            //
613                        ['filesize']=>integer()                  //
614                        ['interleave_gap_size']=>integer()       //
615                        ['length']=>integer()                    //
616                        ['offset_logical']=>integer()            //
617                        ['recording_date_time']=>string()        //
618                        ['volume_sequence_number']=>integer()    //
619                    }                                            //
620                    ['recording_timestamp']=>integer()           //
621                }                                                //
622            }                                                    //
623        }                                                        //
624        ['files']=>array() {                                     // multidimensional tree-structure array listing of all files and directories in image
625            [<directory name>]=>array()                          // entries of type array are directories (key is directory name), may contain files and/or other subdirectories
626            [<file name>]=>integer()                             // entries of type integer are files (key is file name, value is file size in bytes)
627        }                                                        //
628        ['path_table']=>array() {                                //
629            ['directories']=>array() {                           //
630                [<x>]=>array() {                                 //
631                    ['extended_length']=>integer()               //
632                    ['full_path']=>string()                      //
633                    ['length']=>integer()                        //
634                    ['location_bytes']=>integer()                //
635                    ['location_logical']=>integer()              //
636                    ['name']=>string()                           //
637                    ['name_ascii']=>string()                     //
638                    ['parent_directory']=>integer()              //
639                }                                                //
640            }                                                    //
641            ['offset']=>integer()                                //
642            ['raw']=>string()                                    //
643        }                                                        //
644        ['primary_volume_descriptor']=>array() {                 //
645            ['abstract_file_identifier']=>string()               //
646            ['application_identifier']=>string()                 //
647            ['bibliographic_file_identifier']=>string()          //
648            ['copyright_file_identifier']=>string()              //
649            ['data_preparer_identifier']=>string()               //
650            ['offset']=>integer()                                //
651            ['publisher_identifier']=>string()                   //
652            ['raw']=>array() {                                   //
653                ['abstract_file_identifier']=>string()           //
654                ['application_data']=>string()                   //
655                ['application_identifier']=>string()             //
656                ['bibliographic_file_identifier']=>string()      //
657                ['copyright_file_identifier']=>string()          //
658                ['data_preparer_identifier']=>string()           //
659                ['file_structure_version']=>integer()            //
660                ['logical_block_size']=>integer()                //
661                ['path_table_l_location']=>integer()             //
662                ['path_table_l_opt_location']=>integer()         //
663                ['path_table_m_location']=>integer()             //
664                ['path_table_m_opt_location']=>integer()         //
665                ['path_table_size']=>integer()                   //
666                ['publisher_identifier']=>string()               //
667                ['root_directory_record']=>string()              //
668                ['standard_identifier']=>string()                //
669                ['system_identifier']=>string()                  //
670                ['unused_1']=>string()                           //
671                ['unused_2']=>string()                           //
672                ['unused_3']=>string()                           //
673                ['unused_4']=>integer()                          //
674                ['volume_creation_date_time']=>string()          //
675                ['volume_descriptor_type']=>integer()            //
676                ['volume_descriptor_version']=>integer()         //
677                ['volume_effective_date_time']=>string()         //
678                ['volume_expiration_date_time']=>string()        //
679                ['volume_identifier']=>string()                  //
680                ['volume_modification_date_time']=>string()      //
681                ['volume_sequence_number']=>integer()            //
682                ['volume_set_identifier']=>string()              //
683                ['volume_set_size']=>integer()                   //
684                ['volume_space_size']=>integer()                 //
685            }                                                    //
686            ['system_identifier']=>string()                      //
687            ['volume_creation_date_time']=>integer()             //
688            ['volume_effective_date_time']=>boolean()            //
689            ['volume_expiration_date_time']=>boolean()           //
690            ['volume_identifier']=>string()                      //
691            ['volume_modification_date_time']=>integer()         //
692            ['volume_set_identifier']=>string()                  //
693        }                                                        //
694        ['supplementary_volume_descriptor']=>array() {           //
695            ['abstract_file_identifier']=>string()               //
696            ['application_identifier']=>string()                 //
697            ['bibliographic_file_identifier']=>string()          //
698            ['copyright_file_identifier']=>string()              //
699            ['data_preparer_identifier']=>string()               //
700            ['offset']=>integer()                                //
701            ['publisher_identifier']=>string()                   //
702            ['raw']=>array() {                                   //
703                ['abstract_file_identifier']=>string()           //
704                ['application_data']=>string()                   //
705                ['application_identifier']=>string()             //
706                ['bibliographic_file_identifier']=>string()      //
707                ['copyright_file_identifier']=>string()          //
708                ['data_preparer_identifier']=>string()           //
709                ['file_structure_version']=>integer()            //
710                ['logical_block_size']=>integer()                //
711                ['path_table_l_location']=>integer()             //
712                ['path_table_l_opt_location']=>integer()         //
713                ['path_table_m_location']=>integer()             //
714                ['path_table_m_opt_location']=>integer()         //
715                ['path_table_size']=>integer()                   //
716                ['publisher_identifier']=>string()               //
717                ['root_directory_record']=>string()              //
718                ['standard_identifier']=>string()                //
719                ['system_identifier']=>string()                  //
720                ['unused_1']=>string()                           //
721                ['unused_2']=>string()                           //
722                ['unused_3']=>string()                           //
723                ['unused_4']=>integer()                          //
724                ['volume_creation_date_time']=>string()          //
725                ['volume_descriptor_type']=>integer()            //
726                ['volume_descriptor_version']=>integer()         //
727                ['volume_effective_date_time']=>string()         //
728                ['volume_expiration_date_time']=>string()        //
729                ['volume_identifier']=>string()                  //
730                ['volume_modification_date_time']=>string()      //
731                ['volume_sequence_number']=>integer()            //
732                ['volume_set_identifier']=>string()              //
733                ['volume_set_size']=>integer()                   //
734                ['volume_space_size']=>integer()                 //
735            }                                                    //
736            ['system_identifier']=>string()                      //
737            ['volume_creation_date_time']=>integer()             //
738            ['volume_effective_date_time']=>boolean()            //
739            ['volume_expiration_date_time']=>boolean()           //
740            ['volume_identifier']=>string()                      //
741            ['volume_modification_date_time']=>integer()         //
742            ['volume_set_identifier']=>string()                  //
743        }                                                        //
744    }                                                            //
745
746
747    ['jpg']=>array() {    // JPEG - still image
748        ['exif']=>array() // data returned from PHP's exif_read_data() function
749    }                     //
750
751
752    ['la']=>array() {                        // LA - Lossless Audio (www.lossless-audio.com)
753        ['raw']=>array() {
754            ['format']=>integer()            //
755            ['flags']=>integer()             //
756        }                                    //
757        ['flags']=>array() {                 //
758            ['seekable']=>boolean()          //
759            ['high_compression']=>boolean()  //
760        }                                    //
761        ['bits_per_sample']=>integer()       //
762        ['bytes_per_sample']=>integer()      //
763        ['bytes_per_second']=>integer()      //
764        ['channels']=>integer()              //
765        ['compression_ratio']=>double()      //
766        ['format_size']=>integer()           //
767        ['header_size']=>integer()           //
768        ['original_crc']=>double()           //
769        ['sample_rate']=>integer()           //
770        ['samples']=>integer()               //
771        ['uncompressed_size']=>integer()     //
772        ['version']=>double()                //
773        ['version_major']=>integer()         //
774        ['version_minor']=>integer()         //
775        ['footerstart']=>double()            //
776    }
777
778
779    ['lpac']=>array() {                               // LPAC - Lossless Predictive Audio Compressor
780        ['block_length']=>integer()                   //
781        ['file_version']=>integer()                   //
782        ['flags']=>array() {                          //
783            ['16_bit']=>boolean()                     //
784            ['24_bit']=>boolean()                     //
785            ['adaptive_prediction_order']=>boolean()  //
786            ['adaptive_quantization']=>boolean()      //
787            ['fast_compress']=>boolean()              //
788            ['is_wave']=>boolean()                    //
789            ['joint_stereo']=>boolean()               //
790            ['max_prediction_order']=>integer()       //
791            ['quantization']=>integer()               //
792            ['random_access']=>boolean()              //
793            ['stereo']=>boolean()                     //
794        }                                             //
795        ['raw']=>array() {                            //
796            ['audio_type']=>integer()                 //
797            ['parameters']=>double()                  //
798        }                                             //
799        ['total_samples']=>integer()                  //
800    }                                                 //
801
802
803    ['lyrics3']=>array() {                // Lyrics3 - metainformation tags
804        ['comments']=>array() {           //
805            ['album']=>string()           //
806            ['artist']=>string()          //
807            ['author']=>string()          //
808            ['comment']=>string()         //
809            ['title']=>string()           //
810        }                                 //
811        ['flags']=>array() {              //
812            ['lyrics']=>boolean()         //
813            ['timestamps']=>boolean()     //
814        }                                 //
815        ['images']=>array() {             //
816            [<x>]=>array() {              //
817                ['description']=>string() //
818                ['filename']=>string()    //
819                ['timestamp']=>integer()  //
820            }                             //
821        }                                 //
822        ['raw']=>array() {                //
823            ['offset_start']=>integer()   //
824            ['offset_end']=>integer()     //
825            ['AUT']=>string()             //
826            ['EAL']=>string()             //
827            ['EAR']=>string()             //
828            ['ETT']=>string()             //
829            ['IMG']=>string()             //
830            ['IND']=>string()             //
831            ['INF']=>string()             //
832            ['LYR']=>string()             //
833            ['lyrics3tagsize']=>integer() //
834            ['lyrics3version']=>integer() //
835            ['unparsed']=>string()        //
836        }                                 //
837        ['synchedlyrics']=>array() {      //
838            [<x>]=>string()               //
839        }                                 //
840        ['unsynchedlyrics']=>string()     //
841    }                                     //
842
843
844    ['midi']=>array() {                         // MIDI (Musical Instrument Digital Interface) - sequenced music
845        ['comments']=>array() {                 //
846            ['comment']=>string()               //
847            ['copyright']=>string()             //
848        }                                       //
849        ['keysignature']=>array() {             //
850            [<x>]=>string()                     //
851        }                                       //
852        ['raw']=>array() {                      //
853            ['events']=>array() {               //
854                [<x>]=>array() {                //
855                    [<x>]=>array() {            //
856                        ['us_qnote']=>integer() //
857                    }                           //
858                }                               //
859            }                                   //
860            ['fileformat']=>integer()           //
861            ['headersize']=>integer()           //
862            ['ticksperqnote']=>integer()        //
863            ['track']=>array() {                //
864                [<x>]=>array() {                //
865                    ['instrument']=>string()    //
866                    ['instrumentid']=>integer() //
867                    ['name']=>string()          //
868                }                               //
869            }                                   //
870            ['tracks']=>integer()               //
871        }                                       //
872        ['timesignature']=>array() {            //
873            [<x>]=>string()                     //
874        }                                       //
875        ['totalticks']=>integer()               //
876    }                                           //
877
878
879    ['monkeys_audio']=>array() {                // Monkey's Audio - lossless audio compression
880        ['bitrate']=>double()                   //
881        ['bits_per_sample']=>integer()          //
882        ['channels']=>integer()                 //
883        ['compressed_size']=>integer()          //
884        ['compression']=>string()               //
885        ['compression_ratio']=>double()         //
886        ['flags']=>array() {                    //
887            ['24-bit']=>boolean()               //
888            ['8-bit']=>boolean()                //
889            ['crc-32']=>boolean()               //
890            ['no_wav_header']=>boolean()        //
891            ['peak_level']=>boolean()           //
892            ['seek_elements']=>boolean()        //
893        }                                       //
894        ['frames']=>integer()                   //
895        ['peak_level']=>integer()               //
896        ['peak_ratio']=>double()                //
897        ['playtime']=>double()                  //
898        ['raw']=>array() {                      //
899            ['header_tag']=>string()            //
900            ['nChannels']=>integer()            //
901            ['nCompressionLevel']=>integer()    //
902            ['nFinalFrameSamples']=>integer()   //
903            ['nFormatFlags']=>integer()         //
904            ['nPeakLevel']=>integer()           //
905            ['nSampleRate']=>integer()          //
906            ['nSeekElements']=>integer()        //
907            ['nTotalFrames']=>integer()         //
908            ['nVersion']=>integer()             //
909            ['nWAVHeaderBytes']=>integer()      //
910            ['nWAVTerminatingBytes']=>integer() //
911        }                                       //
912        ['sample_rate']=>integer()              //
913        ['samples']=>integer()                  //
914        ['samples_per_frame']=>integer()        //
915        ['uncompressed_size']=>integer()        //
916        ['version']=>double()                   //
917    }                                           //
918
919
920    ['mpc']=>array() {                          // MPC (Musepack) - lossy audio compression
921        ['header']=>array() {                   //
922            ['album_gain_db']=>integer()        //
923            ['album_peak']=>integer()           //
924            ['album_peak_db']=>boolean()        //
925            ['title_gain_db']=>integer()        //
926            ['title_peak']=>integer()           //
927            ['title_peak_db']=>boolean()        //
928            ['begin_loud']=>boolean()           //
929            ['end_loud']=>boolean()             //
930            ['encoder_version']=>string()       //
931            ['frame_count']=>integer()          //
932            ['intensity_stereo']=>boolean()     //
933            ['last_frame_length']=>integer()    //
934            ['max_level']=>integer()            //
935            ['max_subband']=>integer()          //
936            ['mid_side_stereo']=>boolean()      //
937            ['profile']=>string()               //
938            ['sample_rate']=>integer()          //
939            ['samples']=>integer()              //
940            ['size']=>integer()                 //
941            ['stream_major_version']=>integer() //
942            ['stream_minor_version']=>integer() //
943            ['true_gapless']=>boolean()         //
944            ['raw']=>array() {                  //
945                ['album_gain']=>integer()       //
946                ['album_peak']=>integer()       //
947                ['encoder_version']=>integer()  //
948                ['preamble']=>string()          //
949                ['profile']=>integer()          //
950                ['sample_rate']=>integer()      //
951                ['title_gain']=>integer()       //
952                ['title_peak']=>integer()       //
953            }                                   //
954        }                                       //
955    }                                           //
956
957
958    ['mpeg']=>array() {                                // MPEG (Motion Picture Experts Group) - MPEG video and/or MPEG audio (MP3/MP2/MP1)
959        ['audio']=>array() {                           //
960            ['LAME']=>array() {                        //
961                ['RGAD']=>array() {                    //
962                    ['peak_amplitude']=>double()       //
963                }                                      //
964                ['ath_type']=>integer()                //
965                ['audio_bytes']=>integer()             //
966                ['bitrate_min']=>integer()             //
967                ['encoder_delay']=>integer()           //
968                ['encoding_flags']=>array() {          //
969                    ['nogap_next']=>boolean()          //
970                    ['nogap_prev']=>boolean()          //
971                    ['nspsytune']=>boolean()           //
972                    ['nssafejoint']=>boolean()         //
973                }                                      //
974                ['end_padding']=>integer()             //
975                ['lame_tag_crc']=>integer()            //
976                ['lowpass_frequency']=>integer()       //
977                ['mp3_gain_db']=>double()              //
978                ['mp3_gain_factor']=>double()          //
979                ['mp3_gain_raw']=>integer()            //
980                ['music_crc']=>integer()               //
981                ['noise_shaping']=>integer()           //
982                ['noise_shaping_raw']=>integer()       //
983                ['not_optimal_quality']=>boolean()     //
984                ['not_optimal_quality_raw']=>integer() //
985                ['preset_used_id']=>integer()          //
986                ['short_version']=>string()            // ex: "LAME 3.93"
987                ['long_version']=>string()             // (pre-v3.90 only) ex: "LAME 3.88 (alpha)"
988                ['source_sample_freq']=>string()       //
989                ['source_sample_freq_raw']=>integer()  //
990                ['stereo_mode']=>string()              //
991                ['stereo_mode_raw']=>integer()         //
992                ['surround_info']=>string()            //
993                ['surround_info_id']=>integer()        //
994                ['tag_revision']=>integer()            //
995                ['vbr_method']=>string()               //
996                ['vbr_method_raw']=>integer()          //
997            }                                          //
998            ['VBR_bitrate']=>double()                  //
999            ['VBR_bytes']=>integer()                   //
1000            ['VBR_frames']=>integer()                  //
1001            ['VBR_method']=>string()                   //
1002            ['VBR_scale']=>integer()                   //
1003            ['bitrate']=>integer()                     //
1004            ['bitrate_distribution']=>array() {        //
1005                ['free']=>integer()                    //
1006                ['8']=>integer()                       //
1007                ['16']=>integer()                      //
1008                ['24']=>integer()                      //
1009                ['32']=>integer()                      //
1010                ['40']=>integer()                      //
1011                ['48']=>integer()                      //
1012                ['56']=>integer()                      //
1013                ['64']=>integer()                      //
1014                ['80']=>integer()                      //
1015                ['96']=>integer()                      //
1016                ['112']=>integer()                     //
1017                ['128']=>integer()                     //
1018                ['144']=>integer()                     //
1019                ['160']=>integer()                     //
1020            }                                          //
1021            ['bitrate_mode']=>string()                 //
1022            ['channelmode']=>string()                  //
1023            ['channels']=>integer()                    //
1024            ['copyright']=>boolean()                   //
1025            ['crc']=>integer()                         //
1026            ['emphasis']=>string()                     //
1027            ['frame_count']=>integer()                 //
1028            ['framelength']=>integer()                 //
1029            ['layer']=>integer()                       //
1030            ['modeextension']=>string()                //
1031            ['original']=>boolean()                    //
1032            ['padding']=>boolean()                     //
1033            ['private']=>boolean()                     //
1034            ['protection']=>boolean()                  //
1035            ['raw']=>array() {                         //
1036                ['bitrate']=>integer()                 //
1037                ['channelmode']=>integer()             //
1038                ['copyright']=>integer()               //
1039                ['emphasis']=>integer()                //
1040                ['layer']=>integer()                   //
1041                ['modeextension']=>integer()           //
1042                ['original']=>integer()                //
1043                ['padding']=>integer()                 //
1044                ['private']=>integer()                 //
1045                ['protection']=>integer()              //
1046                ['sample_rate']=>integer()             //
1047                ['synch']=>integer()                   //
1048                ['version']=>integer()                 //
1049            }                                          //
1050            ['sample_rate']=>integer()                 //
1051            ['stereo_distribution']=>array() {         //
1052                ['dual channel']=>integer()            //
1053                ['joint stereo']=>integer()            //
1054                ['mono']=>integer()                    //
1055                ['stereo']=>integer()                  //
1056            }                                          //
1057            ['toc']=>array() {                         //
1058                [<x>]=>integer()                       //
1059            }                                          //
1060            ['version']=>string()                      //
1061            ['version_distribution']=>array() {        //
1062                [<x>]=>integer()                       //
1063                [<x>]=>integer()                       //
1064                ['2.5']=>integer()                     //
1065            }                                          //
1066            ['xing_flags']=>array() {                  //
1067                ['bytes']=>boolean()                   //
1068                ['frames']=>boolean()                  //
1069                ['toc']=>boolean()                     //
1070                ['vbr_scale']=>boolean()               //
1071            }                                          //
1072            ['xing_flags_raw']=>string()               //
1073        }                                              //
1074        ['video']=>array() {                           //
1075            ['bitrate']=>integer()                     //
1076            ['bitrate_mode']=>string()                 //
1077            ['frame_rate']=>double()                   //
1078            ['framesize_horizontal']=>integer()        //
1079            ['framesize_vertical']=>integer()          //
1080            ['pixel_aspect_ratio']=>double()           //
1081            ['pixel_aspect_ratio_text']=>string()      //
1082            ['raw']=>array() {                         //
1083                ['bitrate']=>integer()                 //
1084                ['constrained_param_flag']=>integer()  //
1085                ['frame_rate']=>integer()              //
1086                ['framesize_horizontal']=>integer()    //
1087                ['framesize_vertical']=>integer()      //
1088                ['intra_quant_flag']=>integer()        //
1089                ['marker_bit']=>integer()              //
1090                ['pixel_aspect_ratio']=>integer()      //
1091                ['vbv_buffer_size']=>integer()         //
1092            }                                          //
1093        }                                              //
1094    }                                                  //
1095
1096
1097    ['nsv']=>array() {                     // NSV - Nullsoft Streaming Video
1098        ['NSVf']=>array() {                //
1099            ['TOC_entries_1']=>integer()   //
1100            ['TOC_entries_2']=>integer()   //
1101            ['file_size']=>integer()       //
1102            ['header_length']=>integer()   //
1103            ['identifier']=>string()       //
1104            ['meta_size']=>integer()       //
1105            ['metadata']=>string()         //
1106            ['playtime_ms']=>integer()     //
1107        }                                  //
1108        ['NSVs']=>array() {                //
1109            ['audio_codec']=>string()      //
1110            ['frame_rate']=>double()       //
1111            ['framerate_index']=>integer() //
1112            ['identifier']=>string()       //
1113            ['offset']=>integer()          //
1114            ['resolution_x']=>integer()    //
1115            ['resolution_y']=>integer()    //
1116            ['unknown1b']=>integer()       //
1117            ['unknown1c']=>integer()       //
1118            ['unknown1d']=>integer()       //
1119            ['unknown2a']=>integer()       //
1120            ['unknown2b']=>integer()       //
1121            ['unknown2c']=>integer()       //
1122            ['unknown2d']=>integer()       //
1123            ['unknown3a']=>integer()       //
1124            ['unknown3b']=>integer()       //
1125            ['unknown3c']=>integer()       //
1126            ['unknown3d']=>integer()       //
1127            ['video_codec']=>string()      //
1128        }                                  //
1129        ['comments']=>array() {            //
1130            ['aspect']=>string()           //
1131            ['title']=>string()            //
1132        }                                  //
1133    }                                      //
1134
1135
1136    ['ofr']=>array() {                                   // OFR (OptimFROG) - lossless audio compression
1137        ['COMP']=>array() {                              //
1138            [<x>]=>array() {                             //
1139                ['channel_configuration']=>string()      //
1140                ['crc_32']=>boolean()                    //
1141                ['encoder']=>string()                    //
1142                ['offset']=>integer()                    //
1143                ['raw']=>array() {                       //
1144                    ['algorithm_id']=>integer()          //
1145                    ['channel_configuration']=>integer() //
1146                    ['encoder_id']=>integer()            //
1147                    ['sample_type']=>integer()           //
1148                }                                        //
1149                ['sample_count']=>integer()              //
1150                ['sample_type']=>string()                //
1151                ['size']=>integer()                      //
1152            }                                            //
1153        }                                                //
1154        ['HEAD']=>array() {                              //
1155            ['offset']=>integer()                        //
1156            ['size']=>integer()                          //
1157        }                                                //
1158        ['OFR ']=>array() {                              //
1159            ['channel_config']=>integer()                //
1160            ['channels']=>integer()                      //
1161            ['compression']=>string()                    //
1162            ['encoder']=>string()                        //
1163            ['offset']=>integer()                        //
1164            ['raw']=>array() {                           //
1165                ['compression']=>integer()               //
1166                ['encoder_id']=>integer()                //
1167                ['sample_type']=>integer()               //
1168            }                                            //
1169            ['sample_rate']=>integer()                   //
1170            ['sample_type']=>string()                    //
1171            ['size']=>integer()                          //
1172            ['total_samples']=>integer()                 //
1173        }                                                //
1174        ['TAIL']=>array() {                              //
1175            ['offset']=>integer()                        //
1176            ['size']=>integer()                          //
1177        }                                                //
1178    }                                                    //
1179
1180
1181    ['ogg']=>array() {                           // OGG - container format for Ogg Vorbis, OggFLAC, Speex, etc
1182        ['bitrate_average']=>double()            //
1183        ['bitrate_max']=>integer()               //
1184        ['bitrate_min']=>integer()               //
1185        ['bitrate_nominal']=>integer()           //
1186        ['bitstreamversion']=>integer()          //
1187        ['blocksize_large']=>integer()           //
1188        ['blocksize_small']=>integer()           //
1189        ['comments']=>array() {                  // array of array of strings containing best data from any available metainformation tag (APE, ID3v2, ID3v1, Lyrics3, Vorbis, ASF, RIFF, Real, etc.)
1190            [<key name>]=>array()                // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
1191        }                                        //
1192        ['comments_raw']=>array() {              //
1193            [<x>]=>array() {                     //
1194                ['dataoffset']=>integer()        //
1195                ['key']=>string()                //
1196                ['size']=>integer()              //
1197                ['value']=>string()              //
1198            }                                    //
1199        }                                        //
1200        ['numberofchannels']=>integer()          //
1201        ['pageheader']=>array() {                //
1202            [<x>]=>array() {                     //
1203                ['flags']=>array() {             //
1204                    ['bos']=>boolean()           //
1205                    ['eos']=>boolean()           //
1206                    ['fresh']=>boolean()         //
1207                }                                //
1208                ['flags_raw']=>integer()         //
1209                ['header_end_offset']=>integer() //
1210                ['packet_type']=>integer()       //
1211                ['page_checksum']=>double()      //
1212                ['page_end_offset']=>integer()   //
1213                ['page_length']=>integer()       //
1214                ['page_segments']=>integer()     //
1215                ['page_seqno']=>integer()        //
1216                ['page_start_offset']=>integer() //
1217                ['pcm_abs_position']=>integer()  //
1218                ['segment_table']=>array() {     //
1219                    [<x>]=>integer()             //
1220                }                                //
1221                ['stream_serialno']=>integer()   //
1222                ['stream_structver']=>integer()  //
1223                ['stream_type']=>string()        //
1224            }                                    //
1225            ['eos']=>array() {                   //
1226                ['flags']=>array() {             //
1227                    ['bos']=>boolean()           //
1228                    ['eos']=>boolean()           //
1229                    ['fresh']=>boolean()         //
1230                }                                //
1231                ['flags_raw']=>integer()         //
1232                ['header_end_offset']=>integer() //
1233                ['page_checksum']=>double()      //
1234                ['page_end_offset']=>integer()   //
1235                ['page_length']=>integer()       //
1236                ['page_segments']=>integer()     //
1237                ['page_seqno']=>integer()        //
1238                ['page_start_offset']=>integer() //
1239                ['pcm_abs_position']=>integer()  //
1240                ['segment_table']=>array() {     //
1241                    [<x>]=>integer()             //
1242                }                                //
1243                ['stream_serialno']=>integer()   //
1244                ['stream_structver']=>integer()  //
1245            }                                    //
1246        }                                        //
1247        ['samplerate']=>integer()                //
1248        ['samples']=>integer()                   //
1249        ['stop_bit']=>integer()                  //
1250        ['vendor']=>string()                     //
1251    }                                            //
1252
1253
1254    ['png']=>array() {                                // PNG (Portable Network Graphics) - still image
1255        ['IDAT']=>array() {                           //
1256            [<x>]=>array() {                          //
1257                ['header']=>array() {                 //
1258                    ['crc']=>integer()                //
1259                    ['data_length']=>integer()        //
1260                    ['flags']=>array() {              //
1261                        ['ancilliary']=>boolean()     //
1262                        ['private']=>boolean()        //
1263                        ['reserved']=>boolean()       //
1264                        ['safe_to_copy']=>boolean()   //
1265                    }                                 //
1266                    ['type_raw']=>double()            //
1267                    ['type_text']=>string()           //
1268                }                                     //
1269            }                                         //
1270        }                                             //
1271        ['IEND']=>array() {                           //
1272            ['header']=>array() {                     //
1273                ['crc']=>double()                     //
1274                ['data']=>string()                    //
1275                ['data_length']=>integer()            //
1276                ['flags']=>array() {                  //
1277                    ['ancilliary']=>boolean()         //
1278                    ['private']=>boolean()            //
1279                    ['reserved']=>boolean()           //
1280                    ['safe_to_copy']=>boolean()       //
1281                }                                     //
1282                ['type_raw']=>double()                //
1283                ['type_text']=>string()               //
1284            }                                         //
1285        }                                             //
1286        ['IHDR']=>array() {                           //
1287            ['color_type']=>array() {                 //
1288                ['alpha']=>boolean()                  //
1289                ['palette']=>boolean()                //
1290                ['true_color']=>boolean()             //
1291            }                                         //
1292            ['compression_method_text']=>string()     //
1293            ['header']=>array() {                     //
1294                ['crc']=>double()                     //
1295                ['data']=>string()                    //
1296                ['data_length']=>integer()            //
1297                ['flags']=>array() {                  //
1298                    ['ancilliary']=>boolean()         //
1299                    ['private']=>boolean()            //
1300                    ['reserved']=>boolean()           //
1301                    ['safe_to_copy']=>boolean()       //
1302                }                                     //
1303                ['type_raw']=>double()                //
1304                ['type_text']=>string()               //
1305            }                                         //
1306            ['height']=>integer()                     //
1307            ['raw']=>array() {                        //
1308                ['bit_depth']=>integer()              //
1309                ['color_type']=>integer()             //
1310                ['compression_method']=>integer()     //
1311                ['filter_method']=>integer()          //
1312                ['interlace_method']=>integer()       //
1313            }                                         //
1314            ['width']=>integer()                      //
1315        }                                             //
1316        ['PLTE']=>array() {                           //
1317            ['header']=>array() {                     //
1318                ['crc']=>double()                     //
1319                ['data']=>string()                    //
1320                ['data_length']=>integer()            //
1321                ['flags']=>array() {                  //
1322                    ['ancilliary']=>boolean()         //
1323                    ['private']=>boolean()            //
1324                    ['reserved']=>boolean()           //
1325                    ['safe_to_copy']=>boolean()       //
1326                }                                     //
1327                ['type_raw']=>double()                //
1328                ['type_text']=>string()               //
1329            }                                         //
1330            [<x>]=>integer()                          //
1331        }                                             //
1332        ['comments']=>array() {                       // array of array of strings containing best data from any available metainformation tag (APE, ID3v2, ID3v1, Lyrics3, Vorbis, ASF, RIFF, Real, etc.)
1333            [<key name>]=>array()                     // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
1334        }                                             //
1335        ['gAMA']=>array() {                           //
1336            ['gamma']=>double()                       //
1337            ['header']=>array() {                     //
1338                ['crc']=>integer()                    //
1339                ['data']=>string()                    //
1340                ['data_length']=>integer()            //
1341                ['flags']=>array() {                  //
1342                    ['ancilliary']=>boolean()         //
1343                    ['private']=>boolean()            //
1344                    ['reserved']=>boolean()           //
1345                    ['safe_to_copy']=>boolean()       //
1346                }                                     //
1347                ['type_raw']=>double()                //
1348                ['type_text']=>string()               //
1349            }                                         //
1350        }                                             //
1351        ['oFFs']=>array() {                           //
1352            ['header']=>array() {                     //
1353                ['crc']=>double()                     //
1354                ['data']=>string()                    //
1355                ['data_length']=>integer()            //
1356                ['flags']=>array() {                  //
1357                    ['ancilliary']=>boolean()         //
1358                    ['private']=>boolean()            //
1359                    ['reserved']=>boolean()           //
1360                    ['safe_to_copy']=>boolean()       //
1361                }                                     //
1362                ['type_raw']=>double()                //
1363                ['type_text']=>string()               //
1364            }                                         //
1365            ['position_x']=>integer()                 //
1366            ['position_y']=>integer()                 //
1367            ['unit']=>string()                        //
1368            ['unit_specifier']=>integer()             //
1369        }                                             //
1370        ['pHYs']=>array() {                           //
1371            ['header']=>array() {                     //
1372                ['crc']=>integer()                    //
1373                ['data']=>string()                    //
1374                ['data_length']=>integer()            //
1375                ['flags']=>array() {                  //
1376                    ['ancilliary']=>boolean()         //
1377                    ['private']=>boolean()            //
1378                    ['reserved']=>boolean()           //
1379                    ['safe_to_copy']=>boolean()       //
1380                }                                     //
1381                ['type_raw']=>double()                //
1382                ['type_text']=>string()               //
1383            }                                         //
1384            ['pixels_per_unit_x']=>integer()          //
1385            ['pixels_per_unit_y']=>integer()          //
1386            ['unit']=>string()                        //
1387            ['unit_specifier']=>integer()             //
1388        }                                             //
1389        ['pcLb']=>array() {                           //
1390            ['header']=>array() {                     //
1391                ['crc']=>double()                     //
1392                ['data']=>string()                    //
1393                ['data_length']=>integer()            //
1394                ['flags']=>array() {                  //
1395                    ['ancilliary']=>boolean()         //
1396                    ['private']=>boolean()            //
1397                    ['reserved']=>boolean()           //
1398                    ['safe_to_copy']=>boolean()       //
1399                }                                     //
1400                ['type_raw']=>double()                //
1401                ['type_text']=>string()               //
1402            }                                         //
1403        }                                             //
1404        ['tEXt']=>array() {                           //
1405            ['header']=>array() {                     //
1406                ['crc']=>integer()                    //
1407                ['data']=>string()                    //
1408                ['data_length']=>integer()            //
1409                ['flags']=>array() {                  //
1410                    ['ancilliary']=>boolean()         //
1411                    ['private']=>boolean()            //
1412                    ['reserved']=>boolean()           //
1413                    ['safe_to_copy']=>boolean()       //
1414                }                                     //
1415                ['type_raw']=>double()                //
1416                ['type_text']=>string()               //
1417            }                                         //
1418            ['keyword']=>string()                     //
1419            ['text']=>string()                        //
1420        }                                             //
1421        ['tIME']=>array() {                           //
1422            ['day']=>integer()                        //
1423            ['header']=>array() {                     //
1424                ['crc']=>integer()                    //
1425                ['data']=>string()                    //
1426                ['data_length']=>integer()            //
1427                ['flags']=>array() {                  //
1428                    ['ancilliary']=>boolean()         //
1429                    ['private']=>boolean()            //
1430                    ['reserved']=>boolean()           //
1431                    ['safe_to_copy']=>boolean()       //
1432                }                                     //
1433                ['type_raw']=>double()                //
1434                ['type_text']=>string()               //
1435            }                                         //
1436            ['hour']=>integer()                       //
1437            ['minute']=>integer()                     //
1438            ['month']=>integer()                      //
1439            ['second']=>integer()                     //
1440            ['unix']=>integer()                       //
1441            ['year']=>integer()                       //
1442        }                                             //
1443        ['tRNS']=>array() {                           //
1444            ['header']=>array() {                     //
1445                ['crc']=>double()                     //
1446                ['data']=>string()                    //
1447                ['data_length']=>integer()            //
1448                ['flags']=>array() {                  //
1449                    ['ancilliary']=>boolean()         //
1450                    ['private']=>boolean()            //
1451                    ['reserved']=>boolean()           //
1452                    ['safe_to_copy']=>boolean()       //
1453                }                                     //
1454                ['type_raw']=>double()                //
1455                ['type_text']=>string()               //
1456            }                                         //
1457            ['transparent_color_blue']=>integer()     //
1458            ['transparent_color_green']=>integer()    //
1459            ['transparent_color_red']=>integer()      //
1460        }                                             //
1461        ['zTXt']=>array() {                           //
1462            ['compressed_text']=>string()             //
1463            ['compression_method']=>integer()         //
1464            ['compression_method_text']=>string()     //
1465            ['header']=>array() {                     //
1466                ['crc']=>double()                     //
1467                ['data']=>string()                    //
1468                ['data_length']=>integer()            //
1469                ['flags']=>array() {                  //
1470                    ['ancilliary']=>boolean()         //
1471                    ['private']=>boolean()            //
1472                    ['reserved']=>boolean()           //
1473                    ['safe_to_copy']=>boolean()       //
1474                }                                     //
1475                ['type_raw']=>double()                //
1476                ['type_text']=>string()               //
1477            }                                         //
1478            ['keyword']=>string()                     //
1479            ['text']=>string()                        //
1480        }                                             //
1481    }                                                 //
1482
1483
1484    ['quicktime']=>array() {               // Quicktime - video/audio
1485        ['']=>array() {                    //
1486            ['name']=>boolean()            //
1487            ['offset']=>integer()          //
1488            ['size']=>integer()            //
1489        }                                  //
1490        ['audio']=>array() {               //
1491            ['bit_depth']=>integer()       //
1492            ['channels']=>integer()        //
1493            ['codec']=>string()            //
1494            ['sample_rate']=>double()      //
1495        }                                  //
1496        ['free']=>array() {                //
1497            ['name']=>string()             //
1498            ['offset']=>integer()          //
1499            ['size']=>integer()            //
1500        }                                  //
1501        ['mdat']=>array() {                //
1502            ['name']=>string()             //
1503            ['offset']=>integer()          //
1504            ['size']=>integer()            //
1505        }                                  //
1506        ['moov']=>array() {                //
1507            ['hierarchy']=>string()        //
1508            ['name']=>string()             //
1509            ['offset']=>integer()          //
1510            ['size']=>integer()            //
1511            ['subatoms']=>array()          // This is an undocumentably-complex recursive array, typically containing a huge amount of seemingly disorganized data. Avoid this like the plague.
1512        }                                  //
1513        ['time_scale']=>integer()          //
1514        ['display_scale']=>integer()       // 1 = normal; 0.5 = half; 2 = double
1515        ['video']=>array() {               //
1516            ['codec']=>string()            //
1517            ['color_depth']=>integer()     //
1518            ['color_depth_name']=>string() //
1519            ['resolution_x']=>double()     //
1520            ['resolution_y']=>double()     //
1521        }                                  //
1522        ['wide']=>array() {                //
1523            ['name']=>string()             //
1524            ['offset']=>integer()          //
1525            ['size']=>integer()            //
1526        }                                  //
1527    }                                      //
1528
1529
1530    ['real']=>array() {                           // Real (RealAudio / RealVideo) - audio/video
1531        ['chunks']=>array() {                     //
1532            [<x>]=>array() {                      //
1533                ['file_version']=>integer()       //
1534                ['headers_count']=>integer()      //
1535                ['length']=>integer()             //
1536                ['name']=>string()                //
1537                ['object_version']=>integer()     //
1538                ['offset']=>integer()             //
1539            }                                     //
1540            [<x>]=>array() {                      //
1541                ['avg_bit_rate']=>integer()       //
1542                ['avg_packet_size']=>integer()    //
1543                ['data_offset']=>integer()        //
1544                ['duration']=>integer()           //
1545                ['flags']=>array() {              //
1546                    ['live_broadcast']=>boolean() //
1547                    ['perfect_play']=>boolean()   //
1548                    ['save_enabled']=>boolean()   //
1549                }                                 //
1550                ['flags_raw']=>integer()          //
1551                ['index_offset']=>integer()       //
1552                ['length']=>integer()             //
1553                ['max_bit_rate']=>integer()       //
1554                ['max_packet_size']=>integer()    //
1555                ['name']=>string()                //
1556                ['num_packets']=>integer()        //
1557                ['num_streams']=>integer()        //
1558                ['object_version']=>integer()     //
1559                ['offset']=>integer()             //
1560                ['preroll']=>integer()            //
1561            }                                     //
1562        }                                         //
1563        ['comments']=>array() {                   //
1564            ['artist']=>string()                  //
1565            ['comment']=>string()                 //
1566            ['title']=>string()                   //
1567        }                                         //
1568    }                                             //
1569
1570
1571    ['riff']=>array() {                                     // RIFF (Resource Interchange File Format) - audio/video container format (AVI, WAV, CDDA, etc)
1572        ['AIFC']=>array() {                                 //
1573            ['COMM']=>array() {                             //
1574                [<x>]=>array() {                            //
1575                    ['data']=>string()                      //
1576                    ['offset']=>integer()                   //
1577                    ['size']=>integer()                     //
1578                }                                           //
1579            }                                               //
1580            ['FVER']=>array() {                             //
1581                [<x>]=>array() {                            //
1582                    ['data']=>string()                      //
1583                    ['offset']=>integer()                   //
1584                    ['size']=>integer()                     //
1585                }                                           //
1586            }                                               //
1587            ['INST']=>array() {                             //
1588                [<x>]=>array() {                            //
1589                    ['data']=>string()                      //
1590                    ['offset']=>integer()                   //
1591                    ['size']=>integer()                     //
1592                }                                           //
1593            }                                               //
1594            ['MARK']=>array() {                             //
1595                [<x>]=>array() {                            //
1596                    ['data']=>string()                      //
1597                    ['offset']=>integer()                   //
1598                    ['size']=>integer()                     //
1599                }                                           //
1600            }                                               //
1601            ['SSND']=>array() {                             //
1602                [<x>]=>array() {                            //
1603                    ['offset']=>integer()                   //
1604                    ['size']=>integer()                     //
1605                }                                           //
1606            }                                               //
1607        }                                                   //
1608        ['AIFF']=>array() {                                 //
1609            ['(c) ']=>array() {                             //
1610                [<x>]=>array() {                            //
1611                    ['data']=>string()                      //
1612                    ['offset']=>integer()                   //
1613                    ['size']=>integer()                     //
1614                }                                           //
1615            }                                               //
1616            ['COMM']=>array() {                             //
1617                [<x>]=>array() {                            //
1618                    ['data']=>string()                      //
1619                    ['offset']=>integer()                   //
1620                    ['size']=>integer()                     //
1621                }                                           //
1622            }                                               //
1623            ['SSND']=>array() {                             //
1624                [<x>]=>array() {                            //
1625                    ['offset']=>integer()                   //
1626                    ['size']=>integer()                     //
1627                }                                           //
1628            }                                               //
1629        }                                                   //
1630        ['AVI ']=>array() {                                 //
1631            ['JUNK']=>array() {                             //
1632                [<x>]=>array() {                            //
1633                    ['data']=>string()                      //
1634                    ['offset']=>integer()                   //
1635                    ['size']=>integer()                     //
1636                }                                           //
1637            }                                               //
1638            ['hdrl']=>array() {                             //
1639                ['avih']=>array() {                         //
1640                    [<x>]=>array() {                        //
1641                        ['data']=>string()                  //
1642                        ['offset']=>integer()               //
1643                        ['size']=>integer()                 //
1644                    }                                       //
1645                }                                           //
1646                ['odml']=>array() {                         //
1647                    ['dmlh']=>array() {                     //
1648                        [<x>]=>array() {                    //
1649                            ['data']=>string()              //
1650                            ['offset']=>integer()           //
1651                            ['size']=>integer()             //
1652                        }                                   //
1653                    }                                       //
1654                }                                           //
1655                ['strl']=>array() {                         //
1656                    ['JUNK']=>array() {                     //
1657                        [<x>]=>array() {                    //
1658                            ['offset']=>integer()           //
1659                            ['size']=>integer()             //
1660                        }                                   //
1661                    }                                       //
1662                    ['strf']=>array() {                     //
1663                        [<x>]=>array() {                    //
1664                            ['data']=>string()              //
1665                            ['offset']=>integer()           //
1666                            ['size']=>integer()             //
1667                        }                                   //
1668                    }                                       //
1669                    ['strh']=>array() {                     //
1670                        [<x>]=>array() {                    //
1671                            ['data']=>string()              //
1672                            ['offset']=>integer()           //
1673                            ['size']=>integer()             //
1674                        }                                   //
1675                    }                                       //
1676                    ['strn']=>array() {                     //
1677                        [<x>]=>array() {                    //
1678                            ['data']=>string()              //
1679                            ['offset']=>integer()           //
1680                            ['size']=>integer()             //
1681                        }                                   //
1682                    }                                       //
1683                }                                           //
1684            }                                               //
1685            ['idx1']=>array() {                             //
1686                [<x>]=>array() {                            //
1687                    ['data']=>string()                      //
1688                    ['offset']=>integer()                   //
1689                    ['size']=>integer()                     //
1690                }                                           //
1691            }                                               //
1692            ['movi']=>array() {                             //
1693                ['offset']=>integer()                       //
1694                ['size']=>integer()                         //
1695            }                                               //
1696        }                                                   //
1697        ['CDDA']=>array() {                                 //
1698            ['fmt ']=>array() {                             //
1699                [<x>]=>array() {                            //
1700                    ['data']=>string()                      //
1701                    ['disc_id']=>integer()                  //
1702                    ['offset']=>integer()                   //
1703                    ['playtime_frames']=>integer()          //
1704                    ['playtime_seconds']=>double()          //
1705                    ['size']=>integer()                     //
1706                    ['start_offset_frame']=>integer()       //
1707                    ['start_offset_seconds']=>double()      //
1708                    ['track_num']=>integer()                //
1709                    ['unknown1']=>integer()                 //
1710                    ['unknown6']=>integer()                 //
1711                    ['unknown7']=>integer()                 //
1712                }                                           //
1713            }                                               //
1714        }                                                   //
1715        ['WAVE']=>array() {                                 //
1716            ['DISP']=>array() {                             //
1717                [<x>]=>array() {                            //
1718                    ['data']=>string()                      //
1719                    ['offset']=>integer()                   //
1720                    ['size']=>integer()                     //
1721                }                                           //
1722            }                                               //
1723            ['INFO']=>array() {                             //
1724                ['IART']=>array() {                         //
1725                    [<x>]=>array() {                        //
1726                        ['data']=>string()                  //
1727                        ['offset']=>integer()               //
1728                        ['size']=>integer()                 //
1729                    }                                       //
1730                }                                           //
1731                ['ICMT']=>array() {                         //
1732                    [<x>]=>array() {                        //
1733                        ['data']=>string()                  //
1734                        ['offset']=>integer()               //
1735                        ['size']=>integer()                 //
1736                    }                                       //
1737                }                                           //
1738                ['ICOP']=>array() {                         //
1739                    [<x>]=>array() {                        //
1740                        ['data']=>string()                  //
1741                        ['offset']=>integer()               //
1742                        ['size']=>integer()                 //
1743                    }                                       //
1744                }                                           //
1745                ['IENG']=>array() {                         //
1746                    [<x>]=>array() {                        //
1747                        ['data']=>string()                  //
1748                        ['offset']=>integer()               //
1749                        ['size']=>integer()                 //
1750                    }                                       //
1751                }                                           //
1752                ['IGNR']=>array() {                         //
1753                    [<x>]=>array() {                        //
1754                        ['data']=>string()                  //
1755                        ['offset']=>integer()               //
1756                        ['size']=>integer()                 //
1757                    }                                       //
1758                }                                           //
1759                ['IKEY']=>array() {                         //
1760                    [<x>]=>array() {                        //
1761                        ['data']=>string()                  //
1762                        ['offset']=>integer()               //
1763                        ['size']=>integer()                 //
1764                    }                                       //
1765                }                                           //
1766                ['IMED']=>array() {                         //
1767                    [<x>]=>array() {                        //
1768                        ['data']=>string()                  //
1769                        ['offset']=>integer()               //
1770                        ['size']=>integer()                 //
1771                    }                                       //
1772                }                                           //
1773                ['INAM']=>array() {                         //
1774                    [<x>]=>array() {                        //
1775                        ['data']=>string()                  //
1776                        ['offset']=>integer()               //
1777                        ['size']=>integer()                 //
1778                    }                                       //
1779                }                                           //
1780                ['ISBJ']=>array() {                         //
1781                    [<x>]=>array() {                        //
1782                        ['data']=>string()                  //
1783                        ['offset']=>integer()               //
1784                        ['size']=>integer()                 //
1785                    }                                       //
1786                }                                           //
1787                ['ISFT']=>array() {                         //
1788                    [<x>]=>array() {                        //
1789                        ['data']=>string()                  //
1790                        ['offset']=>integer()               //
1791                        ['size']=>integer()                 //
1792                    }                                       //
1793                }                                           //
1794                ['ISRC']=>array() {                         //
1795                    [<x>]=>array() {                        //
1796                        ['data']=>string()                  //
1797                        ['offset']=>integer()               //
1798                        ['size']=>integer()                 //
1799                    }                                       //
1800                }                                           //
1801                ['ISRF']=>array() {                         //
1802                    [<x>]=>array() {                        //
1803                        ['data']=>string()                  //
1804                        ['offset']=>integer()               //
1805                        ['size']=>integer()                 //
1806                    }                                       //
1807                }                                           //
1808                ['ITCH']=>array() {                         //
1809                    [<x>]=>array() {                        //
1810                        ['data']=>string()                  //
1811                        ['offset']=>integer()               //
1812                        ['size']=>integer()                 //
1813                    }                                       //
1814                }                                           //
1815            }                                               //
1816            ['MEXT']=>array() {                             //
1817                [<x>]=>array() {                            //
1818                    ['anciliary_data_length']=>integer()    //
1819                    ['data']=>string()                      //
1820                    ['flags']=>array() {                    //
1821                        ['anciliary_data_free']=>boolean()  //
1822                        ['anciliary_data_left']=>boolean()  //
1823                        ['anciliary_data_right']=>boolean() //
1824                        ['homogenous']=>boolean()           //
1825                    }                                       //
1826                    ['offset']=>integer()                   //
1827                    ['raw']=>array() {                      //
1828                        ['anciliary_data_def']=>integer()   //
1829                        ['sound_information']=>integer()    //
1830                    }                                       //
1831                    ['size']=>integer()                     //
1832                }                                           //
1833            }                                               //
1834            ['bext']=>array() {                             //
1835                [<x>]=>array() {                            //
1836                    ['author']=>string()                    //
1837                    ['bwf_version']=>integer()              //
1838                    ['coding_history']=>array() {           //
1839                        [<x>]=>string()                     //
1840                    }                                       //
1841                    ['data']=>string()                      //
1842                    ['offset']=>integer()                   //
1843                    ['origin_date']=>string()               //
1844                    ['origin_date_unix']=>integer()         //
1845                    ['origin_time']=>string()               //
1846                    ['reference']=>string()                 //
1847                    ['reserved']=>integer()                 //
1848                    ['size']=>integer()                     //
1849                    ['time_reference']=>integer()           //
1850                    ['title']=>string()                     //
1851                }                                           //
1852            }                                               //
1853            ['cart']=>array() {                             //
1854                [<x>]=>array() {                            //
1855                    ['artist']=>string()                    //
1856                    ['category']=>string()                  //
1857                    ['classification']=>string()            //
1858                    ['client_id']=>string()                 //
1859                    ['cut_id']=>string()                    //
1860                    ['data']=>string()                      //
1861                    ['end_date']=>string()                  //
1862                    ['end_time']=>string()                  //
1863                    ['offset']=>integer()                   //
1864                    ['out_cue']=>string()                   //
1865                    ['post_time']=>array() {                //
1866                        [<x>]=>array() {                    //
1867                            ['timer_value']=>integer()      //
1868                            ['usage_fourcc']=>string()      //
1869                        }                                   //
1870                    }                                       //
1871                    ['producer_app_id']=>string()           //
1872                    ['producer_app_version']=>string()      //
1873                    ['size']=>integer()                     //
1874                    ['start_date']=>string()                //
1875                    ['start_time']=>string()                //
1876                    ['tag_text']=>array() {                 //
1877                        [<x>]=>string()                     //
1878                    }                                       //
1879                    ['title']=>string()                     //
1880                    ['url']=>string()                       //
1881                    ['user_defined_text']=>string()         //
1882                    ['version']=>string()                   //
1883                    ['zero_db_reference']=>integer()        //
1884                }                                           //
1885            }                                               //
1886            ['data']=>array() {                             //
1887                [<x>]=>array() {                            //
1888                    ['offset']=>integer()                   //
1889                    ['size']=>integer()                     //
1890                }                                           //
1891            }                                               //
1892            ['fact']=>array() {                             //
1893                [<x>]=>array() {                            //
1894                    ['data']=>string()                      //
1895                    ['offset']=>integer()                   //
1896                    ['size']=>integer()                     //
1897                }                                           //
1898            }                                               //
1899            ['fmt ']=>array() {                             //
1900                [<x>]=>array() {                            //
1901                    ['data']=>string()                      //
1902                    ['offset']=>integer()                   //
1903                    ['size']=>integer()                     //
1904                }                                           //
1905            }                                               //
1906            ['rgad']=>array() {                             //
1907                [<x>]=>array() {                            //
1908                    ['data']=>string()                      //
1909                    ['offset']=>integer()                   //
1910                    ['size']=>integer()                     //
1911                }                                           //
1912            }                                               //
1913        }                                                   //
1914        ['audio']=>array() {                                //
1915            [<x>]=>array() {                                //
1916                ['bitrate']=>integer()                      //
1917                ['bits_per_sample']=>integer()              //
1918                ['channels']=>integer()                     //
1919                ['codec']=>string()                         //
1920                ['sample_rate']=>integer()                  //
1921            }                                               //
1922            ['bits_per_sample']=>integer()                  //
1923            ['channels']=>integer()                         //
1924            ['codec_fourcc']=>string()                      //
1925            ['codec_name']=>string()                        //
1926            ['sample_rate']=>integer()                      //
1927            ['total_samples']=>integer()                    //
1928        }                                                   //
1929        ['comments']=>array() {                             // array of array of strings containing best data from any available metainformation tag (APE, ID3v2, ID3v1, Lyrics3, Vorbis, ASF, RIFF, Real, etc.)
1930            [<key name>]=>array()                           // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
1931        }                                                   //
1932        ['header_size']=>integer()                          //
1933        ['raw']=>array() {                                  //
1934            ['avih']=>array() {                             //
1935                ['dwFlags']=>integer()                      //
1936                ['dwHeight']=>integer()                     //
1937                ['dwInitialFrames']=>integer()              //
1938                ['dwLength']=>integer()                     //
1939                ['dwMaxBytesPerSec']=>integer()             //
1940                ['dwMicroSecPerFrame']=>integer()           //
1941                ['dwPaddingGranularity']=>integer()         //
1942                ['dwRate']=>integer()                       //
1943                ['dwScale']=>integer()                      //
1944                ['dwStart']=>integer()                      //
1945                ['dwStreams']=>integer()                    //
1946                ['dwSuggestedBufferSize']=>integer()        //
1947                ['dwTotalFrames']=>integer()                //
1948                ['dwWidth']=>integer()                      //
1949                ['flags']=>array() {                        //
1950                    ['capturedfile']=>boolean()             //
1951                    ['copyrighted']=>boolean()              //
1952                    ['hasindex']=>boolean()                 //
1953                    ['interleaved']=>boolean()              //
1954                    ['mustuseindex']=>boolean()             //
1955                    ['trustcktype']=>boolean()              //
1956                }                                           //
1957            }                                               //
1958            ['fact']=>array() {                             //
1959                ['NumberOfSamples']=>integer()              //
1960            }                                               //
1961            ['fmt ']=>array() {                             //
1962                ['nAvgBytesPerSec']=>integer()              //
1963                ['wBitsPerSample']=>integer()               //
1964                ['nBlockAlign']=>integer()                  //
1965                ['nChannels']=>integer()                    //
1966                ['nSamplesPerSec']=>integer()               //
1967                ['wFormatTag']=>integer()                   //
1968            }                                               //
1969            ['rgad']=>array() {                             //
1970                ['audiophile']=>array() {                   //
1971                    ['adjustment']=>integer()               //
1972                    ['name']=>integer()                     //
1973                    ['originator']=>integer()               //
1974                    ['signbit']=>integer()                  //
1975                }                                           //
1976                ['fPeakAmplitude']=>double()                //
1977                ['nAudiophileRgAdjust']=>integer()          //
1978                ['nRadioRgAdjust']=>integer()               //
1979                ['radio']=>array() {                        //
1980                    ['adjustment']=>integer()               //
1981                    ['name']=>integer()                     //
1982                    ['originator']=>integer()               //
1983                    ['signbit']=>integer()                  //
1984                }                                           //
1985            }                                               //
1986            ['strf']=>array() {                             //
1987                ['auds']=>array() {                         //
1988                    [<x>]=>array() {                        //
1989                        ['nAvgBytesPerSec']=>integer()      //
1990                        ['wBitsPerSample']=>integer()       //
1991                        ['nBlockAlign']=>integer()          //
1992                        ['nChannels']=>integer()            //
1993                        ['nSamplesPerSec']=>integer()       //
1994                        ['wFormatTag']=>integer()           //
1995                    }                                       //
1996                }                                           //
1997                ['vids']=>array() {                         //
1998                    [<x>]=>array() {                        //
1999                        ['biBitCount']=>integer()           //
2000                        ['biClrImportant']=>integer()       //
2001                        ['biClrUsed']=>integer()            //
2002                        ['biHeight']=>integer()             //
2003                        ['biPlanes']=>integer()             //
2004                        ['biSize']=>integer()               //
2005                        ['biSizeImage']=>integer()          //
2006                        ['biWidth']=>integer()              //
2007                        ['biXPelsPerMeter']=>integer()      //
2008                        ['biYPelsPerMeter']=>integer()      //
2009                        ['fourcc']=>string()                //
2010                    }                                       //
2011                }                                           //
2012            }                                               //
2013            ['strh']=>array() {                             //
2014                [<x>]=>array() {                            //
2015                    ['dwFlags']=>integer()                  //
2016                    ['dwInitialFrames']=>integer()          //
2017                    ['dwLength']=>integer()                 //
2018                    ['dwQuality']=>integer()                //
2019                    ['dwRate']=>integer()                   //
2020                    ['dwSampleSize']=>integer()             //
2021                    ['dwScale']=>integer()                  //
2022                    ['dwStart']=>integer()                  //
2023                    ['dwSuggestedBufferSize']=>integer()    //
2024                    ['fccHandler']=>string()                //
2025                    ['fccType']=>string()                   //
2026                    ['rcFrame']=>integer()                  //
2027                    ['wLanguage']=>integer()                //
2028                    ['wPriority']=>integer()                //
2029                }                                           //
2030            }                                               //
2031        }                                                   //
2032        ['rgad']=>array() {                                 //
2033            ['audiophile']=>array() {                       //
2034                ['adjustment']=>double()                    //
2035                ['name']=>string()                          //
2036                ['originator']=>string()                    //
2037            }                                               //
2038            ['peakamplitude']=>double()                     //
2039            ['radio']=>array() {                            //
2040                ['adjustment']=>double()                    //
2041                ['name']=>string()                          //
2042                ['originator']=>string()                    //
2043            }                                               //
2044        }                                                   //
2045        ['video']=>array() {                                //
2046            [<x>]=>array() {                                //
2047                ['codec']=>string()                         //
2048                ['frame_height']=>integer()                 //
2049                ['frame_rate']=>double()                    //
2050                ['frame_width']=>integer()                  //
2051            }                                               //
2052        }                                                   //
2053        ['litewave']=>array() {                             // http://www.clearjump.com
2054            ['raw']=>array() {                              //
2055                ['compression_method']=>integer()           // 1=lossy; 2=lossless
2056                ['compression_flags']=>integer()            //
2057                ['m_dwScale']=>integer()                    // scalefactor for lossy compression - related to m_wQuality as: $m_wQuality = round((2000 - $m_dwScale) / 20)
2058                ['m_dwBlockSize']=>integer()                // number of samples in encoded blocks
2059                ['m_wQuality']=>integer()                   // quality factor (0=most compressed lossy; 99=best quality lossy; 100=lossless)
2060                ['m_wMarkDistance']=>integer()              // distance between marks in bytes
2061                ['m_wReserved']=>integer()                  //
2062                ['m_dwOrgSize']=>integer()                  // original file size in bytes
2063                ['m_bFactExists']=>integer()                // indicates if 'fact' chunk exists in the original file
2064                ['m_dwRiffChunkSize']=>integer()            // riff chunk size in the original file
2065            }                                               //
2066            ['quality_factor']=>integer()                   // alias of ['raw']['m_wQuality']
2067        }                                                   //
2068    }                                                       //
2069
2070
2071    ['shn']=>array() {             // Shorten - lossless audio compression
2072        ['seektable']=>array() {   //
2073            ['length']=>integer()  //
2074            ['offset']=>integer()  //
2075            ['present']=>boolean() //
2076        }                          //
2077        ['version']=>integer()     //
2078    }                              //
2079
2080
2081    ['swf']=>array() {                  // SWF - ShockWave Flash (www.openswf.org)
2082        ['header']=>array() {           //
2083            ['frame_count']=>integer()  //
2084            ['frame_height']=>integer() //
2085            ['frame_width']=>integer()  //
2086            ['length']=>integer()       //
2087            ['signature']=>string()     //
2088            ['version']=>integer()      //
2089        }                               //
2090        ['bgcolor']=>string()           //
2091        ['tags']=>array()               //
2092    }                                   //
2093
2094
2095    ['voc']=>array() {                            // VOC - SoundBlaster VOC audio format
2096        ['blocks']=>array() {                     //
2097            [<x>]=>array() {                      //
2098                ['bits_per_sample']=>integer()    //
2099                ['block_offset']=>integer()       //
2100                ['block_size']=>integer()         //
2101                ['block_type_id']=>integer()      //
2102                ['channels']=>integer()           //
2103                ['compression_name']=>string()    //
2104                ['compression_type']=>integer()   //
2105                ['pack_method']=>integer()        //
2106                ['sample_rate']=>integer()        //
2107                ['sample_rate_id']=>integer()     //
2108                ['stereo']=>boolean()             //
2109                ['time_constant']=>integer()      //
2110                ['wFormat']=>integer()            //
2111            }                                     //
2112        }                                         //
2113        ['compressed_bits_per_sample']=>integer() //
2114        ['header']=>array() {                     //
2115            ['datablock_offset']=>integer()       //
2116            ['major_version']=>integer()          //
2117            ['minor_version']=>integer()          //
2118        }                                         //
2119    }                                             //
2120
2121
2122    ['vqf']=>array() {                    // VQF - transform-domain weighted interleave Vector Quantization Format (lossy audio)
2123        ['COMM']=>array() {               //
2124            ['bitrate']=>integer()        //
2125            ['channel_mode']=>integer()   //
2126            ['sample_rate']=>integer()    //
2127            ['security_level']=>integer() //
2128        }                                 //
2129        ['DSIZ']=>integer()               //
2130        ['comments']=>array() {           // array of array of strings containing best data from any available metainformation tag (APE, ID3v2, ID3v1, Lyrics3, Vorbis, ASF, RIFF, Real, etc.)
2131            [<key name>]=>array()         // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
2132        }                                 //
2133        ['raw']=>array() {                //
2134            ['header_tag']=>string()      //
2135            ['size']=>integer()           //
2136            ['version']=>string()         //
2137        }                                 //
2138    }                                     //
2139
2140
2141    ['wavpack']=>array() {           // WavPack - lossless audio compression
2142        ['bits']=>integer()          //
2143        ['crc1']=>double()           //
2144        ['crc2']=>integer()          //
2145        ['extension']=>string()      //
2146        ['extra_bc']=>string()       //
2147        ['extras']=>string()         //
2148        ['flags_raw']=>integer()     //
2149        ['offset']=>integer()        //
2150        ['shift']=>integer()         //
2151        ['size']=>integer()          //
2152        ['total_samples']=>integer() //
2153        ['version']=>integer()       //
2154    }                                //
2155
2156
2157    ['zip']=>array() {                                           // ZIP - lossless data compression
2158        ['central_directory']=>array() {                         //
2159            [<x>]=>array() {                                     //
2160                ['compressed_size']=>integer()                   //
2161                ['compression_method']=>string()                 //
2162                ['create_version']=>string()                     //
2163                ['entry_offset']=>integer()                      //
2164                ['extract_version']=>string()                    //
2165                ['filename']=>string()                           //
2166                ['flags']=>array() {                             //
2167                    ['compression_speed']=>string()              //
2168                    ['data_descriptor_used']=>boolean()          //
2169                    ['encrypted']=>boolean()                     //
2170                }                                                //
2171                ['host_os']=>string()                            //
2172                ['last_modified_timestamp']=>integer()           //
2173                ['offset']=>integer()                            //
2174                ['raw']=>array() {                               //
2175                    ['compressed_size']=>integer()               //
2176                    ['compression_method']=>integer()            //
2177                    ['crc_32']=>double()                         //
2178                    ['create_version']=>integer()                //
2179                    ['disk_number_start']=>integer()             //
2180                    ['external_file_attrib']=>double()           //
2181                    ['extra_field_length']=>integer()            //
2182                    ['extract_version']=>integer()               //
2183                    ['file_comment_length']=>integer()           //
2184                    ['filename_length']=>integer()               //
2185                    ['general_flags']=>integer()                 //
2186                    ['internal_file_attrib']=>integer()          //
2187                    ['last_mod_file_date']=>integer()            //
2188                    ['last_mod_file_time']=>integer()            //
2189                    ['local_header_offset']=>integer()           //
2190                    ['signature']=>integer()                     //
2191                    ['uncompressed_size']=>integer()             //
2192                }                                                //
2193                ['uncompressed_size']=>integer()                 //
2194            }                                                    //
2195        }                                                        //
2196        ['comments']=>array() {                                  //
2197            ['comment']=>string()                                //
2198        }                                                        //
2199        ['compressed_size']=>integer()                           //
2200        ['compression_method']=>string()                         //
2201        ['compression_speed']=>string()                          //
2202        ['end_central_directory']=>array() {                     //
2203            ['comment']=>string()                                //
2204            ['comment_length']=>integer()                        //
2205            ['directory_entries_this_disk']=>integer()           //
2206            ['directory_entries_total']=>integer()               //
2207            ['directory_offset']=>integer()                      //
2208            ['directory_size']=>integer()                        //
2209            ['disk_number_current']=>integer()                   //
2210            ['disk_number_start_directory']=>integer()           //
2211            ['offset']=>integer()                                //
2212            ['signature']=>integer()                             //
2213        }                                                        //
2214        ['entries']=>array() {                                   //
2215            [<x>]=>array() {                                     //
2216                ['compressed_size']=>integer()                   //
2217                ['compression_method']=>string()                 //
2218                ['extract_version']=>string()                    //
2219                ['filename']=>string()                           //
2220                ['flags']=>array() {                             //
2221                    ['compression_speed']=>string()              //
2222                    ['data_descriptor_used']=>boolean()          //
2223                    ['encrypted']=>boolean()                     //
2224                }                                                //
2225                ['host_os']=>string()                            //
2226                ['last_modified_timestamp']=>integer()           //
2227                ['offset']=>integer()                            //
2228                ['raw']=>array() {                               //
2229                    ['compressed_size']=>integer()               //
2230                    ['compression_method']=>integer()            //
2231                    ['crc_32']=>integer()                        //
2232                    ['extra_field_length']=>integer()            //
2233                    ['extract_version']=>integer()               //
2234                    ['filename_length']=>integer()               //
2235                    ['general_flags']=>integer()                 //
2236                    ['last_mod_file_date']=>integer()            //
2237                    ['last_mod_file_time']=>integer()            //
2238                    ['signature']=>integer()                     //
2239                    ['uncompressed_size']=>integer()             //
2240                }                                                //
2241                ['uncompressed_size']=>integer()                 //
2242            }                                                    //
2243        }                                                        //
2244        ['entries_count']=>integer()                             //
2245        ['files']=>array() {                                     // multidimensional tree-structure array listing of all files and directories in image
2246            [<directory name>]=>array()                          // entries of type array are directories (key is directory name), may contain files and/or other subdirectories
2247            [<file name>]=>integer()                             // entries of type integer are files (key is file name, value is file size in bytes)
2248        }                                                        //
2249        ['uncompressed_size']=>integer()                         //
2250    }                                                            //
2251}                                                                //
Note: See TracBrowser for help on using the repository browser.