Audio::MPD::Common::Item::Song(3p)

NAME
Audio::MPD::Common::Item::Song - a song object with some audio tags

VERSION
version 2.003

DESCRIPTION
Audio::MPD::Common::Item::Song is more a placeholder with some attributes. Those attributes are taken from the song tags, so some of them can be empty depending on the file.

The constructor should only be called by Audio::MPD::Common::Item's constructor.

ATTRIBUTES

  album
Album of the song. (format code: %d)

  artist
Artist of the song. (format code: %a)

  albumartist
Artist of the album. (format code: %A)

  composer
Song composer. (format code: %C)

  date
Last modification date of the song. (format code: %M)

  disc
Disc number of the album. This is a string to allow tags such as "1/2". (format code: %D)

  file
Path to the song. Only attribute which will always be defined. (format code: %f)

  genre
Genre of the song. (format code: %g)

  id
Id of the song in MPD's database. (format code: %i)

  last_modified
Last time the song was modified. (format code: %m)

  name
Name of the song (for http streams). (format code: %N)

  performer
Song performer. (format code: %P)

  pos
Position of the song in the playlist. (format code: %p)

  title
Title of the song. (format code: %t)

  track
Track number of the song. (format code: %n)

  time
Length of the song in seconds. (format code: %l)

METHODS

  as_string
    my $str = $song->as_string( [$format] );

Return a string representing $song. If $format is specified, use it to format the string. Otherwise, the string returned will be:

either "album = track = artist = title"
or "artist = title"
or "title"
or "file"

(in this order), depending on the existing tags of the song. The last possibility always exist of course, since it's a path.

This method is also used to automatically stringify the $song.

WARNING: the format codes are not yet definitive and may be subject to change!

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.