NAME
Audio::MPD::Collection - an object to query MPD's collection
SYNOPSIS
my $song = $mpd->collection->random_song;
DESCRIPTION
Audio::MPD::Collection
is a class meant to access & query MPD's collection. You will be able to use those high-level methods instead of using the low-level methods provided by mpd itself.
PUBLIC METHODS
Constructor
- new( $mpd )
-
This will create the object, holding a back-reference to the
Audio::MPD
object itself (for communication purposes). But in order to play safe and to free the memory in time, this reference is weakened.Note that you're not supposed to call this constructor yourself, an
Audio::MPD::Collection
is automatically created for you during the creation of anAudio::MPD
object.
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 tag file filled. Any other tag 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_songs( [$path] )
-
Return all
Audio::MPD::Common::Item::Song
s currently known by mpd.If
$path
is supplied (relative to mpd root), restrict the retrieval to songs and dirs in this directory. - $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 song titles (strings) currently known by mpd.
- $coll->all_pathes()
-
Return the list of all pathes (strings) currently known by mpd.
- $coll->all_playlists()
-
Return the list of all playlists (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( $path )
-
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( $string )
-
Return all
Audio::MPD::Common::Item::Song
s performed by an artist with$string
in her name. - $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, etc.), refer to Audio::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.