Provides a ruby interface for extracting the releases for an artist from MusicBrainz
Ruby
Switch branches/tags
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
spec
.DS_Store
.gitignore
Gemfile
README.rdoc
Rakefile
brainz_releases.gemspec

README.rdoc

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