require 'xmmsclient' require "event-loop" require "pp" module Xmms class Client def add_to_event_loop @io = IO.for_fd(io_fd) @io.on_readable { io_in_handle } @io.on_writable { io_out_handle } EventLoop.on_before_sleep do if io_want_out @io.monitor_event(:writable) else @io.ignore_event(:writable) end end end end end xc = Xmms::Client.new("test") xc.connect #("tcp://10.0.0.42:5555") xc.add_to_event_loop xc.on_disconnect { EventLoop.quit } res = xc.playback_volume_get.wait pp res.value xc.broadcast_playback_volume_changed.notifier do |res| pp res.value end #$bc = xc.broadcast_configval_changed.notifier do |res| # p res.value #end #p xc.plugin_list(Xmms::Client::ALL_PLUGINS).wait.value.length #pp xc.medialib_get_id("file:///home/tilman/download/music/kataklysm/2006-in_the_arms_of_devastation/01-kataklysm-like_angels_weeping_the_dark.ogg").wait.value trap("SIGINT") { EventLoop.quit } EventLoop.run