Notes:
Changes: » Added support for free-format MP3s (thanks Sebastian Mares for the idea) » Compressed (Flash 6+) SWF files are now handled properly (thanks alan.cheung@alumni.ust.hk) » Added DeleteLyrics3() to getid3.lyrics3.php » Added FixID3v1Padding() to getid3.putid3.php » Added new simple MP3-splicing sample file (thanks tommybob@mailandnews.com for the idea) New file: getid3.demo.joinmp3.php » Moved all contents of getid3.putid3.php into either getid3.id3v1.php or getid3.id3v2.php or getid3.functions.php as appropriate Removed file: getid3.putid3.php Ø ['error'] and ['warning'] keys now return as arrays, not strings Ø New root key for all files: ['file_modified_time'] (UNIX time) Ø getid3.demo.scandir.php renamed to getid3.demo.mysql.php Ø New demo file returns the MIME type only for a single file (thanks admin@e-tones.co.uk for the idea) New file: getid3.demo.mimeonly.php Ø Added check for valid ID3v1 padding (strings should be padded with null characters but some taggers incorrectly use spaces). A warning will be generated if padding is invalid. New boolean key ['id3v1']['padding_valid'] indicates padding validity. Ø CleanUpGetAllMP3info() removes more useless root keys for unknown-format files Ø Extended LAME information in ['mpeg']['audio']['LAME'] is now only returned for LAME v3.90+ Ø LAME-encoded MP3s now return ['mpeg']['audio']['LAME']['long_version'] as well as ['mpeg']['audio']['LAME']['short_version'] - these are identical in LAME v3.90+ but older versions will report longer more detailed version information if available Ø New Lyrics3 values: ['lyrics3']['raw']['offset_start'] and ['lyrics3']['raw']['offset_end'] Ø New optional parameter on getAPEtagFilepointer() to scan from a defined offset rather than end-of-file to allow scanning of APE tags before Lyrics3 tags Ø ['tag_offset_start'] and ['tag_offset_end'] are now present in ['ape'], ['lyrics3'], ['id3v1'] and ['id3v2'] Ø Numerous changes to the returned structure and content for La files, including parsing the seektable (if applicable) and parsing RIFF data occuring after the end of the compressed audio data (notably RIFF comments) (thanks mike@bevin.de) Ø getSWFHeaderFilepointer() now has optional 3rd parameter $ReturnAllTagData (default == false) which if set to true will return data on all tags in ['swf']['tags'] Ø ['swf']['bgcolor'] now returns the 6-character string representing the background color in HTML hex color format (thanks ubergeek@ubergeek.tv) Ø ['swf']['header']['frame_delay'] is no longer returned Ø getQuicktimeHeaderFilepointer() now has two additional optional parameters: $ReturnAtomData (default == true) and $ParseAllPossibleAtoms (default == false). Setting $ReturnAtomData to false will reduce the size of the returned data array by unsetting ['quicktime']['moov'] before returning. Leaving $ParseAllPossibleAtoms as false now suppresses parsing of several atom types that contain very large tables of data that are not typically useful. Atom type suppressed are: stts, stss, stsc, stsz, and stco (thanks ubergeek@ubergeek.tv) Ø ['fileformat'] no longer set to 'id3' if ID3v1 or ID3v2 tag detected but no other data format recognized * Bugfix: La files now return the correct values for ['avdataoffset'] and ['avdataend'] and therefore the correct values for ['md5_data'] - note that ['md5_data'] values will not match values from previous versions of getID3() - the previous versions were incorrect (thanks mike@bevin.de) * Bugfix: A temporary file was being created in the web server's root directory (not DocumentRoot) each time ['md5_data'] was calculated, and not removed due to lack of permissions. Temp file is now created (as it was supposed to be) in the directory of the file being examined, or the system temp directory, and properly removed when done. * Bugfix: Several incorrect values were being returned inside ['mpeg']['audio']['LAME'] (thanks bouvigne@mp3-tech.org) * Bugfix: SWF frame rates values were usually incorrect. (thanks alan.cheung@alumni.ust.hk and ubergeek@ubergeek.tv) * Bugfix: ID3v2.2 files always flagged 4 bytes of invalid padding (thanks marca@mac.com) * Bugfix: Lyrics3 without ID3v1 was not working properly * Bugfix: Lyrics3, APE & ID3v1 can all now exist in the same file. A warning is issued if APE comes after Lyrics3 (because Lyrics3- aware taggers probably are not APE-aware and therefore won't be able to find the Lyrics3 tag) (thanks mp3gain@hotmail.com) * Bugfix: WriteAPEtag() now writes the APE tag before any Lyrics3 tags (if present) and removes any incorrect ones that are after existing Lyrics3 tags (thanks mp3gain@hotmail.com) * Bugfix: RIFF-WAVE file with incorrect NumberOfSamples values in the 'fact' chunk no longer cause incorrect playtime calculation (thanks stprasad@indusnetworks.com) * Bugfix: getid3.demo.simple.php had undefined variables if the file needed to be deep-scanned with assumeFormat * Bugfix: fixed previously-incorrect ['avdataned'] values for APE and Lyrics3 tags in some cases, which in some cases means that ['md5_data'] is different than previously (now correct) Much-improved detection of AAC-ADTS, which also means MP3 format detection should now be nearly twice as fast Truncated AVIs and WAVs are now reported Number of new features and bugfixes in getid3.demo.mysql.php Quicktime 'meta' atoms now parsed, so Quicktime MP4 files can now return artist, title, album, etc (thanks spunk@dasspunk.com) Consolidated all comments processing functions (processing the ['comments'] and ['tags'] keys) into HandleAllTags() which now also checks to ensure that APE tags are really better than ID3v2 before using them in ['comments'] Known issue with Meracl ID3 Tag Writer v1.3.4 truncating last byte of MP3 file when appending new ID3v1 tag now specifically noted (rather than generic Probably Truncated File message) getid3.demo.mysql.php now stores last-modified time for each file getid3.demo.mysql.php is now case-sensitive for filenames getid3.demo.mysql.php can generate M3U playlists of any of the groups of files it can select (duplicate filenames, tag types, etc.) getid3.demo.mysql.php can now find mismatched tag contents and filenames getid3.demo.check.php now shows total number of errors & warnings GetFileFormatArray() now matches actual patterns for MP3 files based on the first two bytes of the file, rather than just the first one Simplified DeleteAPEtag() and made it work properly with Lyrics3
Copyright © 2010 Geeknet, Inc. All rights reserved. Terms of Use