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:
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:slimserver = RubySlim::SlimServer.open('localhost') slimserver.connect('myusername', 'mypassword') puts slimserver.version squeezebox = slimserver.players.first squeezebox.turn_on squeezebox.current_playlist.play
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:squeezebox.turn_on squeezebox.current_playlist.load :album => Album.find_by_title('The Number Of The Beast')
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.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")




Bookmarks