WebService::MusicBrainz::ReleaseGroup - WebService::MusicBrainz::ReleaseGroup documentation


WebService-MusicBrainz documentation Contained in the WebService-MusicBrainz distribution.

Index


Code Index:

NAME

Top

WebService::MusicBrainz::ReleaseGroup

SYNOPSIS

Top

    use WebService::MusicBrainz::ReleaseGroup;

    my $ws = WebService::MusicBrainz::ReleaseGroup->new();

    my $response = $ws->search({ TITLE => 'ok computer' });

    my $release = $response->release(); # grab first one in the list

    print $release->title(), " (", $release->type(), ") - ", $release->artist()->name(), "\n";

    # OUTPUT: OK Computer (Album Official) - Radiohead

DESCRIPTION

Top

METHODS

Top

new()

This method is the constructor and it will call for initialization.

query()

This method will return the cached query object;

This method is used to search the MusicBrainz database using their web service schema. The only argument is a hashref to define the search parameters.

    my $ws = WebService::MusicBrainz::Release->new();

    my $response = $ws->search({ TITLE => 'Highway to Hell' });
    my $response = $ws->search({ ARTIST => 'sleater kinney' });
    my $response = $ws->search({ ARTIST => 'beatles', OFFSET => 4 });
    my $response = $ws->search({ ARTISTID => '65f4f0c5-ef9e-490c-aee3-909e7ae6b2ab' });
    my $response = $ws->search({ DISCID => 'XgrrQ8Npf9Uz_trPIFMrSz6Mk6Q-' });
    my $response = $ws->search({ RELEASETYPES => 'Official', MBID => 'a89e1d92-5381-4dab-ba51-733137d0e431' });
    my $response = $ws->search({ MBID => 'fed37cfc-2a6d-4569-9ac0-501a7c7598eb', INC => 'artist' });
    my $response = $ws->search({ MBID => 'fed37cfc-2a6d-4569-9ac0-501a7c7598eb', INC => 'counts' });
    my $response = $ws->search({ MBID => 'fed37cfc-2a6d-4569-9ac0-501a7c7598eb', INC => 'release-events' });
    my $response = $ws->search({ MBID => 'fed37cfc-2a6d-4569-9ac0-501a7c7598eb', INC => 'discs' });
    my $response = $ws->search({ MBID => 'fed37cfc-2a6d-4569-9ac0-501a7c7598eb', INC => 'tracks' });
    my $response = $ws->search({ MBID => 'fed37cfc-2a6d-4569-9ac0-501a7c7598eb', INC => 'artist-rels' });
    my $response = $ws->search({ MBID => 'fed37cfc-2a6d-4569-9ac0-501a7c7598eb', INC => 'release-rels' });
    my $response = $ws->search({ MBID => 'fed37cfc-2a6d-4569-9ac0-501a7c7598eb', INC => 'track-rels' });
    my $response = $ws->search({ MBID => 'fed37cfc-2a6d-4569-9ac0-501a7c7598eb', INC => 'url-rels' });

Multiple INC params can be delimited by whitespace, commas, or + characters.

    my $response = $ws->search({ MBID => 'fed37cfc-2a6d-4569-9ac0-501a7c7598eb', INC => 'artist url-rels' });
    my $response = $ws->search({ MBID => 'fed37cfc-2a6d-4569-9ac0-501a7c7598eb', INC => 'artist,url-rels' });
    my $response = $ws->search({ MBID => 'fed37cfc-2a6d-4569-9ac0-501a7c7598eb', INC => 'artist+url-rels' });

AUTHOR

Top

Bob Faist <bob.faist@gmail.com>

COPYRIGHT AND LICENSE

Top

SEE ALSO

Top

http://wiki.musicbrainz.org/XMLWebService


WebService-MusicBrainz documentation Contained in the WebService-MusicBrainz distribution.
package WebService::MusicBrainz::ReleaseGroup;

use strict;
use WebService::MusicBrainz::Query;

our $VERSION = '0.93';

sub new {
   my $class = shift;
   my $self = {};

   bless $self, $class;

   $self->_init(@_);

   return $self;
}

sub _init {
   my $self = shift;

   my $q = WebService::MusicBrainz::Query->new(@_);

   $q->set_url_params(qw/mbid title artist artistid releasetypes limit offset query/);
   $q->set_inc_params(qw/artist releases/);

   $self->{_query} = $q;
}

sub query {
   my $self = shift;

   return $self->{_query};
}

sub search {
   my $self = shift;
   my $params = shift;

   my $response = $self->query()->get('releasegroup', $params);    

   return $response;
}

1;