Skip to content
This repository

OpenSound Control for Ruby

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 examples
Octocat-spinner-32 lib
Octocat-spinner-32 test
Octocat-spinner-32 AUTHORS
Octocat-spinner-32 ChangeLog
Octocat-spinner-32 GPL.txt
Octocat-spinner-32 LICENSE
Octocat-spinner-32 README
Octocat-spinner-32 Rakefile
Octocat-spinner-32 TODO
Octocat-spinner-32 setup.rb
README
= rosc - OpenSound Control for Ruby
== Synopsis

    require 'osc'

    Host = 'localhost'
    Port = 5000

    s = OSC::UDPServer.new
    s.bind Host, Port

    c = OSC::UDPSocket.new
    m = OSC::Message.new('/foo', 'fi', Math::PI, 42)
    c.send m, 0, Host, Port

    s.add_method '/f*', 'fi' do |msg|
      domain, port, host, ip = msg.source
      puts "#{msg.address} -> #{msg.args.inspect} from #{host}:#{port}"
    end
    Thread.new do
      s.serve
    end
    sleep 5

    #=> /foo -> [3.14159274101257, 42] from localhost:50843

== Requirements
- Ruby

== Installation

    sudo ruby setup.rb

== Details
See the OSC home page[1], especially the "State of the Art" paper (for an
overview) and the specification. This library makes OSC easy, but you will
still need to understand OSC concepts and limitations.

The important classes are Message, Bundle, UDPSocket, and UDPServer. If you
want to make your own server on a different transport (e.g. TCP or UNIX
sockets, which are still on the TODO list), you will want to use the Server
mixin.

Please read the AUTHORS file for credits and see the TODO list for planned
enhancements.

1. http://www.cnmat.berkeley.edu/OpenSoundControl

== Examples
Send me your interesting examples and I'll include them.

== License
Copyright (C) 2007 Hans Fugal and Tadayoshi Funaba

Distributed under Ruby's license. See the LICENSE file.
Something went wrong with that request. Please try again.