mirror of
https://github.com/Yetangitu/ampache
synced 2025-10-05 02:39:47 +02:00
it technically logs in and streams.. but thats it, complete rewrite almost everything broken
This commit is contained in:
parent
8b27d66add
commit
a31560aec4
199 changed files with 30445 additions and 33070 deletions
491
modules/getid3/docs/changelog.txt
Normal file
491
modules/getid3/docs/changelog.txt
Normal file
|
@ -0,0 +1,491 @@
|
|||
// +----------------------------------------------------------------------+
|
||||
// | PHP version 5 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 2002-2006 James Heinrich, Allan Hansen |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 2 of the GPL license, |
|
||||
// | that is bundled with this package in the file license.txt and is |
|
||||
// | available through the world-wide-web at the following url: |
|
||||
// | http://www.gnu.org/copyleft/gpl.html |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | getID3() - http://getid3.sourceforge.net or http://www.getid3.org |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: James Heinrich <infoØgetid3*org> |
|
||||
// | Allan Hansen <ahØartemis*dk> |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Changelog |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: changelog.txt,v 1.47 2007/02/12 10:00:15 ah Exp $
|
||||
|
||||
|
||||
|
||||
» denotes a major feature addition/change
|
||||
¤ denotes a change in the returned structure
|
||||
! denotes a cry for help from developers
|
||||
* Bugfix: denotes a fixed bug
|
||||
|
||||
|
||||
getID3() 2.x Version History
|
||||
============================
|
||||
|
||||
|
||||
2.0.0b4: [2007-01-12] Allan Hansen
|
||||
|
||||
GENERAL
|
||||
» Major update to readme.txt
|
||||
» Added new section sample apps
|
||||
» Added well-written sample application "morg".
|
||||
See sample_apps/morg/screen_shots for more
|
||||
¤ option_tags_process now generates root key 'comments' with merged
|
||||
values from 'tags'.
|
||||
¤ Removed option_tags_html. HTML entities is a thing of the past.
|
||||
Use UTF-8 encoded pages instead. Saves bandwidth and is much easier.
|
||||
* Bugfix: PHP_NOTICE issue in BigEndian2Float().
|
||||
» Tag writing support: ID3v1
|
||||
» Tag writing support: APEtag
|
||||
» Tag writing support: FLAC
|
||||
» Tag writing support: Ogg Vorbis
|
||||
» Tag writing support: Lyrics3
|
||||
» SVG file detection (no parsing)
|
||||
» PAR2 file detection (no parsing)
|
||||
» Got rid of windowed and option_helperapps_dir. Helper apps must be
|
||||
somewhere in the path, e.g. c:\windows\system32 or /usr/bin
|
||||
|
||||
ASF MODULE:
|
||||
* Bugfix: Wrong mime type (video/x-ms-wma instead of video/x-ms-wmv)
|
||||
for certain FourCCs.
|
||||
* Bugfix: Padding offset bug.
|
||||
|
||||
DATA_HASH MODULE:
|
||||
¤ copy md5_data_source to md5_data if option set to true
|
||||
|
||||
DTS MODULE:
|
||||
» New module (module.audio.dts.php)
|
||||
|
||||
FLV MODULE:
|
||||
* Bugfix: DivByZero on zero length FLV files.
|
||||
* Bugfix: PHP_NOTICE one some files.
|
||||
|
||||
ID3v1 MODULE:
|
||||
¤ Removed: Padding check.
|
||||
|
||||
ID3v2 MODULE:
|
||||
* Bugfix: PHP_NOTICE issues with broken ID3v2 tag/garbage.
|
||||
* Bugfix: UTF-8/16 encoded frames terminated by \x00.
|
||||
* Bugfix: ID3v2 LINK frames iconv error.
|
||||
* Bugfix: Padding length calculated incorrectly.
|
||||
* Bugfix: ID3v2.3 extended headers non-conformance.
|
||||
|
||||
LYRICS3 MODULE
|
||||
* Bugfix: Minor issues with lyrics3 (avoid PHP_NOTICE).
|
||||
|
||||
PNG MODULE:
|
||||
* Bugfix: Module broken in regards to gIFg and gIFx chunks.
|
||||
|
||||
MIDI MODULE
|
||||
* Bugfix: Minor issues with midi module (avoid PHP_NOTICE).
|
||||
|
||||
MP3 MODULE:
|
||||
* Bugfix: Removed whitespace after ?>
|
||||
* Bugfix: Some CBR MP3 files detected as VBR with plenty of warnings.
|
||||
* Bugfix: PHP_NOTICE issues.
|
||||
|
||||
MPC MODULE:
|
||||
¤ Mime type returned: audio/x-musepack
|
||||
|
||||
QUICKTIME MODULE:
|
||||
* Bugfix: TYPO in variable, resulting in unknown errors.
|
||||
* Bugfix: Incorrect frame rate returned.
|
||||
|
||||
REAL MODULE:
|
||||
* Bugfix: fread() zero bytes issue.
|
||||
|
||||
RIFF MODULE:
|
||||
* Bugfix: Wave files being detected as MP3.
|
||||
¤ Zero sized chunk invokes warning instead of error.
|
||||
|
||||
SHORTEN MODULE:
|
||||
* Bugfix: Not working for wav files with fmt chunks <> 16 bytes.
|
||||
|
||||
XIPH MODULE:
|
||||
» replaygain_reference_loudness from FLAC 1.1.3 moved from comments
|
||||
to ['replay_gain']['reference_volume'].
|
||||
» Supporting FLAC 1.1.3 PICTURE block.
|
||||
¤ FLAC: Removed some ['raw'] keys.
|
||||
|
||||
|
||||
2.0.0b3: [2006-06-25] Allan Hansen
|
||||
|
||||
AAC_ADTS MODULE
|
||||
* Bugfix: Static bitrate cache wrong result when parsing several files
|
||||
|
||||
ASF MODULE
|
||||
* Bugfix: Do not return NULL video bitrate for ASF v3.
|
||||
* Bugfix: ['codec'] key warning in module.audio-video.asf.php from 1.7.6,
|
||||
* Bugfix: audio & video bitrates sometimes wrong in ASF files from 1.7.6,
|
||||
¤ ASF lyrics now returned under [comments][lyrics] from 1.7.5,
|
||||
|
||||
BMP MODULE
|
||||
* Bugfix: Undocumented bugfix between 1.7.3 and 1.7.6,
|
||||
|
||||
DATA_HASH MODULE
|
||||
* Bugfix: Filenames not escaped with escapeshellarg() under UNIX.
|
||||
* Bugfix: UNIX: head and tail called with -cNNN instead of "-c NNN".
|
||||
|
||||
FLV MODULE
|
||||
» No longer reads entire file into memory.
|
||||
|
||||
ID3v1 MODULE
|
||||
¤ Put back id3v1 padding check, since it exists in 1.7.6.
|
||||
|
||||
ID3v2 MODULE
|
||||
* Bugfix: PHP notices on bad ID3v2 frames from 1.7.6.
|
||||
* Bugfix: 'url_source' typo in module.tag.id3v2.php from 1.7.3.
|
||||
¤ ID3v2 "TDRC" frame now used as "year" in comments if TYER
|
||||
unavailable (TYER is deprecated in ID3v2.4)
|
||||
¤ Bugfix: gmmktime() instead of mktime().
|
||||
|
||||
ISO MODULE
|
||||
¤ Using gmmktime() instead of mktime().
|
||||
|
||||
GZIP MODULE
|
||||
! Module is a memory hog. Reads entire file into memory. It also
|
||||
gzdeflates() it to memory. Will use lots of memory on huge files.
|
||||
Please someone rewrite it to work with filepointers and seeking.
|
||||
» info['gzip']['files'] removed. Contains redundant information only.
|
||||
» Replaced ['tar'] key with ['parsed_content']. Module can now parse
|
||||
anything that getID3() can parse - not just tar files.
|
||||
|
||||
JPEG MODULE
|
||||
* Bugfix: Error when php exif support enabled.
|
||||
|
||||
LYRICS MODULE
|
||||
¤ Comments are no longer trimmed.
|
||||
|
||||
QUICKTIME MODULE
|
||||
* Bugfix: incorrect dimensions from disabled Quicktime tracks from 1.7.6,
|
||||
¤ Added ['quicktime']['hinting'] key (boolean) from 1.7.4,
|
||||
* Bugfix: Quicktime 'mvhd' matrix values were wrong from 1.7.3,
|
||||
|
||||
MIDI MODULE
|
||||
* Bugfix: Fixed bug that reported wrong playing time on some files.
|
||||
|
||||
MP3 MODULE
|
||||
» Module fully working.
|
||||
» Memory caches are reset when scanning new file. Might make analyse
|
||||
slightly slower, but will save lots of memory.
|
||||
» Removed unrecommended bruteforce code.
|
||||
* Bugfix: Encoder options should now return proper "--alt-preset n" /
|
||||
"--alt-preset cbr n" when scanning more files.
|
||||
* Bugfix: added LAME preset guessing for presets 410,420,440,490
|
||||
(thanks adminØlogbud*com)
|
||||
|
||||
RIFF MODULE
|
||||
¤ No longer returns zero bits_per_sample for multiple formats.
|
||||
* Bugfix: Missing 'lossless' key in RIFF-WAV from 1.7.4.
|
||||
¤ Using gmmktime() instead of mktime().
|
||||
|
||||
SHORTEN MODULE
|
||||
* Bugfix: Filenames not escaped with escapeshellarg() under UNIX.
|
||||
|
||||
TAR MODULE
|
||||
» Module rewritten to work with filepointer only. Makes parsing a lot
|
||||
faster (will fseek() past data). Also saves a lot of memory, expecially
|
||||
with large files.
|
||||
» Added warning for non ASCII filenames, which breaks specification.
|
||||
» info['tar']['files'] removed. Contains redundant information only. Also
|
||||
causes problems for non ASCII tar files, as filenames are used as keys
|
||||
in PHP arrays.
|
||||
|
||||
XIPH MODULE
|
||||
* Bugfix: Error message when padding in FLAC files were used up.
|
||||
|
||||
ZIP MODULE
|
||||
¤ Using gmmktime() instead of mktime().
|
||||
|
||||
ICONV_REPLACEMENT MODULE
|
||||
* Bugfix: Major UTF-8 to UTF-16/ISO-8859-1 conversion bug (empty string
|
||||
returned) when iconv() not available - from 1.7.4.
|
||||
* Bugfix: Other major bugfixes that broke the module.
|
||||
|
||||
demo.joinmp3.php
|
||||
Demo removed - out of getID3()'s scope.
|
||||
|
||||
PDF files can now be detected, but not parsed/analyzed.
|
||||
MSOffice files can now be detected, but not parsed/analyzed.
|
||||
|
||||
|
||||
2.0.0b2: [2004-11-01] Allan Hansen
|
||||
|
||||
GENERAL
|
||||
* Bugfixes: Analyzed 3,000 files and compared result with 1.7.2 - several
|
||||
minor bugs were fixed. Output of 2.0.0 should match 1.7.2 reasonable well.
|
||||
* Bugfix: fail_id3 and fail_ape code never executed.
|
||||
Wavpack4 support
|
||||
Quicktime/MP3-in-MP4, Apple Lossless support
|
||||
» New encoding_id3v2 option/hack for broken ID3v2 tags
|
||||
¤ Tags are no longer trim()ed.
|
||||
¤ Some ['bits_per_sample'] == 0 removed
|
||||
» New option_analyze - disable to detect format only.
|
||||
» New option_accurate_results - disable to greatly speed up parsing of
|
||||
AAC/ADTS, headerless MP3/MP2 VBR, midi (later), possible more in future.
|
||||
Warnings issued when disabled and accuracy affected!
|
||||
|
||||
AAC/ADTS
|
||||
» Memory caches destroyed after analyze() to free up memory.
|
||||
|
||||
LA MODULE
|
||||
* Bugfix: RIFF tags now parsed properly
|
||||
|
||||
OPTIMFROG MODULE
|
||||
* Bugfix: RIFF tags now parsed properly
|
||||
|
||||
WAVPACK MODULE
|
||||
* Bugfix: RIFF trailer now parsed properly
|
||||
|
||||
QUICKTIME MODULE
|
||||
¤ option_extra_info determines whether atom_data is returned
|
||||
¤ Removed $ParseAllPossibleAtoms option. We should only return useful data.
|
||||
zlib support in PHP optional reqirement
|
||||
* Bugfix: New iTunes crashes PHP - temp fix - no tags on those files.
|
||||
|
||||
RIFF MODULE
|
||||
* Bugfix: Wavpack3 extra fields now parsed properly.
|
||||
¤ RIFF tags in Litewave files now parsed properly
|
||||
|
||||
BONK MODULE
|
||||
* Bugfix: ['bonk']['ID3']['valid'] now returns bool instead of object
|
||||
|
||||
NSV MODULE
|
||||
* Bugfix: PCM part ignored
|
||||
|
||||
APETAG MODULE
|
||||
* Bugfix: APEtag 1.0 broken
|
||||
|
||||
ASF MODULE
|
||||
¤ Embedded ID3v2 tags processes again - supported by Windows Media Player.
|
||||
|
||||
DEMOS
|
||||
» demo.browse.php scans directories faster with inaccurate results.
|
||||
» demo.browse.php now uses javascript alert to show longer warnings etc
|
||||
instead of tool tips.
|
||||
» demo.browse.php now shows embedded covers just like the 1.7.x demo.
|
||||
» demo.browse.dhtml.php - DHTML version of the browser. Has progressive
|
||||
display in MSIE - but quite slow when scanning LOTS of files.
|
||||
» New demo.mime_only.php for returning mime type only.
|
||||
» Search example in demo.mysql.php
|
||||
|
||||
|
||||
2.0.0b1: [2004-08-23] Allan Hansen
|
||||
|
||||
» Major memory savings. 1.7.1 use 25% more memory under PHP 5.0.0 than
|
||||
PHP 4.3.7. 2.0.0b1 memory usage is comparable to 1.7.1 under PHP 4.3.7.
|
||||
See Memory.xls for details (will not be included in 2.0.0 final).
|
||||
Loading all modules requires 4,277 kb of memory (4,171 with iconv()
|
||||
support in PHP. Some of the modules require more memory while scanning,
|
||||
as they cache the results - MP3 and AAC/ADTS in particular.
|
||||
|
||||
» New internal testing method. Output of 2.0.0 matches that of 1.7.1
|
||||
exactly - except those places where we deliberately changed something.
|
||||
If something is changed it is because we did not have a test file
|
||||
to show it.
|
||||
|
||||
» New extras directory.
|
||||
This contains multiple usefull code snips that really does not
|
||||
belong to the main getID3() codebase - i.e. stuff that the user most
|
||||
likely can/will do differently.
|
||||
|
||||
» Deleted getid3_lib.php
|
||||
- Some common functions moved to getid3.php - getid3_lib declared
|
||||
there.
|
||||
- Replaygain function moved to getid3.php - new class
|
||||
geti3_replaygain.
|
||||
- iconv() replacement function moved to new lib module.
|
||||
- md5/sha1 data hash function moved to new lib module.
|
||||
- Some function moved to the files that use them.
|
||||
- CopyTagsToComments() moved to extras dir.
|
||||
- EmbeddedLookup() gone - PHP5 use way more memory that way.
|
||||
|
||||
» magic_quotes_runtime must be disabled before running getID3().
|
||||
If you use them, use set_magic_quotes_runtime(0) and
|
||||
set_magic_quotes_runtime(1) around your getID3() block.
|
||||
Older versions turned them on and off automatically. This would
|
||||
require a lot extra code, since they needed being restored before
|
||||
every first level throw.
|
||||
|
||||
* Bugfix: Fixed multiple bugs in the caching extentions .
|
||||
|
||||
Optimized most modules using new getid3_ReadSequence()
|
||||
|
||||
Checked all(most) code using error_reporting (E_STRICT | E_ALL)
|
||||
|
||||
¤ Removed all dead modules: EXE, RAR, Bink, Matroska, MOD*.
|
||||
¤ Kept magic bytes - getid3 will detect them and do nothing and return
|
||||
warning instead of error.
|
||||
|
||||
¤ Disabled quicktime and mpeg modules as they depend on mp3-
|
||||
|
||||
Reformatted and updated dependencies.txt
|
||||
|
||||
|
||||
GETID3 MAIN
|
||||
¤ getid3 option_tags_html now defaults to false.
|
||||
¤ getid3 option_max_2gb_check now defaults to false.
|
||||
¤ New getid3 option_tags_images defaults to false. Scan tags for binary
|
||||
image data - ID3v2 and vorbiscomments only. Possible apetag later.
|
||||
|
||||
|
||||
JPEG MODULE
|
||||
¤ Renamed module from jpg to jpeg.
|
||||
¤ Changed mime type to correct image/jpeg.
|
||||
¤ Added optional exif depency to depencies.txt for jpeg files.
|
||||
|
||||
|
||||
PNG MODULE
|
||||
¤ Made png zlib dependecy optional.
|
||||
|
||||
|
||||
BMP MODULE
|
||||
» Removed unused and unneeded PlotBMP() in bmp module.
|
||||
Removed extract_palette and extract_data code
|
||||
- This does not belong in getid3. We should analyze files, not process
|
||||
them. If the user wants to display bmp files to the browser she can
|
||||
convert them with ImageMagick or something similar. She will
|
||||
probably have it installed already to resize user uploaded images.
|
||||
|
||||
|
||||
PCD MODULE
|
||||
» Removed $ExtractData from pcd module - same reason as BMP.
|
||||
|
||||
|
||||
SWF MODULE
|
||||
¤ Added zlib dependecy REQUIRED for swf.
|
||||
|
||||
|
||||
ID3v1 MODULE
|
||||
¤ Removed id3v1 padding check - who cares?
|
||||
- also removed in lyrics3 - if needed - it needs to be done differently
|
||||
- no access to warnings and no sorting!
|
||||
|
||||
|
||||
ID3v2 MODULE
|
||||
¤ Made id3v2 zlib dependecy optional.
|
||||
¤ id3v2 - images - changed 'image_mime' to actual mime type.
|
||||
|
||||
|
||||
AAC MODULE(s)
|
||||
» Split aac module in two - aac_adif and aac_adts.
|
||||
This saves memory if user only have files of one type (very likely).
|
||||
Replaced getid3_lib::Bin2Dec() with bindec() in aac modules - speed.
|
||||
|
||||
|
||||
AC3 MODULE
|
||||
Added ac3 optional dependency to dependencies.txt.
|
||||
¤ Changed riff module dependency on mp3 to optional.
|
||||
Changed wawpack references in riff module to wavpack3.
|
||||
* Bugfix: RIFFparseWavPackHeader() needs 28 bytes, not 22.
|
||||
|
||||
|
||||
ASF MODULE
|
||||
» Removed id3v1 dependency
|
||||
» Removed id3v2 dependency
|
||||
¤ ASF genres are no longer case adjustet to match standard ID3v1 ones.
|
||||
¤ Embedded ID3v2 tags no longer processes. Not part of the ASF spec.
|
||||
¤ Changed warning at line 71 to error.
|
||||
» Removed a lot of unneeded conversions between Bytestring and GUID
|
||||
» Changed the constants from bytestring to GUID
|
||||
* Bugfix: Fixed incorrect warning messages on
|
||||
{4B1ACBE3-100B-11D0-A39B-00A0C90348F6}
|
||||
{4CFEDB20-75F6-11CF-9C0F-00A0C90349CB}
|
||||
¤ Removed objectid, fileid, reserved_1_id and reserved where 'same'_guid
|
||||
exists.
|
||||
|
||||
|
||||
MP3 MODULE
|
||||
¤ MARKED MP3 MODULE BROKEN
|
||||
Removed echoerrors debugcode in mp3 module.
|
||||
Removed bruteforce code in mp3 module - never executed in 1.7.
|
||||
Removed $scan_as_cbr - not used.
|
||||
|
||||
|
||||
MPC MODULE(s)
|
||||
» Split mpc module in two - SV7 in "mpc" and SV4-6 in mpc_old.
|
||||
This saves memory if user only have files of one type (very likely).
|
||||
|
||||
|
||||
OGG, FLAC MODULES
|
||||
» Merged interdependant modules ogg and flac into new module xiph.
|
||||
¤ Updated FLACapplicationIDLookup() with 2 new entries.
|
||||
|
||||
|
||||
REAL MODULE
|
||||
¤ Removed 'unknown' keys.
|
||||
|
||||
|
||||
SHORTEN MODULE
|
||||
» Improved UNIX shorten binary detection. Scanning `which shorten`,
|
||||
/usr/bin, /usr/local/bin and checking is_executable()
|
||||
|
||||
|
||||
ISO MODULE
|
||||
¤ Removed unused_ indexes in iso modules - they are afterall not used.
|
||||
|
||||
|
||||
DEMOS
|
||||
» Created new index.php in demos/ explaining what the different demos
|
||||
does.
|
||||
|
||||
» Rewrote demo.browse.php completely.
|
||||
- Using public domain HTML abstraction library by Allan Hansen.
|
||||
- Removed security breach - able to browse any parent directory .
|
||||
- A $root_path must be set before browsing.
|
||||
- Screen width option.
|
||||
- Compressed filename column using title=.
|
||||
- Removed filesize column - not really that interesting.
|
||||
- Removed md5data column.
|
||||
- Removed total at the bottom - the user can probably figure out
|
||||
how to implement this himself.
|
||||
- Added Audio column: sample_rate/bits_per_sample/channels columns.
|
||||
- Added scan_time columns - how long it took getid3 to process the
|
||||
file.
|
||||
- Compressed artist, title and warning column using tool_tips.
|
||||
- Removed delete feature - possible security risk.
|
||||
- Repeating file header every 20 rows.
|
||||
- Added audio format/video format to format column.
|
||||
- Listing supported php modules in footer.
|
||||
- New colour scheme.
|
||||
|
||||
» Rewrote demo.mysql.php completely.
|
||||
- Using multiple tables instead of just one. No string is stored
|
||||
twice. Searching tags should be a lot faster for large databases.
|
||||
- Multiple artists, titles, genres, etc per file supported.
|
||||
- Using public domain HTML abstraction library by Allan Hansen.
|
||||
- Using public domain MySQL abstraction library by Allan Hansen.
|
||||
- Scanning limited to $audio_path - security.
|
||||
- Included sample data that can be imported and browsed.
|
||||
|
||||
» Rewrote demo.basic.php
|
||||
» Removed demo.simple.php - basic should be enough
|
||||
|
||||
» Removed demo.joinmp3.php - this advanced demo should go in the extras
|
||||
module IF/WHEN the mp3 module is running again.
|
||||
|
||||
¤ Updated demo.audioinfo.class - minor changes.
|
||||
|
||||
|
||||
MISC CODING SPECIFIC
|
||||
Partial new coding style - some is easily changed with Replace In Files
|
||||
- New file header - PEAR compatible
|
||||
- Indentation with four spaces instead of tab - PEAR compatible
|
||||
- array() changed to as array () - as suggested by PEAR standard
|
||||
- All(most) function names in MixedCase
|
||||
- Variables in $my_variable lowercase/underscores
|
||||
- (bool) $var changed to (bool)$var
|
||||
- A few "} else {" changed to "else {" to make room for easier
|
||||
readable comments
|
||||
|
||||
Removed all DivByZero checks. The plan was to catch them, but php
|
||||
errors and warnings are not exceptions... Something needs to be
|
||||
done here.
|
||||
|
79
modules/getid3/docs/dependencies.txt
Normal file
79
modules/getid3/docs/dependencies.txt
Normal file
|
@ -0,0 +1,79 @@
|
|||
// +----------------------------------------------------------------------+
|
||||
// | PHP version 5 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 2002-2006 James Heinrich, Allan Hansen |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 2 of the GPL license, |
|
||||
// | that is bundled with this package in the file license.txt and is |
|
||||
// | available through the world-wide-web at the following url: |
|
||||
// | http://www.gnu.org/copyleft/gpl.html |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | getID3() - http://getid3.sourceforge.net or http://www.getid3.org |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: James Heinrich <infoØgetid3*org> |
|
||||
// | Allan Hansen <ahØartemis*dk> |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Dependencies |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: dependencies.txt,v 1.9 2006/11/16 22:39:59 ah Exp $
|
||||
|
||||
|
||||
|
||||
READER MODULES:
|
||||
|
||||
asf riff module required
|
||||
|
||||
bonk id3v2 module optional
|
||||
|
||||
id3v2 id3v1 module required
|
||||
zlib php support optional
|
||||
|
||||
gzip zlib php support optional
|
||||
|
||||
jpeg exif php support optional
|
||||
|
||||
la riff module required
|
||||
|
||||
lpac riff module required
|
||||
|
||||
lyrics3 apetag module optional
|
||||
|
||||
mpeg mp3 module required
|
||||
|
||||
optimfrog riff module required
|
||||
|
||||
png zlib php support optional
|
||||
|
||||
quicktime mp3 module required
|
||||
zlib php support optional
|
||||
|
||||
riff mp3 module optional
|
||||
ac3 module optional
|
||||
dts module optional
|
||||
mpeg module optional
|
||||
|
||||
shn shorten binary (shorten.exe on windows) required
|
||||
|
||||
swf zlib php support required
|
||||
|
||||
wavpack riff module required
|
||||
|
||||
xiph vorbiscomment binary (vorbiscomment.exe on windows) for md5/sha1 data hashes on ogg vorbis files.
|
||||
|
||||
|
||||
|
||||
WRITER MODULES:
|
||||
|
||||
apetag apetag (reader) module required
|
||||
id3v1 (reader) module required
|
||||
lyrics3 (reader) module required
|
||||
|
||||
id3v1 id3v1(reader) module required
|
||||
|
||||
lyrics3 lyrics3 (reader) module required
|
||||
id3v1 (reader) module required
|
||||
|
||||
flac metaflac binary
|
||||
|
||||
vorbis vorbiscomment binary
|
27
modules/getid3/docs/license.commercial.txt
Normal file
27
modules/getid3/docs/license.commercial.txt
Normal file
|
@ -0,0 +1,27 @@
|
|||
getID3() Commercial License
|
||||
===========================
|
||||
|
||||
getID3() is licensed under the "GNU Public License" (GPL) and/or the
|
||||
"getID3() Commercial License" (gCL). This document describes the gCL.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
|
||||
The license is non-exclusively granted to a single person or company,
|
||||
per payment of the license fee, for the lifetime of that person or
|
||||
company. The license is non-transferrable.
|
||||
|
||||
The gCL grants the licensee the right to use getID3() in commercial
|
||||
closed-source projects. Modifications may be made to getID3() with no
|
||||
obligation to release the modified source code. getID3() (or pieces
|
||||
thereof) may be included in any number of projects authored (in whole
|
||||
or in part) by the licensee.
|
||||
|
||||
The licensee may use any version of getID3(), past, present or future,
|
||||
as is most convenient. This license does not entitle the licensee to
|
||||
receive any technical support, updates or bugfixes, except as such are
|
||||
made publicly available to all getID3() users.
|
||||
|
||||
The licensee may not sub-license getID3() itself, meaning that any
|
||||
commercially released product containing all or parts of getID3() must
|
||||
have added functionality beyond what is available in getID3();
|
||||
getID3() itself may not be re-licensed by the licensee.
|
340
modules/getid3/docs/license.txt
Normal file
340
modules/getid3/docs/license.txt
Normal file
|
@ -0,0 +1,340 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Library General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Library General
|
||||
Public License instead of this License.
|
537
modules/getid3/docs/readme.txt
Normal file
537
modules/getid3/docs/readme.txt
Normal file
|
@ -0,0 +1,537 @@
|
|||
// +----------------------------------------------------------------------+
|
||||
// | PHP version 5 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 2002-2006 James Heinrich, Allan Hansen |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 2 of the GPL license, |
|
||||
// | that is bundled with this package in the file license.txt and is |
|
||||
// | available through the world-wide-web at the following url: |
|
||||
// | http://www.gnu.org/copyleft/gpl.html |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | getID3() - http://getid3.sourceforge.net or http://www.getid3.org |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: James Heinrich <infoØgetid3*org> |
|
||||
// | Allan Hansen <ahØartemis*dk> |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Dependencies |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: readme.txt,v 1.6 2006/12/03 19:46:04 ah Exp $
|
||||
|
||||
This code is released under the GNU GPL:
|
||||
http://www.gnu.org/copyleft/gpl.html
|
||||
|
||||
+---------------------------------------------+
|
||||
| If you do use this code somewhere, send me |
|
||||
| an email and tell me how/where you used it. |
|
||||
| |
|
||||
| If you want to donate, there is a link on |
|
||||
| http://www.getid3.org for PayPal donations. |
|
||||
+---------------------------------------------+
|
||||
|
||||
|
||||
|
||||
Quick Start
|
||||
===========================================================================
|
||||
|
||||
Q: How can I check that getID3() works on my server/files?
|
||||
A: Unzip getID3() to a directory, then access /demos/demo.browse.php
|
||||
|
||||
|
||||
|
||||
Sourceforge Notification
|
||||
===========================================================================
|
||||
|
||||
It's highly recommended that you sign up for notification from
|
||||
Sourceforge for when new versions are released. Please visit:
|
||||
http://sourceforge.net/project/showfiles.php?group_id=55859
|
||||
and click the little "monitor package" icon/link. If you're
|
||||
previously signed up for the mailing list, be aware that it has
|
||||
been discontinued, only the automated Sourceforge notification
|
||||
will be used from now on.
|
||||
|
||||
|
||||
|
||||
What does getID3() do?
|
||||
===========================================================================
|
||||
|
||||
Reads & parses (to varying degrees):
|
||||
¤ tags:
|
||||
* APE (v1 and v2)
|
||||
* ID3v1 (& ID3v1.1)
|
||||
* ID3v2 (v2.4, v2.3, v2.2)
|
||||
* Lyrics3 (v1 & v2)
|
||||
|
||||
¤ audio-lossy:
|
||||
* MP3/MP2/MP1
|
||||
* MPC / Musepack
|
||||
* Ogg (Vorbis, OggFLAC, Speex)
|
||||
* RealAudio
|
||||
* Speex
|
||||
* VQF
|
||||
|
||||
¤ audio-lossless:
|
||||
* AIFF
|
||||
* AU
|
||||
* Bonk
|
||||
* CD-audio (*.cda)
|
||||
* FLAC
|
||||
* LA (Lossless Audio)
|
||||
* LPAC
|
||||
* MIDI
|
||||
* Monkey's Audio
|
||||
* OptimFROG
|
||||
* RKAU
|
||||
* VOC
|
||||
* WAV (RIFF)
|
||||
* WavPack
|
||||
|
||||
¤ audio-video:
|
||||
* ASF: ASF, Windows Media Audio (WMA), Windows Media Video (WMV)
|
||||
* AVI (RIFF)
|
||||
* Flash
|
||||
* MPEG-1 / MPEG-2
|
||||
* NSV (Nullsoft Streaming Video)
|
||||
* Quicktime
|
||||
* RealVideo
|
||||
|
||||
¤ still image:
|
||||
* BMP
|
||||
* GIF
|
||||
* JPEG
|
||||
* PNG
|
||||
|
||||
¤ data:
|
||||
* ISO-9660 CD-ROM image (directory structure)
|
||||
* SZIP (limited support)
|
||||
* ZIP (directory structure)
|
||||
|
||||
|
||||
Writes:
|
||||
* ID3v1 (& ID3v1.1)
|
||||
* ID3v2 (v2.3 & v2.4)
|
||||
* VorbisComment on OggVorbis
|
||||
* VorbisComment on FLAC (not OggFLAC)
|
||||
* APE v2
|
||||
* Lyrics3 (delete only)
|
||||
|
||||
|
||||
|
||||
Requirements
|
||||
===========================================================================
|
||||
|
||||
* PHP 4.2.0 (or higher) for getID3() 1.7.8 (and up).
|
||||
* PHP 5.0.0 (or higher) for getID3() 2.0.0 (and up).
|
||||
* at least 4MB memory for PHP. 8MB is highly recommended.
|
||||
12MB is required with all modules loaded.
|
||||
|
||||
|
||||
|
||||
Usage
|
||||
===========================================================================
|
||||
|
||||
See /demos/demo.basic.php for a very basic use of getID3() with no
|
||||
fancy output, just scanning one file.
|
||||
|
||||
See structure.txt for the returned data structure.
|
||||
|
||||
*> For an example of a complete directory-browsing, <*
|
||||
*> file-scanning implementation of getID3(), please run <*
|
||||
*> /demos/demo.browse.php <*
|
||||
|
||||
See /demos/demo.mysql.php for a sample recursive scanning code that
|
||||
scans every file in a given directory, and all sub-directories, stores
|
||||
the results in a database and allows various analysis / maintenance
|
||||
operations
|
||||
|
||||
To analyze remote files over HTTP or FTP you need to copy the file
|
||||
locally first before running getID3(). Your code would look something
|
||||
like this:
|
||||
|
||||
// Copy remote file locally to scan with getID3()
|
||||
$remotefilename = 'http://www.example.com/filename.mp3';
|
||||
if ($fp_remote = fopen($remotefilename, 'rb')) {
|
||||
$localtempfilename = tempnam('/tmp', 'getID3');
|
||||
if ($fp_local = fopen($localtempfilename, 'wb')) {
|
||||
while ($buffer = fread($fp_remote, 8192)) {
|
||||
fwrite($fp_local, $buffer);
|
||||
}
|
||||
fclose($fp_local);
|
||||
|
||||
// Initialize getID3 engine
|
||||
$getID3 = new getID3;
|
||||
|
||||
$ThisFileInfo = $getID3->analyze($filename);
|
||||
|
||||
// Delete temporary file
|
||||
unlink($localtempfilename);
|
||||
}
|
||||
fclose($fp_remote);
|
||||
}
|
||||
|
||||
|
||||
See /demos/demo.write.php for how to write tags.
|
||||
|
||||
|
||||
|
||||
What does the returned data structure look like?
|
||||
===========================================================================
|
||||
|
||||
See structure.txt
|
||||
|
||||
It is recommended that you look at the output of
|
||||
/demos/demo.browse.php scanning the file(s) you're interested in to
|
||||
confirm what data is actually returned for any particular filetype in
|
||||
general, and your files in particular, as the actual data returned
|
||||
may vary considerably depending on what information is available in
|
||||
the file itself.
|
||||
|
||||
|
||||
|
||||
Notes
|
||||
===========================================================================
|
||||
|
||||
getID3() 1.7:
|
||||
If the format parser encounters a critical problem, it will return
|
||||
something in $fileinfo['error'], describing the encountered error. If
|
||||
a less critical error or notice is generated it will appear in
|
||||
$fileinfo['warning']. Both keys may contain more than one warning or
|
||||
error. If something is returned in ['error'] then the file was not
|
||||
correctly parsed and returned data may or may not be correct and/or
|
||||
complete. If something is returned in ['warning'] (and not ['error'])
|
||||
then the data that is returned is OK - usually getID3() is reporting
|
||||
errors in the file that have been worked around due to known bugs in
|
||||
other programs. Some warnings may indicate that the data that is
|
||||
returned is OK but that some data could not be extracted due to
|
||||
errors in the file.
|
||||
|
||||
getID3() 2.0:
|
||||
See above except errors are thrown (so you will only get one error).
|
||||
|
||||
|
||||
|
||||
Disclaimer
|
||||
===========================================================================
|
||||
|
||||
getID3() has been tested on many systems, on many types of files,
|
||||
under many operating systems, and is generally believe to be stable
|
||||
and safe. That being said, there is still the chance there is an
|
||||
undiscovered and/or unfixed bug that may potentially corrupt your
|
||||
file, especially within the writing functions. By using getID3() you
|
||||
agree that it's not my fault if any of your files are corrupted.
|
||||
In fact, I'm not liable for anything :)
|
||||
|
||||
|
||||
|
||||
License
|
||||
===========================================================================
|
||||
|
||||
GNU General Public License - see license.txt
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to:
|
||||
Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330
|
||||
Boston, MA 02111-1307, USA.
|
||||
|
||||
FAQ:
|
||||
Q: Can I use getID3() in my program? Do I need a commercial license?
|
||||
A: You're generally free to use getID3 however you see fit. The only
|
||||
case in which you would require a commercial license is if you're
|
||||
selling your closed-source program that integrates getID3. If you
|
||||
sell your program including a copy of getID3, that's fine as long
|
||||
as you include a copy of the sourcecode when you sell it. Or you
|
||||
can distribute your code without getID3 and say "download it from
|
||||
getid3.sourceforge.net"
|
||||
|
||||
|
||||
|
||||
Future Plans
|
||||
===========================================================================
|
||||
|
||||
* Writing support for Real
|
||||
* Better support for MP4 container format
|
||||
* Support for Matroska (www.matroska.org)
|
||||
http://corecodec.com/modules.php?op=modload&name=PNphpBB2&file=viewtopic&t=227
|
||||
* Scan for appended ID3v2 tag at end of file per ID3v2.4 specs (Section 5.0)
|
||||
* Support for JPEG-2000 (http://www.morgan-multimedia.com/jpeg2000_overview.htm)
|
||||
* Support for MOD (mod/stm/s3m/it/xm/mtm/ult/669)
|
||||
* Support for ACE (thanks Vince)
|
||||
* Support for Ogg other than Vorbis, Speex and OggFlac (ie. Ogg+Xvid)
|
||||
* Ability to create Xing/LAME VBR header for VBR MP3s that are missing VBR header
|
||||
* Ability to "clean" ID3v2 padding (replace invalid padding with valid padding)
|
||||
* Warn if MP3s change version mid-stream (in full-scan mode)
|
||||
* check for corrupt/broken mid-file MP3 streams in histogram scan
|
||||
* Support for lossless-compression formats
|
||||
(http://www.firstpr.com.au/audiocomp/lossless/#Links)
|
||||
(http://compression.ca/act-sound.html)
|
||||
(http://web.inter.nl.net/users/hvdh/lossless/lossless.htm)
|
||||
* Support for RIFF-INFO chunks
|
||||
* http://lotto.st-andrews.ac.uk/~njh/tag_interchange.html
|
||||
(thanks Nick Humfrey <njhØsurgeradio*co*uk>)
|
||||
* http://abcavi.narod.ru/sof/abcavi/infotags.htm
|
||||
(thanks Kibi)
|
||||
* Better support for Bink video
|
||||
* http://www.hr/josip/DSP/AudioFile2.html
|
||||
* http://www.pcisys.net/~melanson/codecs/
|
||||
* Detect mp3PRO
|
||||
* Support for PSD
|
||||
* Support for JPC
|
||||
* Support for JP2
|
||||
* Support for JPX
|
||||
* Support for JB2
|
||||
* Support for IFF
|
||||
* Support for ICO
|
||||
* Support for ANI
|
||||
* Support for EXE (comments, author, etc) (thanks p*quaedackersØplanet*nl)
|
||||
* Support for DVD-IFO (region, subtitles, aspect ratio, etc)
|
||||
(thanks p*quaedackersØplanet*nl)
|
||||
* More complete support for SWF - parsing encapsulated MP3 and/or JPEG content
|
||||
(thanks n8n8Øyahoo*com)
|
||||
* Support for a2b
|
||||
* Optional scan-through-frames for AVI verification
|
||||
(thanks rockcohenØmassive-interactive*nl)
|
||||
* Support for TTF (thanks infoØbutterflyx*com)
|
||||
* Support for DSS (http://www.getid3.org/phpBB2/viewtopic.php?t=171)
|
||||
* Support for SMAF (http://smaf-yamaha.com/what/demo.html)
|
||||
http://www.getid3.org/phpBB2/viewtopic.php?t=182
|
||||
* Support for AMR (http://www.getid3.org/phpBB2/viewtopic.php?t=195)
|
||||
* Support for 3gpp (http://www.getid3.org/phpBB2/viewtopic.php?t=195)
|
||||
* Support for ID4 (http://www.wackysoft.cjb.net grizlyY2KØhotmail*com)
|
||||
* Parse XML data returned in Ogg comments
|
||||
* Parse XML data from Quicktime SMIL metafiles (klausrathØmac*com)
|
||||
* ID3v2 genre string creator function
|
||||
* More complete parsing of JPG
|
||||
* Support for all old-style ASF packets
|
||||
* ASF/WMA/WMV tag writing
|
||||
* Parse declared T??? ID3v2 text information frames, where appropriate
|
||||
(thanks Christian Fritz for the idea)
|
||||
* Recognize encoder:
|
||||
http://www.guerillasoft.com/EncSpot2/index.html
|
||||
http://ff123.net/identify.html
|
||||
http://www.hydrogenaudio.org/?act=ST&f=16&t=9414
|
||||
http://www.hydrogenaudio.org/?showtopic=11785
|
||||
* Support for other OS/2 bitmap structures: Bitmap Array('BA'),
|
||||
Color Icon('CI'), Color Pointer('CP'), Icon('IC'), Pointer ('PT')
|
||||
http://netghost.narod.ru/gff/graphics/summary/os2bmp.htm
|
||||
* Support for WavPack RAW mode
|
||||
* ASF/WMA/WMV data packet parsing
|
||||
* ID3v2FrameFlagsLookupTagAlter()
|
||||
* ID3v2FrameFlagsLookupFileAlter()
|
||||
* obey ID3v2 tag alter/preserve/discard rules
|
||||
* http://www.geocities.com/SiliconValley/Sector/9654/Softdoc/Illyrium/Aolyr.htm
|
||||
* proper checking for LINK/LNK frame validity in ID3v2 writing
|
||||
* proper checking for ASPI-TLEN frame validity in ID3v2 writing
|
||||
* proper checking for COMR frame validity in ID3v2 writing
|
||||
* http://www.geocities.co.jp/SiliconValley-Oakland/3664/index.html
|
||||
* decode GEOB ID3v2 structure as encoded by RealJukebox,
|
||||
decode NCON ID3v2 structure as encoded by MusicMatch
|
||||
(probably won't happen - the formats are proprietary)
|
||||
|
||||
|
||||
|
||||
Known Bugs/Issues in getID3() that may be fixed eventually
|
||||
===========================================================================
|
||||
|
||||
* Cannot determine bitrate for MPEG video with VBR video data
|
||||
(need documentation)
|
||||
* Interlace/progressive cannot be determined for MPEG video
|
||||
(need documentation)
|
||||
* MIDI playtime is sometimes inaccurate
|
||||
* AAC-RAW mode files cannot be identified
|
||||
* WavPack-RAW mode files cannot be identified
|
||||
* mp4 files report lots of "Unknown QuickTime atom type"
|
||||
(need documentation)
|
||||
* Encrypted ASF/WMA/WMV files warn about "unhandled GUID
|
||||
ASF_Content_Encryption_Object"
|
||||
* Bitrate split between audio and video cannot be calculated for
|
||||
NSV, only the total bitrate. (need documentation)
|
||||
* All Ogg formats (Vorbis, OggFLAC, Speex) are affected by the
|
||||
problem of large VorbisComments spanning multiple Ogg pages, but
|
||||
but only OggVorbis files can be processed with vorbiscomment.
|
||||
* The version of "head" supplied with Mac OS 10.2.8 (maybe other
|
||||
versions too) does only understands a single option (-n) and
|
||||
therefore fails. getID3 ignores this and returns wrong md5_data.
|
||||
|
||||
|
||||
|
||||
Known Bugs/Issues in getID3() that cannot be fixed
|
||||
--------------------------------------------------
|
||||
|
||||
* Files larger than 2GB (of any format) cannot be parsed by
|
||||
getID3() due to limitations in the PHP filesystem functions
|
||||
|
||||
|
||||
|
||||
Known Bugs/Issues in other programs
|
||||
-----------------------------------
|
||||
|
||||
* Winamp (up to v2.80 at least) does not support ID3v2.4 tags,
|
||||
only ID3v2.3
|
||||
see: http://forums.winamp.com/showthread.php?postid=387524
|
||||
* Some versions of Helium2 (www.helium2.com) do not write
|
||||
ID3v2.4-compliant Frame Sizes, even though the tag is marked
|
||||
as ID3v2.4) (detected by getID3())
|
||||
* MP3ext V3.3.17 places a non-compliant padding string at the end
|
||||
of the ID3v2 header. This is supposedly fixed in v3.4b21 but
|
||||
only if you manually add a registry key. This fix is not yet
|
||||
confirmed. (detected by getID3())
|
||||
* CDex v1.40 (fixed by v1.50b7) writes non-compliant Ogg comment
|
||||
strings, supposed to be in the format "NAME=value" but actually
|
||||
written just "value" (detected by getID3())
|
||||
* Oggenc 0.9-rc3 flags the encoded file as ABR whether it's
|
||||
actually ABR or VBR.
|
||||
* iTunes (versions "X v2.0.3", "v3.0.1" are known-guilty, probably
|
||||
other versions are too) writes ID3v2.3 comment tags using a
|
||||
frame name 'COM ' which is not valid for ID3v2.3+ (it's an
|
||||
ID3v2.2-style frame name) (detected by getID3())
|
||||
* MP2enc does not encode mono CBR MP2 files properly (half speed
|
||||
sound and double playtime)
|
||||
* MP2enc does not encode mono VBR MP2 files properly (actually
|
||||
encoded as stereo)
|
||||
* tooLAME does not encode mono VBR MP2 files properly (actually
|
||||
encoded as stereo)
|
||||
* AACenc encodes files in VBR mode (actually ABR) even if CBR is
|
||||
specified
|
||||
* AAC/ADIF - bitrate_mode = cbr for vbr files
|
||||
* LAME 3.90-3.92 prepends one frame of null data (space for the
|
||||
LAME/VBR header, but it never gets written) when encoding in CBR
|
||||
mode with the DLL
|
||||
* Ahead Nero encodes TwinVQF with a DSIZ value (which is supposed
|
||||
to be the filesize in bytes) of "0" for TwinVQF v1.0 and "1" for
|
||||
TwinVQF v2.0 (detected by getID3())
|
||||
* Ahead Nero encodes TwinVQF files 1 second shorter than they
|
||||
should be
|
||||
* AAC-ADTS files are always actually encoded VBR, even if CBR mode
|
||||
is specified (the CBR-mode switches on the encoder enable ABR
|
||||
mode, not CBR as such, but it's not possible to tell the
|
||||
difference between such ABR files and true VBR)
|
||||
* STREAMINFO.audio_signature in OggFLAC is always null. "The reason
|
||||
it's like that is because there is no seeking support in
|
||||
libOggFLAC yet, so it has no way to go back and write the
|
||||
computed sum after encoding. Seeking support in Ogg FLAC is the
|
||||
#1 item for the next release." - Josh Coalson (FLAC developer)
|
||||
NOTE: getID3() will calculate md5_data in a method similar to
|
||||
other file formats, but that value cannot be compared to the
|
||||
md5_data value from FLAC data in a FLAC file format.
|
||||
* STREAMINFO.audio_signature is not calculated in FLAC v0.3.0 &
|
||||
v0.4.0 - getID3() will calculate md5_data in a method similar to
|
||||
other file formats, but that value cannot be compared to the
|
||||
md5_data value from FLAC v0.5.0+
|
||||
* RioPort (various versions including 2.0 and 3.11) tags ID3v2 with
|
||||
a WCOM frame that has no data portion
|
||||
* Earlier versions of Coolplayer adds illegal ID3 tags to Ogg Vorbis
|
||||
files, thus making them corrupt.
|
||||
* Meracl ID3 Tag Writer v1.3.4 (and older) incorrectly truncates the
|
||||
last byte of data from an MP3 file when appending a new ID3v1 tag.
|
||||
(detected by getID3())
|
||||
* Lossless-Audio files encoded with and without the -noseek switch
|
||||
do actually differ internally and therefore cannot match md5_data
|
||||
* iTunes has been known to append a new ID3v1 tag on the end of an
|
||||
existing ID3v1 tag when ID3v2 tag is also present
|
||||
(detected by getID3())
|
||||
|
||||
|
||||
|
||||
|
||||
Reference material:
|
||||
===========================================================================
|
||||
|
||||
[www.id3.org material now mirrored at http://id3lib.sourceforge.net/id3/]
|
||||
* http://www.id3.org/id3v2.4.0-structure.txt
|
||||
* http://www.id3.org/id3v2.4.0-frames.txt
|
||||
* http://www.id3.org/id3v2.4.0-changes.txt
|
||||
* http://www.id3.org/id3v2.3.0.txt
|
||||
* http://www.id3.org/id3v2-00.txt
|
||||
* http://www.id3.org/mp3frame.html
|
||||
* http://minnie.tuhs.org/pipermail/mp3encoder/2001-January/001800.html <mathewhendry@hotmail.com>
|
||||
* http://www.dv.co.yu/mpgscript/mpeghdr.htm
|
||||
* http://www.mp3-tech.org/programmer/frame_header.html
|
||||
* http://users.belgacom.net/gc247244/extra/tag.html
|
||||
* http://gabriel.mp3-tech.org/mp3infotag.html
|
||||
* http://www.id3.org/iso4217.html
|
||||
* http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT
|
||||
* http://www.xiph.org/ogg/vorbis/doc/framing.html
|
||||
* http://www.xiph.org/ogg/vorbis/doc/v-comment.html
|
||||
* http://leknor.com/code/php/class.ogg.php.txt
|
||||
* http://www.id3.org/iso639-2.html
|
||||
* http://www.id3.org/lyrics3.html
|
||||
* http://www.id3.org/lyrics3200.html
|
||||
* http://www.psc.edu/general/software/packages/ieee/ieee.html
|
||||
* http://www.scri.fsu.edu/~jac/MAD3401/Backgrnd/ieee-expl.html
|
||||
* http://www.scri.fsu.edu/~jac/MAD3401/Backgrnd/binary.html
|
||||
* http://www.jmcgowan.com/avi.html
|
||||
* http://www.wotsit.org/
|
||||
* http://www.herdsoft.com/ti/davincie/davp3xo2.htm
|
||||
* http://www.mathdogs.com/vorbis-illuminated/bitstream-appendix.html
|
||||
* "Standard MIDI File Format" by Dustin Caldwell (from www.wotsit.org)
|
||||
* http://midistudio.com/Help/GMSpecs_Patches.htm
|
||||
* http://www.xiph.org/archives/vorbis/200109/0459.html
|
||||
* http://www.replaygain.org/
|
||||
* http://www.lossless-audio.com/
|
||||
* http://download.microsoft.com/download/winmediatech40/Doc/1.0/WIN98MeXP/EN-US/ASF_Specification_v.1.0.exe
|
||||
* http://mediaxw.sourceforge.net/files/doc/Active%20Streaming%20Format%20(ASF)%201.0%20Specification.pdf
|
||||
* http://www.uni-jena.de/~pfk/mpp/sv8/
|
||||
* http://jfaul.de/atl/
|
||||
* http://www.uni-jena.de/~pfk/mpp/
|
||||
* http://www.libpng.org/pub/png/spec/png-1.2-pdg.html
|
||||
* http://www.real.com/devzone/library/creating/rmsdk/doc/rmff.htm
|
||||
* http://www.fastgraph.com/help/bmp_os2_header_format.html
|
||||
* http://netghost.narod.ru/gff/graphics/summary/os2bmp.htm
|
||||
* http://flac.sourceforge.net/format.html
|
||||
* http://www.research.att.com/projects/mpegaudio/mpeg2.html
|
||||
* http://www.audiocoding.com/wiki/index.php?page=AAC
|
||||
* http://libmpeg.org/mpeg4/doc/w2203tfs.pdf
|
||||
* http://www.geocities.com/xhelmboyx/quicktime/formats/qtm-layout.txt
|
||||
* http://developer.apple.com/techpubs/quicktime/qtdevdocs/RM/frameset.htm
|
||||
* http://www.nullsoft.com/nsv/
|
||||
* http://www.wotsit.org/download.asp?f=iso9660
|
||||
* http://sandbox.mc.edu/~bennet/cs110/tc/tctod.html
|
||||
* http://www.cdroller.com/htm/readdata.html
|
||||
* http://www.speex.org/manual/node10.html
|
||||
* http://www.harmony-central.com/Computer/Programming/aiff-file-format.doc
|
||||
* http://www.faqs.org/rfcs/rfc2361.html
|
||||
* http://ghido.shelter.ro/
|
||||
* http://www.ebu.ch/tech_t3285.pdf
|
||||
* http://www.sr.se/utveckling/tu/bwf
|
||||
* http://ftp.aessc.org/pub/aes46-2002.pdf
|
||||
* http://cartchunk.org:8080/
|
||||
* http://www.broadcastpapers.com/radio/cartchunk01.htm
|
||||
* http://www.hr/josip/DSP/AudioFile2.html
|
||||
* http://home.attbi.com/~chris.bagwell/AudioFormats-11.html
|
||||
* http://www.pure-mac.com/extkey.html
|
||||
* http://cesnet.dl.sourceforge.net/sourceforge/bonkenc/bonk-binary-format-0.9.txt
|
||||
* http://www.headbands.com/gspot/
|
||||
* http://www.openswf.org/spec/SWFfileformat.html
|
||||
* http://j-faul.virtualave.net/
|
||||
* http://www.btinternet.com/~AnthonyJ/Atari/programming/avr_format.html
|
||||
* http://cui.unige.ch/OSG/info/AudioFormats/ap11.html
|
||||
* http://sswf.sourceforge.net/SWFalexref.html
|
||||
* http://www.geocities.com/xhelmboyx/quicktime/formats/qti-layout.txt
|
||||
* http://www-lehre.informatik.uni-osnabrueck.de/~fbstark/diplom/docs/swf/Flash_Uncovered.htm
|
||||
* http://developer.apple.com/quicktime/icefloe/dispatch012.html
|
||||
* http://www.csdn.net/Dev/Format/graphics/PCD.htm
|
||||
* http://tta.iszf.irk.ru/
|
||||
* http://www.atsc.org/standards/a_52a.pdf
|
||||
* http://www.alanwood.net/unicode/
|
||||
* http://www.freelists.org/archives/matroska-devel/07-2003/msg00010.html
|
||||
* http://www.its.msstate.edu/net/real/reports/config/tags.stats
|
||||
* http://homepages.slingshot.co.nz/~helmboy/quicktime/formats/qtm-layout.txt
|
||||
* http://brennan.young.net/Comp/LiveStage/things.html
|
||||
* http://www.multiweb.cz/twoinches/MP3inside.htm
|
||||
* http://www.geocities.co.jp/SiliconValley-Oakland/3664/alittle.html#GenreExtended
|
||||
* http://www.mactech.com/articles/mactech/Vol.06/06.01/SANENormalized/
|
||||
* http://www.unicode.org/unicode/faq/utf_bom.html
|
||||
* http://tta.corecodec.org/?menu=format
|
||||
* http://www.scvi.net/nsvformat.htm
|
||||
* http://pda.etsi.org/pda/queryform.asp
|
59
modules/getid3/docs/readme.windows.txt
Normal file
59
modules/getid3/docs/readme.windows.txt
Normal file
|
@ -0,0 +1,59 @@
|
|||
// +----------------------------------------------------------------------+
|
||||
// | PHP version 5 |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Copyright (c) 2002-2006 James Heinrich, Allan Hansen |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | This source file is subject to version 2 of the GPL license, |
|
||||
// | that is bundled with this package in the file license.txt and is |
|
||||
// | available through the world-wide-web at the following url: |
|
||||
// | http://www.gnu.org/copyleft/gpl.html |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | getID3() - http://getid3.sourceforge.net or http://www.getid3.org |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | Authors: James Heinrich <infoØgetid3*org> |
|
||||
// | Allan Hansen <ahØartemis*dk> |
|
||||
// +----------------------------------------------------------------------+
|
||||
// | List of binary files required under Windows for some features and/or |
|
||||
// | file formats. |
|
||||
// +----------------------------------------------------------------------+
|
||||
//
|
||||
// $Id: readme.windows.txt,v 1.1 2006/12/03 21:12:11 ah Exp $
|
||||
|
||||
|
||||
|
||||
Windows users may want to download the latest version of the
|
||||
"getID3()-WindowsSupport" package and extract it to c:\windows\system32
|
||||
or another directory in the system path.
|
||||
|
||||
The package is required for these features:
|
||||
|
||||
* Shorten support.
|
||||
* md5_data/sha1_data of Ogg Vorbis files
|
||||
|
||||
The package will also greatly speed up calculation of md5_data for other
|
||||
files.
|
||||
|
||||
|
||||
|
||||
Included files:
|
||||
=====================================================
|
||||
|
||||
Taken from http://www.cygwin.com/
|
||||
* cygwin1.dll
|
||||
|
||||
Taken from http://unxutils.sourceforge.net/
|
||||
* head.exe
|
||||
* md5sum.exe
|
||||
* tail.exe
|
||||
|
||||
Taken from http://ebible.org/mpj/software.htm
|
||||
* sha1sum.exe
|
||||
|
||||
Taken from http://www.vorbis.com/download.psp
|
||||
* vorbiscomment.exe
|
||||
|
||||
Taken from http://flac.sourceforge.net/download.html
|
||||
* metaflac.exe
|
||||
|
||||
Taken from http://www.etree.org/shncom.html
|
||||
* shorten.exe
|
2261
modules/getid3/docs/structure.txt
Normal file
2261
modules/getid3/docs/structure.txt
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue