POE::Component::Client::MPD::Collection(3p)

NAME
POE::Component::Client::MPD::Collection - module handling collection commands

VERSION
version 2.001

DESCRIPTION
POE::Component::Client::MPD::Collection is responsible for handling general purpose commands. They are in a dedicated module to achieve easier code maintenance.

To achieve those commands, send the corresponding event to the POE::Component::Client::MPD session you created: it will be responsible for dispatching the event where it is needed. Under no circumstance should you call directly subs or methods from this module directly.

Read POE::Component::Client::MPD's pod to learn how to deal with answers from those commands.

Following is a list of collection-related events accepted by POCOCM.

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 attribute file filled. Any other attribute 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_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 titles (strings) currently known by mpd.

  coll.all_files( )
Return a mpd_result event with the list of all filenames (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( $artist )
Return all Audio::MPD::Common::Item::Songs performed by $artist.

  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.