BrainzReleases

Uses the MusicBrainz XML Web Service (version 2) to extract the releases for an artist and turn them into nice ruby objects.

Gem Documentation

Usage

Example:

require 'rubygems'
require 'brainz_releases'

releases = BrainzReleases.search do |search|
  search.user_agent = "YourAppName/x.x" # Required – A string to identify your requests containing your app name and version number (this is required by the MusicBrainz API)
  search.mbid = "9f9953f0-68bb-4ce3-aace-2f44c87f0aa3" # MusicBrainz artist ID
  search.name = "Bonobo" # Optional – Only necessary if you don't know the MusicBrainz ID
  search.start_date = Date.parse("1/1/2011") # Optional – defaults to 1 month ago
  search.end_date = Date.parse("5/5/2011") # Optional – defaults to 1 month in the future
end

release = releases.first

# A BrainzReleases::Release object has a number of methods to easily access the attributes returned by the MusicBrainz api
# For example...
release.title            # => "Fi"
release.date_available   # => "2005-02-08"
release.release_type     # => "Album"
release.label            # => "Mush Records"
release.format           # => "CD"
release.track_count      # => "17"
release.country          # => "US"
release.mbid             # => "4a46ee61-75b5-4e2b-ac2e-81ef2ccec0f9"
release.artist_name      # => "Bibio"
release.artist_mbid      # => "9f9953f0-68bb-4ce3-aace-2f44c87f0aa3"

Warnings

The MusicBrainz Web Service allows only ONE web service request per second. This gem DOES NOT implement any time based delay and takes no responsibility if you abuse the request limit.

MusicBrainz API documentation

Installation

gem install brainz_releases