NAME

Audio::MPD::Collection - class to query MPD's collection

VERSION

version 1.092950

SYNOPSIS

my $song = $mpd->collection->random_song;

DESCRIPTION

Audio::MPD::Collection is a class meant to access & query MPD's collection. You will be able to use those high-level methods instead of using the low-level methods provided by mpd itself.

Note that you're not supposed to call the constructor yourself, an Audio::MPD::Collection is automatically created for you during the creation of an Audio::MPD object - it can then be used with the collection() accessor.

PUBLIC METHODS

Retrieving songs & directories

$coll->all_items( [$path] )

Return all Audio::MPD::Common::Items (both songs & directories) currently known by mpd.

If $path is supplied (relative to mpd root), restrict the retrieval to songs and dirs in this directory.

$coll->all_items_simple( [$path] )

Return all Audio::MPD::Common::Items (both songs & directories) currently known by mpd.

If $path is supplied (relative to mpd root), restrict the retrieval to songs and dirs in this directory.

/!\ Warning: the Audio::MPD::Common::Item::Song objects will only have their tag file filled. Any other tag will be empty, so don't use this sub for any other thing than a quick scan!

$coll->items_in_dir( [$path] )

Return the items in the given $path. If no $path supplied, do it on mpd's root directory.

Note that this sub does not work recusrively on all directories.

Retrieving the whole collection

$coll->all_songs( [$path] )

Return all Audio::MPD::Common::Item::Songs currently known by mpd.

If $path is supplied (relative to mpd root), restrict the retrieval to songs and dirs in this directory.

$coll->all_albums()

Return the list of all albums (strings) currently known by mpd.

$coll->all_artists()

Return the list of all artists (strings) currently known by mpd.

$coll->all_titles()

Return the list of all song titles (strings) currently known by mpd.

$coll->all_pathes()

Return the list of all pathes (strings) currently known by mpd.

$coll->all_playlists()

Return the list of all playlists (strings) currently known by mpd.

Picking a song

$coll->song( $path )

Return the Audio::MPD::Common::Item::Song which correspond to $path.

$coll->songs_with_filename_partial( $string )

Return the Audio::MPD::Common::Item::Songs containing $string in their path.

Songs, albums & artists relations

$coll->albums_by_artist( $artist )

Return all albums (strings) performed by $artist or where $artist participated.

$coll->songs_by_artist( $artist )

Return all Audio::MPD::Common::Item::Songs performed by $artist.

$coll->songs_by_artist_partial( $string )

Return all Audio::MPD::Common::Item::Songs performed by an artist with $string in her name.

$coll->songs_from_album( $album )

Return all Audio::MPD::Common::Item::Songs appearing in $album.

$coll->songs_from_album_partial( $string )

Return all Audio::MPD::Common::Item::Songs appearing in album containing $string.

$coll->songs_with_title( $title )

Return all Audio::MPD::Common::Item::Songs which title is exactly $title.

$coll->songs_with_title_partial( $string )

Return all Audio::MPD::Common::Item::Songs where $string is part of the title.

AUTHOR

Jerome Quelin

COPYRIGHT AND LICENSE

This software is copyright (c) 2007 by Jerome Quelin.

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