The getID3() 2.0.0 Thread - PHP5 Only

What features would you like to see in future versions of getID3() ?
Locked
Allan Hansen
getID3() v2 developer
Posts: 445
Joined: Sun May 04, 2003 2:22 pm
Location: Holmegaard, Denmark

The getID3() 2.0.0 Thread - PHP5 Only

Post by Allan Hansen » Thu Aug 05, 2004 3:07 pm

The next major version of getID3() is underway. It will require PHP5 and a slightly different syntax from the user.

The 1.7 branch will be supported for some time for PHP4.

Proposed changes (possible very incomplete).

1. Make full use of protected/private/public members and values.
2. Replace 'error' with thrown exceptions.
3. Reduce size of getid3_lib - a lot.
4. Remove redundant code.
5. Create abstract class that all modules extends.
6. Make all constants per class.
7. Remove EmbeddedLookup() if possible.
8. Replace header comment block with PEAR compatible one http://pear.php.net/manual/en/standards.header.php
9. Use extra line feed to seperate sections and increase readablity.
one linefeed between small logical groups
two linefeeds between larger group of small groups
three linefeeds between functions
four linefeeds between classes
A. Use CVS
<strike>[REMOVED]B. Change result array to return complex object instead of multidim array.</strike>
C. Change all modules - give them a pointer/handle to the main getid3 class instead of fd and ThisFileInfo.
D. Get rid of getid3_lib::IncludeDependency()
E. Reduce code complexity by using $cond and FunctionCall().
F. Make full use of multi dim static arrays. Saves lots of memory.
G. Reduce number of functions and lines of code.
H. Replace many !empty($var)/isset($var) with @$var - easier to read, poossible faster.
I. Remove cleanup code. Instead of removing unwanted keys we do not create them in the first place.
J. Make all variable names lower case.

A public alpha version will be released very soon. It will be very limited, only a few modules, but it will show some of the principles mentioned above.

Comments and suggestions are more than welcome
Last edited by Allan Hansen on Tue May 09, 2006 1:31 pm, edited 6 times in total.

Allan Hansen
getID3() v2 developer
Posts: 445
Joined: Sun May 04, 2003 2:22 pm
Location: Holmegaard, Denmark

Post by Allan Hansen » Tue Aug 10, 2004 4:06 pm

* Everything related to md5_data and sha1_data moved to seperate module. Saves memory if these features are not used.

* New iconv-replacement module - loads automatically if iconv is not present. Saves memory if iconv is present.

Allan Hansen
getID3() v2 developer
Posts: 445
Joined: Sun May 04, 2003 2:22 pm
Location: Holmegaard, Denmark

Post by Allan Hansen » Tue Aug 10, 2004 8:41 pm

Proposed changes to default options:

$option_tags_html => false
$option_max_2gb_check => false

tim

fix?

Post by tim » Thu Aug 12, 2004 9:30 am

is there a fix in the new version for the determination of average bitrate of VBR mpeg video that show a playtime very strangely?

James Heinrich
getID3() v1 developer
Posts: 1475
Joined: Fri May 04, 2001 4:00 pm
Are you a spambot?: no
Location: Northern Ontario, Canada
Contact:

Re: fix?

Post by James Heinrich » Thu Aug 12, 2004 1:30 pm

tim wrote:is there a fix in the new version for the determination of average bitrate of VBR mpeg video that show a playtime very strangely?
No.

WaldoMonster
getID3() contributor
Posts: 112
Joined: Mon Apr 01, 2002 12:20 am
Location: Netherlands
Contact:

Post by WaldoMonster » Sat Aug 14, 2004 5:31 pm

PHP 5.x has a new MySQL engine that only supports MySQL 4.1 and newer.
MySQL 4.1.3 is still beta.
Why not wait with PHP 5 support until MySQL is out of beta?

Allan Hansen
getID3() v2 developer
Posts: 445
Joined: Sun May 04, 2003 2:22 pm
Location: Holmegaard, Denmark

Post by Allan Hansen » Sat Aug 14, 2004 7:58 pm

No - there is no mysql requirement/usage in getID3() except for a demo and an optional extention.

WaldoMonster
getID3() contributor
Posts: 112
Joined: Mon Apr 01, 2002 12:20 am
Location: Netherlands
Contact:

Post by WaldoMonster » Sat Aug 14, 2004 9:16 pm

Ok,

Be aware that most projects that use getID3() also use MySQL :wink:

WaldoMonster
getID3() contributor
Posts: 112
Joined: Mon Apr 01, 2002 12:20 am
Location: Netherlands
Contact:

Post by WaldoMonster » Wed Oct 27, 2004 12:46 pm

Good news, MySQL 4.1x is out of beta:
http://lists.mysql.com/announce/226

koguma

Beta shmeta..

Post by koguma » Wed Dec 29, 2004 8:31 am

Open Source Beta = Commercial Code Quality

Allan Hansen
getID3() v2 developer
Posts: 445
Joined: Sun May 04, 2003 2:22 pm
Location: Holmegaard, Denmark

Re: Beta shmeta..

Post by Allan Hansen » Wed Dec 29, 2004 5:01 pm

koguma wrote:Open Source Beta = Commercial Code Quality
I disagree somewhat. I still use PHP 4.3 and MySQL 3.23. Would still be using Apache 1.3 if i was available as standard package in my linux dist.

Anyway, getID3 2.0.0beta is BETA quality software and not suitable for production. The MP3 module still needs a lot of work.

Locked