Changeset 25 in mp3-find


Ignore:
Timestamp:
04/28/06 03:27:57 (18 years ago)
Author:
peter
Message:
  • MP3::Find::Filesystem will warn if you ask to "use_id3v2" and MP3::Tag cannot be loaded
  • mp3find now searches ID3v2 tags be default
  • incremented version number
  • generated new README
Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Changes

    r20 r25  
    11Revision history for Perl extension MP3::Find. 
     2 
     30.05 28 Apr 2006 
     4    - mp3find searches in ID3v2 tags if MP3::Tag is available 
     5    - using Sort::Key for sorting of results (if available) 
    26 
    370.04  2 Apr 2006 
  • trunk/README

    r19 r25  
    1 MP3::Find version 0.04 
     1MP3::Find version 0.05 
    22====================== 
    33 
  • trunk/bin/mp3find

    r23 r25  
    1313    'sort|s=s'      => \my $SORT_TAG, 
    1414    'printf=s'      => \my $FORMAT, 
    15     '2'             => \my $USE_ID3V2, 
    1615); 
    1716 
     
    2726    printf      => $FORMAT, 
    2827    db_file     => catfile($ENV{HOME}, 'mp3.db'), 
    29     use_id3v2   => $USE_ID3V2, 
     28    use_id3v2   => 1,  # search using ID3v2 tags by default 
    3029); 
    3130 
  • trunk/lib/MP3/Find.pm

    r19 r25  
    99use Carp; 
    1010 
    11 $VERSION = '0.04'; 
     11$VERSION = '0.05'; 
    1212 
    1313@EXPORT = qw(find_mp3s); 
  • trunk/lib/MP3/Find/Filesystem.pm

    r24 r25  
    9696     
    9797    if ($$options{use_id3v2}) { 
    98         require MP3::Tag; 
    99         # add ID3v2 tag info, if present 
    100         my $mp3_tags = MP3::Tag->new($filename); 
    101         $mp3_tags->get_tags; 
    102         if (my $id3v2 = $mp3_tags->{ID3v2}) { 
    103             for my $frame_id (keys %{ $id3v2->get_frame_ids }) { 
    104                 my ($info) = $id3v2->get_frame($frame_id); 
    105                 if (ref $info eq 'HASH') { 
    106                     #TODO: how should we handle these? 
    107                 } else { 
    108                     $mp3->{$frame_id} = $info; 
    109                 } 
    110             } 
    111         } 
     98        eval { require MP3::Tag }; 
     99        if ($@) { 
     100            # we weren't able to load MP3::Tag! 
     101            warn "MP3::Tag is required to search ID3v2 tags"; 
     102        } else { 
     103            # add ID3v2 tag info, if present 
     104            my $mp3_tags = MP3::Tag->new($filename); 
     105            $mp3_tags->get_tags; 
     106            if (my $id3v2 = $mp3_tags->{ID3v2}) { 
     107                for my $frame_id (keys %{ $id3v2->get_frame_ids }) { 
     108                    my ($info) = $id3v2->get_frame($frame_id); 
     109                    if (ref $info eq 'HASH') { 
     110                        #TODO: how should we handle these? 
     111                    } else { 
     112                        $mp3->{$frame_id} = $info; 
     113                    } 
     114                } 
     115            } 
     116        } 
    112117    } 
    113118 
Note: See TracChangeset for help on using the changeset viewer.