Lines Matching +full:top +full:- +full:tech
8 // changelog.txt - part of getID3() //
21 1.9.20: [2020-06-30] James Heinrich :: 1.9.20-202006061653
48 * bugfix: Quicktime detect null-terminated strings used where Pascal strings should be
51 1.9.19: [2019-12-17] James Heinrich :: 1.9.19-201912131005
59 1.9.18: [2019-07-24] James Heinrich :: 1.9.18-201907240906
63 * bugfix (G:189) false UTF-16 <BOM> and no termination strings
71 * standardize "track" -> "track_number"
73 1.9.17: [2019-02-07] James Heinrich :: 1.9.17-201902071234
76 * bugfix (G:176) improved mp3 detection in remote-file demo
83 1.9.16: [2018-10-17] James Heinrich :: 1.9.16-201810171314
90 * bugfix (G:148) MPEG-2 aspect ratio
95 * bugfix (G:137) ID3v2 semi-numeric genres
97 * bugfix (#2514) FLAC zero-byte block header
102 * bugfix (#1966) fread fail when PHP memory_limit -1
108 * Quicktime: parse some GoPro-specific data
112 1.9.15: [2017-10-26] James Heinrich :: 1.9.15-201709291043
121 * bugfix: (#2066) fix AAC MIME type, remove video key for audio-only files
127 1.9.14: [2017-03-27] James Heinrich
128 » Add experimental support for E-AC3
134 1.9.13: [2016-12-14] James Heinrich
153 1.9.12: [2016-03-02] James Heinrich
159 1.9.11: [2015-12-24] James Heinrich
163 * bugfix (G:60): missing "break" in module.audio-video.quicktime.php
167 * bugfix (G:56): unsupported MIME type "audio/x-wave"
177 1.9.10: [2015-09-14] James Heinrich
188 1.9.9: [2014-12-18] James Heinrich
192 * bugfix: removed non-printable ASCII in comment
195 * bugfix: improved fix for XXE security issue (CVE-2014-2053)
199 * bugfix: #1855 - copy image height/width/etc to comments
200 * bugfix: #1855 - PHP errors in badly written APE/ID3v2 tags
201 * bugfix: #1845 - Quicktime parsing with no PHP memory_limit
202 * bugfix: #1828 - ID3v2 writing unknown frame names
204 1.9.8: [2014-05-11] James Heinrich
205 » Add support for AMR (Adaptive Multi-Rate audio codec)
211 * Bugfix: (#1812) potential unwanted high-ASCII characters in errors
212 * Bugfix: close potential XXE security issue (CVE-2014-2053)
222 1.9.7: [2013-07-05] James Heinrich
223 * Bugfix: [module.audio-video.quicktime.php] track languages set
224 with 15-bit-encoded ISO639-2 language codes not parsed correctly
227 * Bugfix: all source files converted to UTF-8
229 1.9.6: [2013-06-03] James Heinrich
235 * [demo.browse] disable edit-tag and delete-file links by default
238 1.9.5: [2013-02-20] James Heinrich, Dmitry Arkhipov
239 » DTS-in-WAV now properly supported
245 on PHP >=5.4.0 if filename not UTF-8 friendly
249 * Bugfix: [module.audio-video.riff] INFO comment chunks with null name
258 * Bugfix: (#1493) better support for >2GB filesize on 32-bit Linux
268 1.9.4b1: [2012-10-05] James Heinrich, Dmitry Arkhipov, Karl G. Holz
278 Stub module.audio-video.ts.php incomplete
284 * Bugfix: (#1351) QuickTime files with zero-sized atom boxes
292 * Bugfix: (#1306) extension.cache.mysql.php keyword TYPE->ENGINE
299 1.9.3: [2011-12-13] Dmitry Arkhipov, James Heinrich
311 if warning contains apostrophe/single-quote character
312 * Bugfix: (#1269) ID3v1 genre typo "Trash"->"Thrash" Metal
315 1.9.2: [2011-12-08] James Heinrich, Dmitry Arkhipov
316 » significant rewrite to module.audio-video.matroska.php
325 and puts replay-gain values in TXXX frames
327 files where meta frame is present but meta-playtime is zero
336 1.9.1: [2011-08-10] James Heinrich
338 * Default getID3 encoding now set to UTF-8 not ISO-8859-1
342 * Bugfix: (#1201) multi-byte characters strings incorrectly
345 * Bugfix: (#1196) typo in module.audio-video.quicktime.php
354 * Bugfix: AVI zero-size JUNK chunk would give warning
357 1.9.0: [2011-06-20] James Heinrich
362 ¤ GETID3_VERSION constant replaced with $getID3->version()
371 ¤ Nikon-specific data (NCDT atom) in Quicktime videos now parsed
394 * Bugfix: (#1153) badly-tagged files could produce invalid
396 * Bugfix: (#1152) add error-suppression to iconv() calls
397 * Bugfix: (#1151) AAC-ADTS files could sometimes not find sync
405 1.8.5: [2011-02-18] James Heinrich
406 » support >2GB files on 64-bit PHP
407 - note current unofficial 64-bit PHP builds for Windows
408 do not actually support 64-bit integers so are still
409 subject to normal 32-bit limits (2GB) for file functions
415 in a 2-element array (data, image_mime) for all formats
416 * $this->overwrite_tags=false is now known to be buggy and
424 * Bugfix: RIFF-AVI "JUNK" chunks are now parsed properly,
425 including zero-sized ones (no more false errors)
428 current page encoding (default=UTF-8)
442 1.8.4: [2011-02-03] James Heinrich
443 * change default encoding in ID3v2 writing to UTF16-LE+BOM
444 (or ISO-8859-1 where possible) for better compatability
451 1.8.3: [2011-01-18] James Heinrich
453 » replace all error-suppressing @$variable calls with
458 * [quicktime] use fourcc if codec name zero-length
467 * Bugfix: [quicktime] prevent divide-by-zero errors if
468 time_to_sample_table has zero-sample entry
472 1.8.2: [2010-12-06] James Heinrich
476 from Quicktime-style files (e.g. MP4/AAC)
480 * Bugfix: (#1055) clearer warnings on non-EXIF contents in
485 1.8.1: [2010-11-25] James Heinrich
497 data to make binary-safe. Existing cached data must be
506 * Bugfix: (#955) UTF-16LE text files could be falsely
515 1.8.0: [2010-11-23] James Heinrich
517 - change ereg* functions to preg_* equivalents
518 - declare functions static as needed
537 iTunes v4.0-v7.0 (thanks ngbarnesØhotmail*com)
546 zero-length string (thanks taylor*fausakØgmail*com)
554 not containing expected comma-seperated values no longer aborts
559 1.7.9: [2009-03-08] James Heinrich
574 ¤ added ID3v2 keys 'TCMP','TCP' to for writing iTunes-style tags
576 ¤ back-ported PICTURE tag handling in FLAC tags
580 non-standard part-of-a-compilation tag)
594 * Bugfix: "MODule (assorted sub-formats)" was falsely matching
596 * Bugfix: suppress PHP_notice on failed SWF-compressed
600 1.7.8b3: [2008-07-13] James Heinrich
607 » Experimental support for PHP-RAR reading. Known buggy, disabled
625 * Bugfix: getid3_lib::CastAsInt returned -2147483648 when passed
629 1.7.8b2: [2007-10-15] James Heinrich, Allan Hansen
647 * Bugfix: PlaytimeString returned non-matching value for negative
653 * Bugfix: lyrics3-flags-lyrics field was always false, and there
654 never was a lyrics3-flags-timestamp field present even though
655 the lyrics3-raw-IND field consisted of "10" (lyrics present,
662 1.7.8b1: [2007-01-08] Allan Hansen
666 » Removed broken and non-fixable tagwriting module for real format.
681 * Bugfix: ASF module returned mime type video/x-ms-wma instead of
682 video/x-ms-wmv for certain FourCCs.
693 * Bugfix: ID3v2 UTF-8/16 encoded frames terminated by \x00
696 * Bugfix: ID3v2.3 extended headers non-conformance
707 ¤ MPC: Mime type returned: audio/x-musepack
709 1.7.7: [2006-06-25] Allan Hansen
715 "--alt-preset n" / "--alt-preset cbr n" when scanning more files.
719 * Bugfix: UNIX: head and tail called with -cNNN instead of "-c NNN".
745 1.7.6: [2006-03-12] James Heinrich
749 (thanks m-1Øgmx*net)
750 * Bugfix: ['codec'] key warning in module.audio-video.asf.php
757 is not in ISO-8859-1 (thanks drewishØkatherinehouse*com)
763 1.7.5: [2005-12-29] James Heinrich
764 » Added FLV (FLash Video) support -- new file:
765 module.audio-video.flv.php
766 (thanks Seth Kaufman <seth@whirl-i-gig.com> for code)
772 * Bugfix: removed "--lowpass xxxxx" info from guessed
778 1.7.4: [2005-05-04] James Heinrich
781 * Bugfix: major UTF-8 to UTF-16/ISO-8859-1 conversion
784 * Bugfix: Missing 'lossless' key in RIFF-WAV
787 1.7.3: [2005-04-22] James Heinrich
788 » Added TAR support -- new file: module.archive.tar.php
790 » Added GZIP support -- new file: module.archive.gzip.php
797 * Bugfix: minor UTF-8 display issues in demo.browse.php
812 - remix/version parsed from tags and stored in
814 - track number can be used for renaming files
817 1.7.2: [2004-10-18] Allan Hansen
828 * Bugfix: New iTunes crashes PHP - temp fix - no tags
837 * Bugfix: Changed MPC SV4-6 header size from 28 to 8,
842 ¤ Commented-out unknown/unused values in NSV and ISO
846 1.7.1b1: [July-26-2004] James Heinrich
852 » Modified iconv_fallback to work with UTF-8, UTF-16, UTF-16LE,
853 UTF-16BE and ISO-8859-1 even if iconv() and/or XML support is
858 » Included new demo showing most-basic getID3() usage
868 * Bugfix: ['bitrate_mode'] typo in module.audio-video.real.php
882 * Bugfix: MIDI playtime was missing for single-track MIDI files
892 multiplier for QuickTime movies - a movie set to playback at
893 double-size will have "2" here. Other values are "1" and "0.5"
894 ¤ Added LAME preset guessing for --preset medium with v3.90.3
897 the standard ISO-8859-1
906 1.7.0-hotfix [2004-03-17] Allan Hansen
908 * Bugfix: PHP 4.1.x compatiblity - fgets($fp) => fgets($fp, 1024)
913 destination encodings other than ISO-8859-1 and UTF-8, iconv is
920 1.7.0: [January-19-2004] James Heinrich
925 tag-reading programs cannot read unsynchronised tags. Can be
945 ¤ Suppress '--resample xxxxx' appended to encoder options for mp3
946 with low-quality presets for default sampling frequencies
947 ¤ Enhanced LAME preset guessing for pre-3.93 with a better lookup
948 table, --resample/--lowpass guessing (thanks phwipØfish*co*uk)
949 ¤ RIFF files with non-MP3 contents no longer have
956 * Bugfix: APEtags with ReplayGain information stored with comma-
962 * Bugfix: Warnings on empty-strings-only comments
992 1.7.0b5: [December-29-2003] James Heinrich
1002 » Unified tag-writing interface for all tag formats
1010 » Added support for Shorten - requires shorten binary (head.exe
1026 ¤ 8-bit WAV data now calculates MD5 checksums as normal, not
1029 decoded 8-bit WAV. A warning will be generated for 8-bit FLAC
1037 the previous "application/x-ogg"
1039 ¤ Force contents of ['id3v2']['comments'] to UTF-8 format from
1060 * Bugfix: fixed MultiByteCharString2HTML() for UTF-8
1067 * Bugfix: MPEG-2/2.5 ABR/VBR MP3 files had doubled playtime
1068 * Bugfix: MPEG-2/2.5 LayerII (ie MP2: 24/22.05/16kHz) files were
1072 Added alternative md5_data via system call - twice as fast. Needs
1073 "getID3()-WindowsSupport" to work under Windows.
1077 Added SCMPX extensions to ID3v1 genres (0xF0-0xFE)
1079 Added memory-saving EmbeddedLookup() function for lookup tables
1083 in place of large multi-dimensional array declarations.
1088 1.7.0b4: [November-19-2003] James Heinrich
1089 » Support added for MPC files with old SV4-SV6 structure
1092 » RealAudio files with old-style file format (v2-v4) are now
1109 to either 'MPEG-1' or 'MPEG-2' (rather than just 'MPEG'). If you
1117 ¤ AC3 in RIFF-WAV now identified with ['audio']['dataformat']
1120 ¤ WavPack ['extras'] now returned as 3-element array of integers
1123 a number 0-100 for Fraunhofer-encoded VBR MP3s
1126 ['video']['dataformat'] (thanks robØmassive-interactive*nl)
1130 * Bugfix: MD5 and other post-TAIL chunks were not being processed
1140 * Bugfix: Fraunhofer VBRI headers for MP3s were assuming 2-byte
1146 they should not generate warnings (robØmassive-interactive*nl)
1148 as 'Buschmann v1.7.0-v1.7.9 or Klemm v0.90-v1.05'
1151 neccesary (thanks stefan*kischkelØt-online*de)
1152 Added 3ivx fourCCs to module.audio-video.quicktime.php
1153 MP3 and AC3 streams are now parsed when contained inside RIFF-WAV
1154 or RIFF-AVI container formats
1158 1.7.0b3: [October-17-2003] James Heinrich
1159 » AC-3 (aka Dolby Digital) is now supported.
1161 * Bugfix: ID3v2-writing function Unsynchronise() was broken, which
1169 Improved double-ID3v1 check to prevent false detection when string
1177 1.7.0b2: [October-15-2003] James Heinrich
1185 ¤ RIFF-MP3 files now should return the same ['md5_data'] as the
1192 and all LAME-encoded files
1197 ¤ Ogg module adds ['audio']['encoder_options'] -b 128 on
1199 ¤ Ogg module adds ['audio']['encoder_options'] -q N on
1208 - encoder options
1209 - ID3v2 "Encoded By"
1210 - non-empty comments
1211 - total entries in database summary (totals & averages)
1212 - database version update
1213 * Bugfix: 'UNICODE' iconv() charset changed to 'UTF-16LE' or
1214 'UTF-16BE' as appropriate
1219 number - patch from Eugene Toder.
1220 * Bugfix: ASF module now reads non-standard field names,
1221 i.e. "date" as well as WM/Year - patch from Eugene Toder.
1222 * Bugfix: ASF module now returns genre as-is if it is not a
1224 * Bugfix: Eliminated false-synch problem in MP3 module
1241 Added duplicate-ID3v1 tag checking (two ID3v1 tags, one after the
1251 1.7.0b1: [2003-09-28] Allan Hansen
1253 Allan Hansen <ahØartemis*dk> - please send bug reports on this
1262 It also is more library-like. Older versions of getID3() declared
1265 prepended by GETID3_. It declares no global scope functions - they
1268 » Made getID3() depend on iconv library: compile PHP --with-iconv
1300 Checking for APE tags before lyrics3 - makes Lyrics3 not depend
1305 Simplified clean-up procedure: simply remove all empty root keys
1307 Made Bonk and ASF modules non-dependent on id3 modules - id3
1309 Rewrote HandleAllTags() - simplified and convert comments to
1313 It also converts from UNICODE instead of UTF-16BE, as the spec
1321 Did same thing as above with ISO module. However - it does not
1322 work. I need to find out how to specify big-endian unicode !=
1324 Built-in assume mp3 format in getid3.php
1327 Updated demo/check.php - some thing don't work!
1331 1.6.5: [October-06-2003] James Heinrich
1340 * Bugfix: ASF module now reads non-standard field names,
1341 i.e. "date" as well as WM/Year - patch from Eugene Toder.
1342 * Bugfix: ASF module now returns genre as-is if it is not a
1347 Added wFormatTag values 0x00FF and 0x2001 - 0x2005
1352 1.6.4: [June-30-2003] James Heinrich
1353 » Added support for free-format MP3s
1359 » Added new simple MP3-splicing sample file
1370 (thanks adminØe-tones*co*uk for the idea)
1377 unknown-format files
1380 ¤ LAME-encoded MP3s now return
1382 ['mpeg']['audio']['LAME']['short_version'] - these are identical
1388 defined offset rather than end-of-file to allow scanning of APE
1400 ¤ ['swf']['bgcolor'] now returns the 6-character string
1418 values for ['md5_data'] - note that ['md5_data'] values will not
1419 match values from previous versions of getID3() - the previous
1429 ['mpeg']['audio']['LAME'] (thanks bouvigneØmp3-tech*org)
1436 A warning is issued if APE comes after Lyrics3 (because Lyrics3-
1437 aware taggers probably are not APE-aware and therefore won't be
1442 * Bugfix: RIFF-WAVE file with incorrect NumberOfSamples values in
1446 file needed to be deep-scanned with assumeFormat
1447 * Bugfix: fixed previously-incorrect ['avdataend'] values for APE
1450 Much-improved detection of AAC-ADTS, which also means MP3
1463 getid3.demo.mysql.php now stores last-modified time for each file
1464 getid3.demo.mysql.php is now case-sensitive for filenames
1477 1.6.3: [May-17-2003] James Heinrich
1494 are passing are already UTF8-encoded, otherwise all data is
1497 ¤ Added third, optional, parameter to getID3v2Filepointer() -
1499 in a file at a position other than the start-of-file.
1503 ¤ ASF-WMA files now return the artist value from WM/AlbumArtist
1505 ¤ ASF-WMA files now return the 'author' value from
1508 ¤ ASF-WMA files now return the 'description' value from
1514 * Bugfix: CreateDeepArray() was returning an empty-string key as
1515 the top-level returned value - ['iso']['files'] now directly
1521 * Bugfix: APE tag writing was not UTF8-encoding the data -
1522 non-ASCII characters (above chr(127)) were being incorrectly
1527 Added link to getid3.demo.check.php from list of specific-tags
1531 1.6.2: [May-04-2003] James Heinrich
1532 » New official mirror site for getID3() - https://www.getid3.org
1536 MPEG-video files. I don't have any actual documentation for
1539 it. Bug reports (or even better - documentation!) are welcome at
1541 » Added new simple directory-scanning sample file
1549 all the other similar function structures - the parameters have
1556 the number of frames of each MPEG version (1, 2 or 2.5) - all
1565 will change to 'MPEG-1' or 'MPEG-2' as soon as I figure out how
1572 tag (http://gabriel.mp3-tech.org/mp3infotag.html)
1575 * Bugfix: Warning now generated for VBR MPEG-video files because
1584 * Bugfix: getid3.demo.check.php is now case-insensitive when
1588 for RIFF-MP3 files (thanks wmØwofuer*com)
1589 * Bugfix: RIFF-MP3 files with 'RMP3' chunks instead of 'WAVE' were
1593 * Bugfix: getid3.demo.check.php now does in-depth scanning for MP2
1595 if a MPEG-audio structure isn't found immediately at the start
1597 * Bugfix: removed condition where RIFF-WAV was being scanned for
1598 MPEG-audio signature when it shouldn't be present (non-MP3 WAV)
1602 (thanks rich.martinØreden-anders*com)
1608 * Bugfix: Removed potential out-of-memory crash situation when
1617 Added '.mpeg' to the list of assume-format-from-filenames list in
1619 MPEG-video files now more reliably detected
1622 Added many RIFF-AVI audio types and fourcc video types to the
1626 [unknown program] writes variable-length tags (which is illegal
1631 variables at the top of the file (if you want to change them)
1632 Added support for OptimFROG v4.50x (non-alpha) (new header fields)
1637 1.6.1: [March-03-2003] James Heinrich
1659 » Added getid3.demo.scandir.php - a sample recursive scanning demo
1660 that scans every file in a given directory, and all sub-
1674 ¤ ['md5_data'] for 8-bit WAV files is now calculated based on a
1677 ¤ New optional parameter added to GetAllFileInfo() -
1683 ¤ Added GetTagOnly() function to getid3.php - similar to
1685 only returns ID3v2, APE, Lyrics3 and ID3v1 tag information - no
1689 formats (when known). Both are boolean values - true means the
1690 data is lossless-compressed, false means the data is lossy-
1702 the MSB of each byte before MD5'ing. This is needed for 8-bit
1705 of an 8-bit WAV will now match the ['md5_data_source'] value
1708 contains an array of values, if the tag contains UTF-8 text (as
1722 * Bugfix: Potential infinite-loop condition in getid3.ogg.php
1727 * Bugfix: replay-gain values not properly set from LAME tag
1728 * Bugfix: RIFF-MP3 had incorrect md5_data
1729 * Bugfix: the LAME DLL CBR problem of not re-writing the LAME
1736 * Bugfix: added warning if ID3v2 frame has zero-length data
1738 * Bugfix: getid3.frames.php looking for non-existant key in USER
1740 Improved detection of RIFF-MP3 data. [unknown program] encodes
1741 RIFF-WAV data with a chunk name of 'RMP3' instead of the
1744 for RIFF-WAV files with an INFO.ISFT chunk
1749 md5_file and md5_data if display-MD5 mode is selected
1750 Modified getid3.check.php to assume-format based on file extension
1753 Changed scaling of BitrateColor() from representing 1-256kbps to
1754 representing 1-768kbps for better display of high-bitrate files,
1755 specifically lossless-compressed CD-audio (FLAC, LA, etc)
1758 1.6.0: [January-30-2003] James Heinrich
1762 » Comments are now available in the root 2-dimensional array
1763 ['comments'] - each entry in this array will contain one or more
1774 Lower-priority tags will not overwrite or append existing values
1775 of higher-priority tags (for example, 'artist' in ID3v1 will be
1785 like ID3v2, ID3v1, APE, etc - ['md5_data']
1795 in the event that VorbisComments are larger than 1 page (4-8kB).
1833 GetAllMP3Info() - you will need to change both the function
1836 ['video']['dataformat'] where appropriate - this goes along with
1837 ['fileformat'] - ['fileformat'] will return the actual structure
1850 files - even if illegal by format. Ogg will return warning if
1852 ¤ All files: non-critical errors are now returned in the root key
1857 ¤ Joliet now supported for ISO-9660.
1863 ¤ Added new keys for ISO-9660: ['name_ascii'] for directories,
1865 ¤ Added root key ['track'] for CD-audio files
1866 ¤ Ogg/Vorbis-comment files now have comments returned inside
1874 ¤ ['fileformat'] now returns 'mp1' instead of 'mp3' for MPEG-1
1875 layer-I audio files (thanks ahØartemis*dk)
1877 ¤ MPEG-4 audio files which consist of MP3 data wrapped in a
1880 ¤ Type-1 DV AVIs are now supported
1890 ¤ AAC-ADTS files now return ['aac']['bitrate_distribution']
1897 contain duplicate entries (in a numeric-indexed array) for files
1902 - large AVIs would take a very very long time to parse
1903 - chunks with odd (not even) sizes would cause the parser fail
1904 - video and/or audio codecs not always identified
1907 encouraged to double-check output of any parsed (AVI/WAV/CDDA)
1916 * Bugfix: CreateDeepArray() was broken for non-nested cases, which
1920 * Bugfix: AAC-ADIF was returning an incorrect number of channels
1931 Extra error-checking added to try and identify corrupt files for
1938 Added text encoding type 255 as a duplicate of UTF-16BE but with
1939 Big-Endian rather than Little-Endian byte order
1940 Added many RIFF-AVI audio types and fourcc video types to the
1952 Modified getid3.check.php to handle larger-than-2GB files (which
1971 1.5.7: [January-10-2003] James Heinrich
1972 » Added support for ISO 9660 (CD-ROM image) format. Most-useful
1974 Note: Only ISO-9660 supported, not (yet) Joliet extension
1978 built-in PHP functions and/or ZZipLib support.
1983 and non-empty subdirectories. Information for all entries,
1988 ¤ RIFF-WAV files with MP3 data (or MP3s with RIFF headers, if you
2002 frame name ('COM ' - should be 'COMM') but the data is valid
2019 1.5.6: [December-31-2002] James Heinrich
2024 » Added support for CD-audio track files (track01.cda etc)
2026 MPEG-video)
2031 'asf' in all other cases (audio-only, video-only, or both)
2034 ¤ Added function SafeStripSlashes() as a drop-in replacement for
2051 * Bugfix: ID3v2.2 - valid frame names not correctly detected
2053 * Bugfix: ID3v2.2 - valid padding not correctly detected
2060 * Bugfix: ['bitrate'] was incorrect for multi-stream RealMedia
2062 for multi-stream RealMedia
2064 * Bugfix: Fixed potential divide-by-zero error for corrupt FLAC
2066 * Bugfix: AAC-ADTS was not returning ['bitrate_mode'] unless
2068 * Bugfix: LAME-encoded CBR MP3s now properly identified as CBR
2078 Rewrote GetAllMP3info() - removed some unneccesary code, changed
2079 format-detection routine from ParseAsThisFormat() to
2081 (needed for ISO CD-ROM images, helpful for Quicktime and others)
2082 Changed references in all files from string-cast indexes: ["$i"]
2083 to non-cast indexes: [$i] where appropriate
2084 Put a sans-serif 9pt style on all text in getid3.check.php
2095 1.5.5: [November-25-2002] James Heinrich
2096 » Added support for La (Lossless Audio - www.lossless-audio.com)
2107 defaults to FALSE - if TRUE then the data for every frame is
2115 as a constant at the top of getid3.mp3.php This will result in
2121 will force an MP3 audio frame sequence to be force-scanned in
2126 an error in non-existant "reserved_1" and failing
2132 * Bugfix: incorrect order of if-statement error messages in
2144 1.5.4: [October-07-2002] James Heinrich
2152 that gets detected as MP3/MP2 (or vice-versa), please send me
2158 Note: I would suggest commenting out support for AAC (see top of
2191 with the --with-xml option. (thanks stephaneØtekartists*com)
2194 1.5.3: [September-30-2002] James Heinrich
2200 ¤ OS/2-format bitmaps are now correctly interpreted. The format of
2206 1.5.2: [September-25-2002] James Heinrich
2208 Note: only tested on G2 and v5 audio and video files - if anyone
2214 extracted as well - this is slow and generally unneccesary, but
2218 Note: Untested on 16-bit and 32-bit BMPs because I couldn't find
2219 any sample files - if you know of a program that can create such
2222 and tested. BITFIELDS support is also included for 16- & 32-bit
2225 Note: Support currently only for Windows-format BMPs, and trying
2226 to parse an OS/2-format bitmap leads to unpredictable/invalid
2236 table_var_dump() simplified and now outputs {-style character
2239 (thanks chris-getid3Øbolt*cx for rewriting the function)
2242 1.5.1: [September-20-2002] James Heinrich
2265 ¤ ['fileformat'] is now 'mp2' rather than 'mp3' if it's MPEG-1,
2266 Layer-II audio
2269 ¤ ['asf']['stream_properties_object'] is now a numeric-key array
2270 with one entry for each stream - the key being the stream number
2272 it (MP3-LAME, ID3v2, Ogg) (thanks Christian Fritz for the idea)
2283 * Bugfix: Ogg comment data is now UTF8-decoded
2284 * Bugfix: Ogg comment writing now UTF8-encodes the data
2295 Warning displayed if incorrectly-formatted Ogg comment is present
2305 1.5.0: [September-18-2002] James Heinrich
2308 Big thanks to Chris Bolt <chris-getid3Øbolt*cx> for writing the
2319 make the image-displaying more reliable as well as reduce
2348 1.4.3: [September-15-2002] James Heinrich
2353 Added FILETIMEtoUNIXtime() function (for converting 64-bit
2359 1.4.2: [September-12-2002] James Heinrich
2361 designed to work with register_globals = off and the new auto-
2363 * Bugfix: VBR MP3 files with Fraunhofer-style VBR header were not
2371 frame and a sequence of valid MPEG-audio frames the VBR data is
2373 Fraunhofer-style VBR file produced with MusicMatch v7.2)
2377 ¤ Now returns the following keys from Fraunhofer-VBR files:
2387 ID3-writing code (getid3.putid3.php, etc)
2392 1.4.1b5: [May-30-2002] James Heinrich
2395 * Bugfix: GenerateID3v2Tag() now correctly uses non-synchsafe
2411 Changed the comment-edit field in getid3.write.php to a multi-line
2412 <textarea> from a single-line <input>
2415 field when writing ID3v2 tags. Description is "ID3v2-tagged by"
2418 Improved file-format detection in getid3.check.php - if the auto-
2427 Added some mouse-over titles for links in getid3.check.php
2430 1.4.1b4: [May-15-2002] James Heinrich
2432 or padding at the beginning of the file - added 'assumeFormat'
2439 1.4.1b3: [May-01-2002] James Heinrich
2454 directory-browse mode, since this can take a long time. Detailed
2455 single-file view is still fully scanned (new third parameter for
2460 1.4.1b2: [April-18-2002] James Heinrich
2462 (now specifying the parse-this-file-as-this format, like 'mp3',
2463 but also can be FALSE to mean don't assume any format, auto-detect
2467 auto-detection of getID3() (ex: an MP3 wrapped in a RIFF/WAV
2468 header will be auto-detected as RIFF/WAV, but if forced to parse
2488 (thanks davidbullockØtech-center*com)
2492 Added support for SmartSound-format RIFF files (which are regular
2497 1.4.1b1: [April-11-2002] James Heinrich
2504 PHP/Win32 - if someone has a copy of this file, please email me:
2516 http://66.96.216.160/cgi-bin/YaBB.pl
2522 Filipe Laborde-Basto (www.rezox.com). You can right-click, save-as
2529 ¤ ['ogg']['bitrate_ave'] -> ['ogg']['bitrate_nominal'] (thanks to
2558 are only scanned as MP3 if ID3v2 or MPEG-audio signatures are at
2561 browse screen, but in detail it will scan in-depth
2565 non-synchsafe-integer framesizes, getID3() now checks for this and
2571 1.4.0b9: [April-05-2002] James Heinrich
2575 * Bugfix: ID3v1 tags were not properly being parsed - track, genre
2580 * Bugfix: Improved detection of MPEG-video files (a sample MP3 file
2581 had a false MPEG video signature at the beginning), and the MPEG-
2582 video parsing function now only looks for the MPEG-video header
2594 ID3v2-aware tools) can only read up to ID3v2.3
2598 1.4.0b8: [April-04-2002] James Heinrich
2605 UTF-16/UTF-16BE encoded text
2607 (thanks davidbullockØtech-center*com)
2613 1.4.0b7: [April-03-2002] James Heinrich
2616 around and/or restructured. A lot of new data is in there too -
2618 ¤ Better recursive parsing of RIFFs (sub-arrays are now in the right
2622 never returned - this had the side effect that ID3v2 comments were
2630 Reformatted changelog.txt to 72-column width
2633 1.4.0b6: [April-01-2002] James Heinrich
2641 (thanks davidbullockØtech-center*com)
2647 1.4.0b5: [March-28-2002] James Heinrich
2654 UTF-16/UTF-16BE
2657 improvement in speed) (thanks davidbullockØtech-center*com)
2659 (thanks davidbullockØtech-center*com)
2660 Changed '<?' tags to '<?php' (thanks davidbullockØtech-center*com)
2667 E_NOTICEs (thanks davidbullockØtech-center*com)
2673 1.4.0b4: [March-26-2002] James Heinrich
2677 ¤ ['bitrate'] now returned (in bits-per-second) at root level for
2683 Removed some test data-dumping from the ID3v2 writing functions
2686 Seperated out comments from top of getid3.php into getid3.readme.txt
2688 Split out non-lookup functions from getid3.lookup.php to
2692 1.4.0b3: [March-25-2002] James Heinrich
2699 confliciting with the all-frames ['datalength'] as introduced in
2705 1.4.0b2: [March-21-2002] James Heinrich
2714 escaped chars or %xx-formatted characters
2723 1.4.0b1: [March-11-2002] James Heinrich
2777 char for UTF-16
2782 Seperated out MPEGaudio-parsing functionality into
2787 Added clearstatcache() before checking filesize - size after writing
2790 ID3v2.3-formatted MIME type instead of 3-char ID3v2.2-format image
2794 1.3.2: [February-15-2002] James Heinrich
2808 1.3.1: [February-13-2002] James Heinrich
2812 2-element array
2818 1.3.0: [February-13-2002] James Heinrich
2835 RoughTranslateUnicodeToASCII() now uses utf8_decode() for UTF-8
2838 1.2.5: [January-30-2002] James Heinrich
2844 Split out getid3.frames.php (FrameID-specific parsing function)
2845 Split out getid3.lookup.php (assorted lookup-table functions)
2847 be same as getid3.php, but doesn't have to be same as main file -
2853 1.2.4: [January-26-2002] James Heinrich
2854 » Basic support for reading Ogg-Vorbis comment tags
2857 1.2.3: [January-24-2002] James Heinrich
2858 » ID3v2.2.x 3-char FrameIDs are now fully parsed
2867 table_var_dump() now uses htmlspecialchars() to avoid broken-table
2871 1.2.2: [January-18-2002] James Heinrich
2878 1.2.1: [January-17-2002] James Heinrich
2885 (3-char frame names) (thanks stephaneØtekartists*com)
2888 frame) - some files encoded by LAME 3.91 had undocumented padding
2894 1.20: [January-15-2002] James Heinrich
2895 » Support for variable-bitrate (VBR) files, both Xing and Fraunhofer
2897 » All 4-character FrameIDs are now fully parsed according to the
2898 specs at http://www.id3.org/id3v2.4.0-frames.txt
2909 than the 4-character FrameIDs of the ID3v2 standard)
2916 had changed from ID3v2.3 to ID3v2.4) - v2.3 flags were being
2926 1.11: [December-23-2001] James Heinrich
2931 1.10: [December-20-2001] James Heinrich
2936 Now includes check.php - example file
2942 1.06: [November-05-2001] James Heinrich
2944 6-byte rather than 10-byte headers as v2.3+ does
2948 1.05: [September-06-2001] James Heinrich
2952 1.04: [July-16-2001] James Heinrich
2957 1.03: [May-07-2001] James Heinrich
2962 1.02: [May-05-2001] James Heinrich
2966 1.01: [May-04-2001] James Heinrich
2967 » Added support for frame-level de-unsynchronisation (as per
2968 ID3v2.4.0 specs) in addition to ID3v2.3.x tag-level
2969 de-unsynchronisation
2972 1.00: [May-04-2001] James Heinrich