Template::Plugin::MP3 - Interface to the MP3::Info Module
[% USE mp3 = MP3("Montana.mp3") %] [% mp3.title %] [% mp3.album %] # perldoc MP3::Info for more ideas
Template::Plugin::MP3 provides a simple wrapper for using MP3::Info in object oriented mode; see MP3::Info for more details.
Template::Plugin::MP3
MP3::Info
Template::Plugin::MP3 takes a filename as its primary argument:
[% USE MP3("Tryin_To_Grow_A_Chin.mp3") %]
Optional configuration info can also be specified in the constructor:
[% USE MP3("Camarillo_Brillo.mp3", utf8 => 1, dir => "/mp3") %]
The name of the file can also be specified as a named parameter (name):
name
[% USE MP3(name => "A_Token_Of_My_Extreme.mp3", dir => "/mp3") %]
Template::Plugin::MP3 understands the following options:
The name of the MP3 file. Note that if both a positional argument and a name parameter are passed the positional argument will take precedence.
Specify a base directory name; will be prepended to the filename, if it is defined.
Determines whether results should be returned in UTF-8, as handled by MP3::Info's use_mp3_utf8() function. See "use_mp3_utf8" in MP3::Info. Note that this requires Unicode::String.
If the constructor cannot create an instance using the filename passed, a plugin.mp3 Exception is thrown, which will need to be caught appropriately:
plugin.mp3
[% TRY %] [% USE mp3 = MP3("Willie The Pimp.mp3") %] [% CATCH plugin.mp3 %] Can't find that MP3; are you sure you spelled it right? [% CATCH %] Unexpected exception: [% error %] [% END %]
Template::Plugin::MP3 provides the following, mostly intuitive, methods:
Name of the file.
Name of the artist.
Name of the album.
Bitrate at which the mp3 was encoded.
Size of the file, in bytes.
Length of the song, in various permutations. For example:
03:37
217.0253125
3
27
25.3125000000125
Genre of the MP3.
Full name of the version of the MP3 tag, e.g. "ID3v1.1"
Version of the MP3 tag: 1 or 2
MP3::Info defines some other fields that I don't grok; try
[% MP3.Dump %]
to see them all.
Of course, all of the above methods don't return the advertised value if the tag being read does not contain useful information.
Template::Plugin::MP3 provides access to the @mp3_genres and @winamp_genres arrays via the mp3_genres() and winamp_genres() class methods, or collectively through the genres() class method:
[% FOREACH genre = MP3.genres %] * [% genre; END %]
darren chamberlain <darren@cpan.org>
Doug Gorley <douggorley@shaw.ca>
(C) 2003 darren chamberlain
This library is free software; you may distribute it and/or modify it under the same terms as Perl itself.
Template::Plugin, MP3::Info
To install Template::Plugin::MP3, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Template::Plugin::MP3
CPAN shell
perl -MCPAN -e shell install Template::Plugin::MP3
For more information on module installation, please visit the detailed CPAN module installation guide.