NAME

WebService::Audioscrobbler - An object-oriented interface to the Audioscrobbler WebService API

SYNOPSIS

This module aims to be a full implementation of a an object-oriented interface to the Audioscrobbler WebService API (as available on http://www.audioscrobbler.net/data/webservices/).

use WebService::Audioscrobbler;

my $ws = WebService::Audioscrobbler->new;

# get an object for artist named 'foo'
my $artist  = $ws->artist('foo');

# retrieves tracks from 'foo'
my @tracks = $artist->tracks;

# retrieves tags associated with 'foo'
my @tags = #artist->tags;

# fetch artists similar to 'foo'
my @similar = $artist->similar_artists;

# prints each one of their names
for my $similar (@similar) {
    print $similar->name . "\n";
}

...

# get an object for tag 'bar'
my $tag = $ws->tag('bar');

# fetch tracks tagged with 'bar'
my @bar_tracks = $tag->tracks;

...

Audioscrobbler is a great service for tracking musical data of various sorts, and its integration with the LastFM service (http://www.last.fm) makes it work even better. Audioscrobbler provides data regarding similarity between artists, artists discography, tracks by musical genre (actually, by tags), top artists / tracks / albums / tags and much more.

Currently, only of subset of these data feeds are implemented, which can be viewed as the core part of the service: artists, tracks and tags. Since this module was developed as part of a automatic playlist building application (still in development) these functions were more than enough for its initial purposes but a (nearly) full WebServices API is planned.

In any case, code or documentation patches are welcome.

METHODS

new

Creates a new WebService::Audioscrobbler object. This object can then be used to retrieve various bits of information from the Audioscrobbler database.

artist($name)

Returns an WebService::Audioscrobbler::Artist object constructed using the given $name. Note that this call doesn't actually check if the artist exists since no remote calls are dispatched - the object is only constructed.

track($artist, $title)

Returns an WebService::Audioscrobbler::Track object constructed used the given $artist and $title. The $artist parameter can either be a WebService::Audioscrobbler::Artist object or a string (in this case, a WebService::Audioscrobbler::Artist will be created behind the scenes). Note that this call doesn't actually check if the track exists since no remote calls are dispatched - the object is only constructed.

tag($name)

Returns an WebService::Audioscrobbler::Tag object constructed using the given $name. Note that this call doesn't actually check if the tag exists since no remote calls are dispatched - the object is only constructed.

AUTHOR

Nilson Santos Figueiredo Junior, <nilsonsfj at cpan.org>

BUGS

Please report any bugs or feature requests to bug-webservice-audioscrobbler at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=WebService-Audioscrobbler. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc WebService::Audioscrobbler

You can also look for information at:

COPYRIGHT & LICENSE

Copyright 2006 Nilson Santos Figueiredo Junior, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.