Sha256: 00c7025b328ed5630fa2f8ee9ed4aef95c75567fc5a4e282bcfec0fe1764bc9e

Contents?: true

Size: 791 Bytes

Versions: 2

Compression:

Stored size: 791 Bytes

Contents

require "xi/osc/version"
require 'osc-ruby'

module Xi
  module OSC
    def initialize(name, clock, server: 'localhost', port:, **opts)
      super
      @osc = ::OSC::Client.new(server, port)
    end

    private

    def send_msg(address, *args)
      msg = message(address, *args)
      debug(__method__, msg.address, *msg.to_a)
      send_osc_msg(msg)
    end

    def send_bundle(address, *args, at: Time.now)
      msg = message(address, *args)
      bundle = ::OSC::Bundle.new(at, msg)
      debug(__method__, msg.address, at.to_i, at.usec, *msg.to_a)
      send_osc_msg(bundle)
    end

    def message(address, *args)
      ::OSC::Message.new(address, *args)
    end

    def send_osc_msg(msg)
      @osc.send(msg)
    rescue StandardError => err
      error(err)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
xi-lang-0.2.1 lib/xi/osc.rb
xi-lang-0.2.0 lib/xi/osc.rb