---
name: "POE::Component::Client::MPD::Collection"
section: "3pm"
platform: "linux"
package: "libpoe-component-client-mpd-perl"
version: "2.001-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/POE::Component::Client::MPD::Collection"
---

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

module handling collection commands

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