Rack und XMMS2

Ich hab heute mal ein kleines bischen mit Rack und Ruby rumgespielt und dabei ist ein kleines Script rausgekommen, mit dem es möglich ist, XMMS2 per Weboberfläche zu steuern.

Es ist keineswegs komplett oder wirklich benutzbar, aber dafür hab ich das auch in irb zusammen geschrieben und war nach 2h fertig

source:ruby
require ‘rubygems’
require ‘rack’
require ‘xmmsclient’

\$xmms2 = Xmms::Client.new ‘rackclient’
\$xmms2.connect ‘path-to-ipc’

Rack::Handler::WEBrick.run lambda {|env|
body = “<html>”
if env[‘PATH_INFO’] == ‘/next’
\$xmms2.playlist_set_next_rel(1).wait.value
\$xmms2.playback_tickle.wait
sleep 0.3
end
mediaentry = \$xmms2.medialib_get_info(
\$xmms2.playback_current_id.wait.value
).wait.value
body << “#{
mediaentry[:artist][:”plugin/vorbis“]
} - #{
mediaentry[:title][:”plugin/vorbis“]
}”
body << ‘
naechster
body << ‘</html>’
[200, {’Content-Type’ => ‘text/html’}, body]
}, :Port => 8080