# osc-emitter

Takes various sensor inputs and outputs a stream of OSC messages.

Install Dependencies
brew install portmidi
go get
go get

- main loop manages slice of Instruments, with reads and writes flowing through channels.
- separate loops will receive input form sensors (or the web simulation) and update Instruments.
- each Instrument will send a constant stream of OSC messages to N receivers.

Run it
go run main.go serve.go instrument.go -c config/test.json

- Load the web manager ui to view instrument state: http://localhost:8080/manager.html
- Load the web simulation ui to change state: http://localhost:8080/simulation.html (works on mobile, just change localhost to the proper ip)
- start things that listen for OSC and map stuff

Create other config files for other situations.

- instrument interface to create other types of instruments
- refactor current instrument implemenation to utilize a general interface
- create other types of instruments (linear/rotary encoder, always on/off, others)
- web ui using config files with config endpoint for js
- how to tweak config settings during performance?
- better web sim physics

Imports 2 package(s) ΒΆ