{"id":21570408,"url":"https://github.com/arirusso/micro-osc","last_synced_at":"2025-04-10T14:12:59.192Z","repository":{"id":56883545,"uuid":"2634149","full_name":"arirusso/micro-osc","owner":"arirusso","description":"A Ruby DSL for OSC","archived":false,"fork":false,"pushed_at":"2012-03-25T22:42:16.000Z","size":109,"stargazers_count":8,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-24T00:39:22.403Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arirusso.png","metadata":{"files":{"readme":"README.rdoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-10-24T04:17:29.000Z","updated_at":"2019-07-15T23:07:51.000Z","dependencies_parsed_at":"2022-08-20T22:31:03.870Z","dependency_job_id":null,"html_url":"https://github.com/arirusso/micro-osc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arirusso%2Fmicro-osc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arirusso%2Fmicro-osc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arirusso%2Fmicro-osc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arirusso%2Fmicro-osc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arirusso","download_url":"https://codeload.github.com/arirusso/micro-osc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248232782,"owners_count":21069490,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-24T11:12:33.641Z","updated_at":"2025-04-10T14:12:59.172Z","avatar_url":"https://github.com/arirusso.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"= MicroOSC\n\nA Ruby DSL for OSC\n\n== Features\n\n* Works with MRI and JRuby\n* Network resources are invisible to the user even when shared or multiplexed\n* Includes shortcuts for common tasks associated with OSC such as translating numeric values from one range to another\n* Network discoverable using {Zeroconf}[http://en.wikipedia.org/wiki/Zero_configuration_networking]\n\n== Requirements\n\nRuby (MRI) 1.9.2+ or JRuby (in 1.9 mode)\n\n{eventmachine}[http://github.com/eventmachine/eventmachine] (version 0.12.8 recommended for MRI)\n\n{osc-access}[http://github.com/arirusso/osc-access]\n\n{osc-ruby}[http://github.com/aberant/osc-ruby]  \n\n(These should install automatically with the gem)\n\nFor Zeroconf support, {dnssd}[http://github.com/tenderlove/dnssd] is required.\n\n== Installation\n\n  gem install micro-osc\n  \n== Usage\n\nThe following are two MicroOSC programs; the first will receive OSC messages and the second will send one.  Run them in two separate windows and they will talk to each other.\n\nHere's the receiver...\n\n  require \"osc\"\n\n  OSC.using(:input_port =\u003e 8000) do\n  \n    receive(\"/greeting\") { |val| p \"received #{val}\" }\n    \n    p \"Ready to receive OSC messages on port(s) #{input_ports.join(', ')}...\"\n    \n    wait_for_input\n\n  end\n  \nWhen you run this, You should see confirmation that the program is running \"Ready to receive OSC...\" in your Ruby console.\n  \nNext, in another window run this next client program.\n\n  require \"osc\"\n\n  o = OSC.using(:output =\u003e { :host =\u003e \"localhost\", :port =\u003e 8000 })\n  o.out \"/greeting\", \"hullo!\"\n\nAfter running it, flip back to the first receiver program and see \"received hullo!\", confirming that these two programs could reach each other.\n\nNotice that I didn't use a Ruby block in the second program.  There's no particular reason for that other than to demonstrate both styles\n\nA single MicroOSC block can act as a client and receiver, both sending and receiving OSC ({see here...}[http://github.com/arirusso/micro-osc/blob/master/examples/duplex.rb])\n\nThese examples and more are available {here}[http://github.com/arirusso/micro-osc/tree/master/examples]\n\n== Other Documentation\n\n* {rdoc}[http://rubydoc.info/github/arirusso/micro-osc] \n\n== License\n\nLicensed under Apache 2.0, See the file LICENSE\n\nCopyright © 2011-2012 Ari Russo\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farirusso%2Fmicro-osc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farirusso%2Fmicro-osc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farirusso%2Fmicro-osc/lists"}