Class: Airplay::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/airplay/client.rb

Defined Under Namespace

Classes: ServerNotFoundError

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(server = false, server_browser = Airplay::Server::Browser) ⇒ Client

Returns a new instance of Client.



4
5
6
7
8
# File 'lib/airplay/client.rb', line 4

def initialize(server = false, server_browser = Airplay::Server::Browser)
  @server_browser = server_browser
  browse unless server
  use servers.first if !@servers.nil?
end

Instance Attribute Details

#active_serverObject (readonly)

Returns the value of attribute active_server.



2
3
4
# File 'lib/airplay/client.rb', line 2

def active_server
  @active_server
end

#password(password) ⇒ Object (readonly)

Returns the value of attribute password.



2
3
4
# File 'lib/airplay/client.rb', line 2

def password
  @password
end

#serversObject (readonly)

Returns the value of attribute servers.



2
3
4
# File 'lib/airplay/client.rb', line 2

def servers
  @servers
end

Instance Method Details

#browseObject



22
23
24
# File 'lib/airplay/client.rb', line 22

def browse
  @servers = @server_browser.browse
end

#find_by_name(name) ⇒ Object



18
19
20
# File 'lib/airplay/client.rb', line 18

def find_by_name(name)
  @server_browser.find_by_name(name)
end

#handlerObject



26
27
28
# File 'lib/airplay/client.rb', line 26

def handler
  Airplay::Protocol.new(@active_server.ip, @active_server.port, @password)
end

#scrubObject



42
43
44
# File 'lib/airplay/client.rb', line 42

def scrub
  Airplay::Protocol::Scrub.new(handler).send
end

#send_audio(audio, position = 0) ⇒ Object



38
39
40
# File 'lib/airplay/client.rb', line 38

def send_audio(audio, position = 0)
  Airplay::Protocol::Media.new(handler).send(audio, position)
end

#send_image(image, transition = :none) ⇒ Object



30
31
32
# File 'lib/airplay/client.rb', line 30

def send_image(image, transition = :none)
  Airplay::Protocol::Image.new(handler).send(image, transition)
end

#send_video(video, position = 0) ⇒ Object



34
35
36
# File 'lib/airplay/client.rb', line 34

def send_video(video, position = 0)
  Airplay::Protocol::Media.new(handler).send(video, position)
end

#use(server) ⇒ Object



10
11
12
# File 'lib/airplay/client.rb', line 10

def use(server)
  @active_server = server.is_a?(Airplay::Server::Node) ? server : @server_browser.find_by_name(server)
end