Net::iTMS::Song - Represents a song in the iTunes Music Store


Net-iTMS documentation Contained in the Net-iTMS distribution.

Index


Code Index:

NAME

Top

Net::iTMS::Song - Represents a song in the iTunes Music Store

DESCRIPTION

Top

A Net::iTMS::Song object represents a single song in the iTMS. Currently, it's only a shell object, but in future releases it may have extra functionality other than a convenient data store.

Methods

Most of the methods should be pretty self-explanatory. Except for new, they all return the information they're named after.

new($itms, $songId)

The first argument must be an instance of Net::iTMS, the second an iTMS song ID.

Returns a blessed hashref (object) for Net::iTMS::Song.

id
title
name
artist
album
genre
year
number
count
disc_number
disc_count
explicit
comments
preview_url
released
price

LICENSE

Top

Copyright 2004, Thomas R. Sibley.

You may use, modify, and distribute this package under the same terms as Perl itself.

AUTHOR

Top

Thomas R. Sibley, http://zulutango.org:82/

SEE ALSO

Top

Net::iTMS, Net::iTMS::Album, Net::iTMS::Artist, Net::iTMS::Genre


Net-iTMS documentation Contained in the Net-iTMS distribution.
package Net::iTMS::Song;
#
# Written by Thomas R. Sibley, <http://zulutango.org:82/>
#
use warnings;
use strict;

use vars '$VERSION';
$VERSION = '0.13';

use Net::iTMS::Error;

use overload
	'""'     => sub { shift->as_string },
	fallback => 1;

sub as_string {
    my $self = shift;
    
    return defined $self
            ? $self->name
            : undef;
}

sub new {
    my ($class, $itms, $id, %prefill) = @_;
    
    my $self = bless {
        id    => $id,
        error => '',
        debug => defined $itms->{debug} ? $itms->{debug} : 0,
        _itms => $itms,
    }, $class;
    
    if (%prefill) {
        $self->{$_} = $prefill{$_}
            for keys %prefill;
    }
    
    return $self;
}

sub id          { return $_[0]->{id} }
sub title       { return $_[0]->{title} }
sub name        { return $_[0]->{title} }
sub artist      { return $_[0]->{artist} }
sub album       { return $_[0]->{album} }
sub genre       { return $_[0]->{genre} }
sub year        { return $_[0]->{year} }
sub number      { return $_[0]->{number} }
sub track       { return $_[0]->{number} }
sub count       { return $_[0]->{count} }
sub disc_number { return $_[0]->{disc_number} }
sub disc_count  { return $_[0]->{disc_count} }
sub explicit    { return $_[0]->{explicit} }
sub comments    { return $_[0]->{comments} }
sub copyright   { return $_[0]->{copyright} }
sub preview_url { return $_[0]->{preview_url} }
sub released    { return $_[0]->{released} }
sub price       { return $_[0]->{price} }

42;