MP4 support (tag reading + writing)
Brought to you by:
squentin
This patch provides MP4 (.m4a, etc.) tag reading and
writing using Audio::M4P::QuickTime.
You need to be using the gstreamer backend with
gst-plugins-faad for the tracks to play.
The track writing seems OK; I've edited quite a few
tracks without incident after I got the initial bugs out.
I hope you can use this patch; I'd like to be able to
enjoy my iTunes music in gmusicbrowser.
gmusicbrowser-mp4.patch
Logged In: YES
user_id=1338544
Congratulations for finding your way in my code :)
I haven't tested it yet but I will soon, I need to find a
few mp4 files.
I already spotted a few very minor things to correct (and
also a minor thing in my code :) )
I'm pretty sure I'll accept the patch, although there is a
few things that are bothering me:
-using rare perl modules, I'll either include it in the
tarball, or make rpm/deb.
-it seems the file format only allows genres as number, I'll
have to check if there is a way around it, maybe using a
custom tag when the genre doesn't exist in the genre list
I'll also need to check its behaviour in the advanced tag
editing dialog, with multiple tags of the same type, but
it's not very important.
Thanks, and don't hesitate to ask me questions about my
code, some parts are really not pretty (I've learned most of
my perl writing it, and I'm still learning)
Logged In: YES
user_id=948438
Great, thanks.
> I haven't tested it yet but I will soon, I need to find a
> few mp4 files.
If you download one off iTunes I'll donate the 99¢ ;)
> -using rare perl modules, I'll either include it in the
> tarball, or make rpm/deb.
Yeah, I wondered about that. Audio::M4P is perl licensed, so
that should be fine.
> -it seems the file format only allows genres as number,
> I'll have to check if there is a way around it, maybe
> using a custom tag when the genre doesn't exist in the
> genre list
http://search.cpan.org/src/BILLH/Audio-M4P-0.28/lib/Audio/M4P/QuickTime.pm
has the list of genres. I guess the responsible thing to do
would be to restrict the user to those genres when editing a
mp4 file.
> I'll also need to check its behaviour in the advanced tag
> editing dialog, with multiple tags of the same type, but
> it's not very important.
Ah. Currently it ignores multiple tags. This is an
Audio::M4P limitation; it's trying to copy the TagLib API.
I think it should be possible to access multiple tags by
using the Audio::M4P API at a lower level (FindAtom returns
multiple tags when called in array context). I'll look into
that.
Oh... and I know far less perl than you do; I've always
detested the language but writing this patch has forced me
to climb onto the learning curve. Thanks for that... I think.