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.