NAME
Audio::MPD::Collection - class to query MPD's collection
VERSION
version 0.19.10
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 an Audio::MPD object.
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 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::Songs 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( $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( $string )
-
Return all Audio::MPD::Common::Item::Songs performed by an artist with
$string
in her name. - $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.