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

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

DESCRIPTION
"POCOCM::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 POCOCM 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 POCOCM's pod to learn how to deal with answers from those commands.

PUBLIC EVENTS
The following is a list of collection-related events accepted by POCOCM.

  Retrieving songs & directories

•   coll.all_items( [$path] )

    Return all "Audio::MPD::Common::Item"s (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::Item"s (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 songs

•   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::Song"s 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::Song"s performed by $artist.

•   coll.songs_by_artist_partial( $artist )

    Return all "Audio::MPD::Common::Item::Song"s performed by $artist.

•   coll.songs_from_album( $album )

    Return all "Audio::MPD::Common::Item::Song"s appearing in $album.

•   coll.songs_from_album_partial( $string )

    Return all "Audio::MPD::Common::Item::Song"s appearing in album containing $string.

•   coll.songs_with_title( $title )

    Return all "Audio::MPD::Common::Item::Song"s which title is exactly $title.

•   coll.songs_with_title_partial( $string )

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

SEE ALSO
For all related information (bug reporting, mailing-list, pointers to MPD and POE, etc.), refer to "POE::Component::Client::MPD"'s pod, section "SEE ALSO"

AUTHOR
Jerome Quelin, "<jquelin@cpan.org>"

COPYRIGHT & LICENSE
Copyright (c) 2007-2008 Jerome Quelin, all rights reserved.

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