File Coverage

lib/AudioFile/Info/Audio/WMA.pm
Criterion Covered Total %
statement 22 22 100.0
branch 1 2 50.0
condition n/a
subroutine 7 8 87.5
pod 1 1 100.0
total 31 33 93.9


line stmt bran cond sub pod time code
1             =head1 NAME
2              
3             AudioFile::Info::Audio::WMA - Perl extension to get info from WMA files.
4              
5             =head1 DESCRIPTION
6              
7             This is a plugin for AudioFile::Info which uses Audio::WMMA to get
8             data about WMA files.
9              
10             See L for more details.
11              
12             =cut
13              
14             package AudioFile::Info::Audio::WMA;
15              
16 1     1   80261 use 5.006;
  1         9  
17              
18 1     1   10 use strict;
  1         3  
  1         77  
19 1     1   11 use warnings;
  1         4  
  1         95  
20 1     1   11 use Carp;
  1         2  
  1         172  
21              
22 1     1   935 use Audio::WMA;
  1         25053  
  1         289  
23              
24             our $VERSION = 0.11;
25              
26             my %data = (
27             artist => 'ALBUMARTIST',
28             title => 'TITLE',
29             album => 'ALBUMTITLE',
30             track => 'TRACKNUMBER',
31             year => 'YEAR',
32             genre => 'GENRE',
33             );
34              
35             sub new {
36 1     1 1 538 my ($class, $file) = @_;
37              
38 1         7 my $wma = Audio::WMA->new($file);
39 1         3902 bless { obj => $wma->tags }, $class;
40             }
41              
42       0     sub DESTROY {}
43              
44             sub AUTOLOAD {
45 6     6   308 my $self = shift;
46              
47 6         8 our $AUTOLOAD;
48              
49 6         35 my ($pkg, $sub) = $AUTOLOAD =~ /(.+)::(\w+)/;
50              
51 6 50       19 carp "Invalid attribute $sub" unless exists $data{$sub};
52              
53 6         29 return $self->{obj}->{$data{$sub}};
54             }
55              
56              
57             1;
58             __END__