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::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 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::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.

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.