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

Audio::MPD::Collection - class to query MPD's collection

Author

       Jerome Quelin

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.

Name

       Audio::MPD::Collection - class to query MPD's collection

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.

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.

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.

Synopsis

           my @songs = $mpd->collection->all_songs;
           # and lots of other methods

Version

       version 2.004

See Also