1
0
mirror of https://github.com/danbee/mpd-client synced 2025-03-04 08:39:09 +00:00
mpd-client/lib/mpd_client.rb
2013-12-12 11:52:00 +00:00

46 lines
1.2 KiB
Ruby

require 'forwardable'
require 'ruby-mpd'
require 'set'
module MPDClient
autoload :Jsonable, File.expand_path('mpd_client/jsonable.rb', __dir__)
autoload :ClassToProc, File.expand_path('mpd_client/class_to_proc.rb', __dir__)
autoload :Connection, File.expand_path('mpd_client/connection.rb', __dir__)
autoload :Song, File.expand_path('mpd_client/song.rb', __dir__)
autoload :Album, File.expand_path('mpd_client/album.rb', __dir__)
autoload :Artist, File.expand_path('mpd_client/artist.rb', __dir__)
autoload :Control, File.expand_path('mpd_client/control.rb', __dir__)
autoload :Queue, File.expand_path('mpd_client/queue.rb', __dir__)
MPD_HOST = ENV.fetch('MPD_HOST', 'localhost')
MPD_PORT = ENV.fetch('MPD_PORT', 6600)
def self.connect!
@conn ||= Connection.new(MPD_HOST, MPD_PORT)
@conn.connect unless @conn.connected?
@conn
end
def self.conn
@conn
end
def self.status
self.conn.status
end
def self.listen(&block)
self.conn.instance_eval(&block)
end
def self.connect_user(conn)
self.conn.connected_users << conn
end
def self.disconnect_user(conn)
self.conn.connected_users.delete(conn)
end
end