http://qs1969.pair.com?node_id=347972


in reply to Re: Cannot write changes to file using MP3::Mplib through CGI
in thread Cannot write changes to file using MP3::Mplib through CGI

I have actually done that, (and commented on it in my OP), but not referenced it in the code sample explicitly.
and that is certainly true if i check $mp3->error, infact the output is a hash ref with {album => 2}
  • Comment on Re: Re: Cannot write changes to file using MP3::Mplib through CGI

Replies are listed 'Best First'.
Re: Re: Re: Cannot write changes to file using MP3::Mplib through CGI
by Steve_p (Priest) on Apr 25, 2004 at 16:16 UTC

    After some discussion in the CB, let's look at the facts...

    • $mp3->set_v1tag() returns true
    • $mp3->error() is returning {album => 2 }
    • $mp3->get_v1tag() returns an empty hashref

    Looking at the doc's for MP3::Mplib, there are various constants used for the error codes, which are available in mplib.h. From this define,

    #define MP_EFNF 2

    the modules saying that "album" is not a valid tag for v1. A look at the XS code for the module give the answer pretty quickly.

    if (strcmp(key, "ALBUM") == 0) { content = mp_assemble_text_content(val, enc); if ((err = mp_set_content(new_tag, MP_ALBUM, content)) != +0) sv_catpvf(mp3_lib_err, "%s\034%i", "ALBUM", err); continue; }

    Try switching your tags to uppercase and see what happens. The code is looking for all uppercase hash keys and there doesn't seem to be any code attempting to uppercase the hash keys at all.

Re: Re: Re: Cannot write changes to file using MP3::Mplib through CGI
by Steve_p (Priest) on Apr 25, 2004 at 14:50 UTC

    OK, so the problem is not likely in the function shown above. What does the calling function get back?