Just a small announcement for any other Squeezebox/Soundbridge owners out there who use the SlimServer (http://www.slimdevices.com) music server. I've started work on a Ruby API for it and you can view the latest source here:

http://opensource.agileevolved.com/t...rubyslim/trunk

You can also check it out from

http://opensource.agileevolved.com/s...rubyslim/trunk

A small code example:

Code:
slimserver = RubySlim::SlimServer.open('localhost')
slimserver.connect('myusername', 'mypassword')
puts slimserver.version

squeezebox = slimserver.players.first
squeezebox.turn_on
squeezebox.current_playlist.play
And in the future, a full RubyOnRails, AJAX-enabled front-end to the SlimServer for browsing your music collection, creating playlists and controlling your SqueezeBox. Nothing checked in here but I've already been experimenting. You could do something like this:

Code:
squeezebox.turn_on
squeezebox.current_playlist.load :album => Album.find_by_title('The Number Of The Beast')
Finally, if you have access to the SlimServer CLI API (click on technical information on your SlimServer web interface menu) you can play with any parts of the CLI API that I'm yet to add to the Ruby API by using the raw connection and API object:

Code:
connection = RubySlim::SlimServer.get_raw_connection('localhost', 9090)
slimapi = RubySlim::SlimAPI.new(connection)

# invoke any api commands
slimapi.invoke("version")
slimapi.invoke("myplayerid player status")
The whole thing is specced with rSpec if you are interested - its very cool and a refreshing change to twisting Test::Unit towards behaviour-driven development.