Index: /trunk/Changes
===================================================================
--- /trunk/Changes	(revision 24)
+++ /trunk/Changes	(revision 25)
@@ -1,3 +1,7 @@
 Revision history for Perl extension MP3::Find.
+
+0.05 28 Apr 2006
+    - mp3find searches in ID3v2 tags if MP3::Tag is available
+    - using Sort::Key for sorting of results (if available)
 
 0.04  2 Apr 2006
Index: /trunk/README
===================================================================
--- /trunk/README	(revision 24)
+++ /trunk/README	(revision 25)
@@ -1,3 +1,3 @@
-MP3::Find version 0.04
+MP3::Find version 0.05
 ======================
 
Index: /trunk/bin/mp3find
===================================================================
--- /trunk/bin/mp3find	(revision 24)
+++ /trunk/bin/mp3find	(revision 25)
@@ -13,5 +13,4 @@
     'sort|s=s'      => \my $SORT_TAG,
     'printf=s'      => \my $FORMAT,
-    '2'             => \my $USE_ID3V2,
 );
 
@@ -27,5 +26,5 @@
     printf      => $FORMAT,
     db_file     => catfile($ENV{HOME}, 'mp3.db'),
-    use_id3v2   => $USE_ID3V2,
+    use_id3v2   => 1,  # search using ID3v2 tags by default
 );
 
Index: /trunk/lib/MP3/Find.pm
===================================================================
--- /trunk/lib/MP3/Find.pm	(revision 24)
+++ /trunk/lib/MP3/Find.pm	(revision 25)
@@ -9,5 +9,5 @@
 use Carp;
 
-$VERSION = '0.04';
+$VERSION = '0.05';
 
 @EXPORT = qw(find_mp3s);
Index: /trunk/lib/MP3/Find/Filesystem.pm
===================================================================
--- /trunk/lib/MP3/Find/Filesystem.pm	(revision 24)
+++ /trunk/lib/MP3/Find/Filesystem.pm	(revision 25)
@@ -96,18 +96,23 @@
     
     if ($$options{use_id3v2}) {
-        require MP3::Tag;
-        # add ID3v2 tag info, if present
-        my $mp3_tags = MP3::Tag->new($filename);
-        $mp3_tags->get_tags;
-        if (my $id3v2 = $mp3_tags->{ID3v2}) {
-            for my $frame_id (keys %{ $id3v2->get_frame_ids }) {
-                my ($info) = $id3v2->get_frame($frame_id);
-                if (ref $info eq 'HASH') {
-                    #TODO: how should we handle these?
-                } else {
-                    $mp3->{$frame_id} = $info;
-                }
-            }
-        }
+	eval { require MP3::Tag };
+	if ($@) {
+	    # we weren't able to load MP3::Tag!
+	    warn "MP3::Tag is required to search ID3v2 tags";
+	} else {
+	    # add ID3v2 tag info, if present
+	    my $mp3_tags = MP3::Tag->new($filename);
+	    $mp3_tags->get_tags;
+	    if (my $id3v2 = $mp3_tags->{ID3v2}) {
+		for my $frame_id (keys %{ $id3v2->get_frame_ids }) {
+		    my ($info) = $id3v2->get_frame($frame_id);
+		    if (ref $info eq 'HASH') {
+			#TODO: how should we handle these?
+		    } else {
+			$mp3->{$frame_id} = $info;
+		    }
+		}
+	    }
+	}
     }
 
