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
