NAME
Audio::MPD::Collection - class to query MPD's collection
VERSION
version 2.004
SYNOPSIS
my @songs = $mpd->collection->all_songs;
# and lots of other methods
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.
Note that you're not supposed to call the constructor yourself, an Audio::MPD::Collection is automatically created for you during the creation of an Audio::MPD object - it can then be used with the collection()
accessor.
RETRIEVING SONGS & DIRECTORIES
all_items
my @items = $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.
all_items_simple
my @items = $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!
items_in_dir
my @items = $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
all_songs
my @songs = $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.
all_albums
my @albums = $coll->all_albums;
Return the list of all albums (strings) currently known by mpd.
all_artists
my @artists = $coll->all_artists;
Return the list of all artists (strings) currently known by mpd.
all_titles
my @titles = $coll->all_titles;
Return the list of all song titles (strings) currently known by mpd.
all_pathes
my @pathes = $coll->all_pathes;
Return the list of all pathes (strings) currently known by mpd.
all_playlists
my @lists = $coll->all_playlists;
Return the list of all playlists (strings) currently known by mpd.
all_genres
my @genres = $coll->all_genres;
Return the list of all genres (strings) currently known by mpd.
PICKING A SONG
song
my $song = $coll->song( $path );
Return the Audio::MPD::Common::Item::Song which correspond to $path
.
songs_with_filename_partial
my @songs = $coll->songs_with_filename_partial( $string );
Return the Audio::MPD::Common::Item::Songs containing $string
in their path.
SONGS, ALBUMS, ARTISTS & GENRES RELATIONS
albums_by_artist
my @albums = $coll->albums_by_artist( $artist );
Return all albums (strings) performed by $artist
or where $artist
participated.
songs_by_artist
my @songs = $coll->songs_by_artist( $artist );
Return all Audio::MPD::Common::Item::Songs performed by $artist
.
songs_by_artist_partial
my @songs = $coll->songs_by_artist_partial( $string );
Return all Audio::MPD::Common::Item::Songs performed by an artist with $string
in her name.
songs_from_album
my @songs = $coll->songs_from_album( $album );
Return all Audio::MPD::Common::Item::Songs appearing in $album
.
songs_from_album_partial
my @songs = $coll->songs_from_album_partial( $string );
Return all Audio::MPD::Common::Item::Songs appearing in album containing $string
.
songs_with_title
my @songs = $coll->songs_with_title( $title );
Return all Audio::MPD::Common::Item::Songs which title is exactly $title
.
songs_with_title_partial
my @songs = $coll->songs_with_title_partial( $string );
Return all Audio::MPD::Common::Item::Songs where $string
is part of the title.
artists_by_genre
my @artists = $coll->artists_by_genre( $genre );
Return all artists (strings) of $genre
.
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.