=head1 NAME

AudioFile::Find - Finds audio files located on your system and maps them to L<AudioFile::Info> objects.

=head1 SYNOPSIS

 use AudioFile::Find;

 my $finder = AudioFile::Find->new( 'some/dir' );

 # find everything
 my @audiofiles = $finder->search();

 # specify a search directory
 my @audiofiles = $finder->search( 'some/other/dir' );

 #same for genre, title, track, artist and album
 my @audiofiles = $finder->search( artist => 'Seeed' );

 #search using a regex
 my @audiofiles = $finder->search( 'some/other/dir', title => qr/Ding/ );

 # anonymous subroutine that returns true or false
 my @audiofiles = $finder->search( 'some/other/dir', track => sub { return shift > 10; } );

=head1 METHODS

=head2 new

Creates an object of this class. Takes an optional single argument which is the directory to search in.

=head2 new

Sets and returns the directory to search.

=head2 search

Starts the search and returns a hash of filenames as keys and AudioFile::Info-Objects as values.
You may specify a search directory as the first argument
and also pass a hash with search criteria. See the synopsis for details.

=head2 pass

Checks whether a given L<AudioFile::Info> object meets given criteria.
First argument is the L<AudioFile::Info> object, second argument is a reference to the criteria hash.

=head2 extensions

Discovers the extensions that are supported by the installed L<AudioFile::Info> plugins.

=head1 AUTHORS

=over

=item Markus, C<< <holli.holzer at googlemail.com> >>

=item Joel Berger C<[email protected]>

=back

=head1 SOURCE REPOSITORY

L<http://github.com/jberger/AudioFile-Find>

=head1 BUGS

Bugs may be reported to:

=over

=item L<http://github.com/jberger/AudioFile-Find/issues>

=item L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=AudioFile-Find>

=back

=head1 COPYRIGHT & LICENSE

Copyright 2008-2014 by Authors listed above, all rights reserved.

This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.