logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       Jerome Quelin

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.

Name

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

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.

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.

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.

Version

       version 2.001

See Also