No commit activity in last 3 years
No release in over 3 years
A ruby library for accessing the last.fm v2 webservices
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

 Project Readme

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...