The configuration forms tells me it cannot find the getid3 path; but I think it is correct; my configured path is:
sites/all/modules/getid3/getid3
and my installation looks like:
/sites
/all
/modules
/......
/getid3
/getid3
/demos
/getid3
/helperapps
/......

I have tried adding extra "getid3"; addint the file "getid3.php"; ... but I have been unable to configure it; what may I be missing?

Comments

drew reece’s picture

I'm having the same trouble,

My settings say the path is correct, but I get an error (getid3 library not found!) when saving nodes with audio files.

Take a look at this thread, the patch doesn't fix it for me but it sounds similar.
http://drupal.org/node/222666

Drew

mplewis’s picture

I'm also having the same problem. I've read through the page that Drew posted, as well as several related posts, but I haven't been able to solve the problem. I'm going to de-activate the module until this issue is resolved.

Mark

giorgio79’s picture

Step 2 from Readme file of media field module

2. Download getid3 library from http://getid3.org/ and unpack it to
'(drupal base)/misc/lib/getid3' direcctory. So, that
'(drupal base)/misc/lib/getid3/getid3/getid3.php' will be included.
IMPORTANT: It must be 'misc' directory which already exists in the Drupal root,
but not a new one within module's directory. Since, Drupal still doesn't have
any special directory for common 3d party libs/components we decided to make 'lib'
folder inside global 'misc' assuming that other media modules can also use the same lib.

drew reece’s picture

The point is we are not using the default option, we are moving the location of getid3() library, because the settings page allows us to do so.

Installing into modules/getid3 means that updating Drupal is easier, you can replace the /misc directory instead of merging. Merging risks leaving files that are deleted from the new version and can cause problems.

By installing in the module/getid3 folder it is all self contained.

It seems that the option to use another path in the getid3() settings page expects the getid3 library to be installed in the default manner. Inside /misc/lib/getid3/getid3/

If the library is installed elsewhere what should the path be? Is it the path to the enclosing folder of the getid3.php or the actual getid3 module folder?

This is from my getid3 settings page
sites/all/modules/getid3/getid3/
After submitting this I get …Version 1.7.7 found. So the path is correct (getid3() says it is!)

This is the actual path for the unpacked library
sites/all/modules/getid3/getid3/getid3/getid3.php

When I add an mp3 file I get getid3 library not found!

Now, if I go into the db and add and extra getid3/ to the getid3_path variable settings (Drupal will not let me submit this path because getid3 module thinks it's incorrect).
Adding a new mp3 doesn't cause the error but the getid3 settings page complains The getID3 PHP library could not be found in sites/all/modules/getid3/getid3/getid3/.

Please try installing in another location to see the issue.

The module should either force you to install in the default manner, or not append the additional /getid3 to the path when actually testing files.

Drew

*** Edited because the error DOES still occur. I'm going around in circles with this.

FWIW I am on Drupal 5.8 (this error existed in 5.7 too) using the mediafield, audio file field, causes the error when submitting or editing the cck type with the audio field.

See my next post (probably no 6)

giorgio79’s picture

Let me add tot his that I followed the advice in the mediafield readme that I posted but then I saw the getid in admin is complaining of wrong path. ThenI put it in sites/all/modules/getid3/ I pasted the getid3 library extracted and it now does not complain. Will see if I get the mp3 error as well.

Cheers,

drew reece’s picture

I think I have figured out where the problem lies.

Mediafield does not use the getid3 module to do its getid3 processing.
It doesn't matter what setting you put in the getid3 settings, the audiofield module will always look to misc/lib/getid3 for the library.

There is simply no choice but to put the library into misc/lib/getid3. The actual call to create an instance of the library is in the multimedia.inc file (line 160) inside the mediafeild modules folder.

It's slightly odd that it doesn't integrate with the existing getid3 module, but I have no idea of the history, so I assume there is good reason for this behavior.

I think this setting should be configurable, (like the getid3 module) so that you could keep the library in the mediafield module directory. I'll try to work out a patch to create a settings page for the audio field types.

Sorry to giorgio79 for being obtuse, I thought you were missing the point, but it turns out I was totally missing it :)

PS any ideas where a settings patch should go? It relates to settings for audio file field, but the setting gets used in multimedia.inc, which is required_once() by audio and video field .modules

Drew

xjm’s picture

Status: Active » Closed (duplicate)

As drew has pointed out, mediafield does not depend on this module, so mediafield won't use the setting.

To use both mediafield and modules that depend on this one:

  1. Apply the patch at http://drupal.org/node/222666 (http://drupal.org/files/issues/getid3.patch).
  2. Put the whole getid3 library in drupalroot/misc/lib/getid3/ (there will be misc/lib/getid3/getid3 inside this among other things; don't let that confuse you).
  3. At admin/settings/getid3, set the path to misc/lib/getid3/ and save.

Should do the trick.

As I posted on the other issue thread, might want to submit this to the mediafield queue--would be nice to migrate mediafield to use this module.

Marking as duplicate; please refer to the other issue (http://drupal.org/node/222666) and test the patch so that maybe it will get applied. :)

xcorex’s picture

Same to the 6.x-1.0 version.

vicspanner’s picture

I am new to Drupal (and so this fix may not be proper procedure).

However, for posterity I shall share it with you anyway:

I solved the problem by editing getid3.module (which I believe is the root of the problem - please feel free to correct me on this).

Anywhere where the sub-path "getid3/getid3" appears should be changed to read "/getid3".
Replace "drupal_get_path(..) . '/getid3..'" with "getid3_get_path()" everywhere except the getid3_get_path() function itself

Here's the a couple of functions from the module just to give an example of these changes:

function getid3_load($display_warning = TRUE) {
@(include_once(getid3_get_path() .'/getid3.php')) or _getid3_library_not_found($display_warning);
$version = GETID3_VERSION;
return !empty($version);
}

function _getid3_library_not_found($display_warning = TRUE) {
global $_getid3_library_not_found_displayed;
if ($_getid3_library_not_found_displayed = TRUE && $display_warning) {
drupal_set_message(t('The getID3() library was not found. Please install it into %getid3dir.', array('@getid3' => 'http://www.getid3.org', '%getid3dir' => getid3_get_path())), 'error');
}
}

I hope this helps, I can now install and uninstall the module and use dependant modules without errors.

ehowland’s picture

After the issues with Mediafield are subtracted. I don't think this can be reliably solved without corresponding documentation about where to put the getid3 project files. I have documented one way to do this at #297258: Documentation is needed following the convention from the Audio module.

Unless this PATH setting survives the uninstall procedure no patch is needed with the instructions in node 297258.