Class: Live::Handler

Inherits:
Handler show all
Defined in:
lib/live/handler.rb

Instance Method Summary collapse

Constructor Details

#initialize(osc_server, osc_client, tracks, logger:) ⇒ Handler

Returns a new instance of Handler.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/live/handler.rb', line 5

def initialize(osc_server, osc_client, tracks, logger:)
  super()

  @server = osc_server
  @client = osc_client

  @tracks = tracks

  @logger = logger

  @server.add_method '/hello' do |message|
    @logger.info "Received /hello #{message.to_a}!"
    sync
  end

  @server.add_method '/musalce4live/tracks' do |message|
    @tracks.grant_registry_collection(message.to_a.each_slice(10).to_a)
  end

  @server.add_method '/musalce4live/track/name' do |message|
    message.to_a.each_slice(2).to_a.each do |track_data|
      @tracks.grant_registry(track_data[0], track_data[1])
    end
  end

  @server.add_method '/musalce4live/track/midi' do |message|
    message.to_a.each_slice(3).to_a.each do |track_data|
      @tracks.grant_registry(track_data[0], *([nil] * 1), *track_data[1..])
    end
  end

  @server.add_method '/musalce4live/track/audio' do |message|
    message.to_a.each_slice(3).to_a.each do |track_data|
      @tracks.grant_registry(track_data[0], *([nil] * 3), *track_data[1..])
    end
  end

  @server.add_method '/musalce4live/track/routings' do |message|
    message.to_a.each_slice(5).to_a.each do |track_data|
      @tracks.grant_registry(track_data[0], *([nil] * 5), *track_data[1..])
    end
  end
end

Instance Method Details

#syncObject



49
50
51
# File 'lib/live/handler.rb', line 49

def sync
  send_osc '/musalce4live/tracks'
end