Index: trunk/Changes
===================================================================
--- trunk/Changes	(revision 13)
+++ trunk/Changes	(revision 14)
@@ -4,4 +4,5 @@
     - added "exclude_path" option to filesystem backend
     - added "sync_db" method to the DB backend
+    - added support for searching by ID3v2 tag (using MP3::Tag)
 
 0.02  1 Feb 2006
Index: trunk/lib/MP3/Find/Filesystem.pm
===================================================================
--- trunk/lib/MP3/Find/Filesystem.pm	(revision 13)
+++ trunk/lib/MP3/Find/Filesystem.pm	(revision 14)
@@ -76,4 +76,22 @@
         %{ get_mp3info($filename) || {} },
     };
+    
+    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;
+                }
+            }
+        }
+    }
+
     for my $field (keys(%{ $query })) {
         my $value = $mp3->{uc($field)};
@@ -110,4 +128,6 @@
 L<File::Find>, L<MP3::Info>, L<Scalar::Util>
 
+L<MP3::Tag> is also needed if you want to search using ID3v2 tags.
+
 =head1 DESCRIPTION
 
@@ -123,4 +143,20 @@
 Scalar or arrayref; any file whose name matches any of these paths
 will be skipped.
+
+=item C<use_id3v2>
+
+Boolean, defaults to false. If set to true, MP3::Find::Filesystem will
+use L<MP3::Tag> to get the ID3v2 tag for each file. You can then search
+for files by their ID3v2 data, using the four-character frame names. 
+This isn't very useful if you are just search by artist or title, but if,
+for example, you have made use of the C<TOPE> ("Orignal Performer") frame,
+you could search for all the cover songs in your collection:
+
+    $finder->find_mp3s(query => { tope => '.' });
+
+As with the basic query keys, ID3v2 query keys are converted to uppercase
+internally.
+
+=back
 
 =head1 SEE ALSO
