Class: Vizcore::Sync::OscMessage

Inherits:
Object
  • Object
show all
Defined in:
lib/vizcore/sync/osc_message.rb

Overview

Minimal OSC 1.0 message parser for control sync.

Defined Under Namespace

Classes: Parser

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(address:, arguments: []) ⇒ OscMessage

Returns a new instance of OscMessage.

Parameters:

  • address (String)
  • arguments (Array) (defaults to: [])


25
26
27
28
# File 'lib/vizcore/sync/osc_message.rb', line 25

def initialize(address:, arguments: [])
  @address = address
  @arguments = Array(arguments)
end

Instance Attribute Details

#addressObject (readonly)

Returns the value of attribute address.



7
8
9
# File 'lib/vizcore/sync/osc_message.rb', line 7

def address
  @address
end

#argumentsObject (readonly)

Returns the value of attribute arguments.



7
8
9
# File 'lib/vizcore/sync/osc_message.rb', line 7

def arguments
  @arguments
end

Class Method Details

.parse(data) ⇒ Vizcore::Sync::OscMessage?

Parameters:

  • data (String)

Returns:



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/vizcore/sync/osc_message.rb', line 11

def self.parse(data)
  parser = Parser.new(data)
  address = parser.read_string
  return nil unless address&.start_with?("/")

  tags = parser.read_string
  arguments = parser.read_arguments(tags)
  new(address: address, arguments: arguments)
rescue StandardError
  nil
end