AudioFile-Info-MP3-Tag
view release on metacpan or search on metacpan
use lib 'lib';
use AudioFile::Info::Build;
my $module = 'AudioFile::Info::MP3::Tag';
my $b = AudioFile::Info::Build->new(
module_name => $module,
license => 'perl',
requires => {
perl => '5.6.0',
AudioFile::Info => 0,
MP3::Tag => 0,
YAML => 0,
},
build_requires => {
Module::Build => 0
},
configure_requires => {
YAML => 0,
},
create_makefile_pl => 'traditional',
meta_merge => {
},
"configure" : {
"requires" : {
"Module::Build" : "0.42",
"YAML" : "0"
}
},
"runtime" : {
"requires" : {
"AudioFile::Info" : "0",
"MP3::Tag" : "0",
"YAML" : "0",
"perl" : "v5.6.0"
}
}
},
"provides" : {
"AudioFile::Info::Build" : {
"file" : "lib/AudioFile/Info/Build.pm"
},
"AudioFile::Info::MP3::Tag" : {
"file" : "lib/AudioFile/Info/MP3/Tag.pm",
"version" : "v1.6.4"
}
},
"release_status" : "stable",
"resources" : {
"bugtracker" : {
"web" : "https://github.com/davorg/audiofile-info-mp3-tag/issues"
},
"license" : [
dynamic_config: 1
generated_by: 'Module::Build version 0.4232, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: '1.4'
name: AudioFile-Info-MP3-Tag
provides:
AudioFile::Info::Build:
file: lib/AudioFile/Info/Build.pm
AudioFile::Info::MP3::Tag:
file: lib/AudioFile/Info/MP3/Tag.pm
version: v1.6.4
requires:
AudioFile::Info: '0'
MP3::Tag: '0'
YAML: '0'
perl: v5.6.0
resources:
bugtracker: https://github.com/davorg/audiofile-info-mp3-tag/issues
license: http://dev.perl.org/licenses/
repository: https://github.com/davorg/audiofile-info-mp3-tag.git
version: v1.6.4
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
Makefile.PL view on Meta::CPAN
# Note: this file was auto-generated by Module::Build::Compat version 0.4232
require 5.006000;
use ExtUtils::MakeMaker;
WriteMakefile
(
'NAME' => 'AudioFile::Info::MP3::Tag',
'VERSION_FROM' => 'lib/AudioFile/Info/MP3/Tag.pm',
'PREREQ_PM' => {
'AudioFile::Info' => 0,
'MP3::Tag' => 0,
'Module::Build' => 0,
'YAML' => 0
},
'INSTALLDIRS' => 'site',
'EXE_FILES' => [],
'PL_FILES' => {}
)
;
lib/AudioFile/Info/MP3/Tag.pm view on Meta::CPAN
=head1 NAME
AudioFile::Info::MP3::Tag - Perl extension to get info from MP3 files.
=head1 DESCRIPTION
This is a plugin for AudioFile::Info which uses MP3::Tag to get or set
data about MP3 files.
See L<AudioFile::Info> for more details.
=cut
package AudioFile::Info::MP3::Tag;
use 5.006;
use strict;
use warnings;
use Carp;
use MP3::Tag;
our $VERSION = '1.6.4';
my %data = (artist => ['artist', 'TPE1'],
title => ['song', 'TIT2'],
album => ['album', 'TALB'],
track => ['track', 'TRCK'],
year => ['year', 'TYER'],
genre => ['genre', 'TCON']);
sub new {
my $class = shift;
my $file = shift;
my $obj = MP3::Tag->new($file);
$obj->get_tags;
bless { obj => $obj }, $class;
}
sub DESTROY {
my $file = $_[0]->{obj}{ID3v2}{mp3} || $_[0]->{obj}{ID3v2}{mp3};
$file->close if defined $file;
}
lib/AudioFile/Info/MP3/Tag.pm view on Meta::CPAN
}
1;
__END__
=head1 METHODS
=head2 new
Creates a new object of class AudioFile::Info::MP3::Tag. Usually called
by AudioFile::Info::new.
=head1 AUTHOR
Dave Cross, E<lt>dave@mag-sol.comE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (c) 2003-2009 by Magnum Solutions Ltd. All rights reserved.
use strict;
use warnings;
use Test::More tests => 8;
BEGIN { use_ok('AudioFile::Info'); }
my $song = AudioFile::Info->new('t/test.mp3',
{ mp3 => 'AudioFile::Info::MP3::Tag' });
is(ref $song, 'AudioFile::Info::MP3::Tag');
is($song->title, 'test');
is($song->artist, 'davorg');
is($song->album, 'none');
is($song->track, '0');
is($song->year, '2003');
is($song->genre, 'nonsense');
t/2_write.t view on Meta::CPAN
use Test::More tests => 15;
BEGIN { use_ok('AudioFile::Info'); }
use File::Copy;
use FindBin qw($Bin);
copy "$Bin/test.mp3", "$Bin/test2.mp3";
my $song = AudioFile::Info->new('t/test2.mp3',
{ mp3 => 'AudioFile::Info::MP3::Tag' });
is(ref $song, 'AudioFile::Info::MP3::Tag');
is($song->title, 'test');
is($song->artist, 'davorg');
is($song->album, 'none');
is($song->track, '0');
is($song->year, '2003');
is($song->genre, 'nonsense');
$song->genre('xxx');
$song->title('xxx');
$song->artist('xxx');
$song->album('xxx');
$song->track('1');
$song->year('2000');
undef $song;
$song = AudioFile::Info->new('t/test2.mp3',
{ mp3 => 'AudioFile::Info::MP3::Tag' });
is(ref $song, 'AudioFile::Info::MP3::Tag');
is($song->genre, 'xxx');
is($song->title, 'xxx');
is($song->artist, 'xxx');
is($song->album, 'xxx');
is($song->track, '1');
is($song->year, '2000');
unlink("$Bin/test2.mp3");
t/4_pod_coverage.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
eval "use Test::Pod::Coverage 1.00";
plan skip_all => "Test::Pod::Coverage 1.00 required for testing POD coverage" if $@;
all_pod_coverage_ok({ package => 'AudioFile::Info::MP3::Tag' });
( run in 1.145 second using v1.01-cache-2.11-cpan-d7a12ab2c7f )