Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Scrobbler is a wrapper for the audioscrobbler (last.fm) web services.
Ruby

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
examples
lib
tasks
test
website
.gitignore
History.txt
MIT-LICENSE
Manifest
README.rdoc
Rakefile
VERSION.yml
scrobbler.gemspec
setup.rb

README.rdoc

Scrobbler

Scrobbler is a wrapper for the audioscrobbler web services (www.audioscrobbler.net/data/webservices/).

Currently updating to use the 2.0 API. It is very much a work in progress.

Below is just a sampling of how easy this lib is to use, full documentation of all functions is available at rdoc.info/projects/xhochy/scrobbler

Initialization

Scrobbler::Base.api_key = 'foo123'

Users

user = Scrobbler::User.new('jnunemaker')

puts "#{user.username}'s Recent Tracks"
puts "=" * (user.username.length + 16)
user.recent_tracks.each { |t| puts t.name }

puts
puts

puts "#{user.username}'s Top Tracks"
puts "=" * (user.username.length + 13)
user.top_tracks.each { |t| puts "(#{t.playcount}) #{t.name}" }

Albums

album = Scrobbler::Album.new('Some Hearts', :artist => 'Carrie Underwood', :include_info => true)

puts "Album: #{album.name}"
puts "Artist: #{album.artist}"
puts "Playcount: #{album.playcount}"
puts "URL: #{album.url}"
puts "Release Date: #{album.release_date.strftime('%m/%d/%Y')}"

Artists

artist = Scrobbler::Artist.new('Carrie Underwood')  

puts 'Top Tracks'
puts "=" * 10
artist.top_tracks.each { |t| puts "(#{t.playcount}) #{t.name}" }

puts

puts 'Similar Artists'
puts "=" * 15
artist.similar.each { |a| puts "(#{a.match}%) #{a.name}" }

Geo

geo = Scrobbler::Geo.new()

puts 'Events'
puts "=" * 10
geo.events(:location => 'Manchester').each { |e| puts "(#{e.id}) #{e.title}" }

puts

puts 'Top Artists'
puts "=" * 10
geo.top_artists(:location => 'Manchester').each { |a| puts "(#{a.name}) #{a.playcount}" }

puts

puts 'Top Tracks'
puts "=" * 10
geo.top_tracks(:location => 'Manchester').each { |t| puts "(#{a.name}) #{a.playcount}" }

Tags

tag = Scrobbler::Tag.new('country')

puts 'Top Albums'
tag.top_albums.each { |a| puts "(#{a.count}) #{a.name} by #{a.artist}" }

puts

puts 'Top Tracks'
tag.top_tracks.each { |t| puts "(#{t.count}) #{t.name} by #{t.artist}" }

Tracks

track = Scrobbler::Track.new('Carrie Underwood', 'Before He Cheats')
puts 'Fans'
puts "=" * 4
track.top_fans.each { |u| puts "(#{u.weight}) #{u.username}" }

Simple Authentication (for Scrobbling)

work in progress...

Scrobbling

work in progress...

Now Playing Submission

work in progress...
Something went wrong with that request. Please try again.