All Projects → bburdette → oscpad

bburdette / oscpad

Licence: MIT license
multi user OSC control panel server

Programming Languages

rust
11053 projects
Nix
1067 projects
shell
77523 projects

Projects that are alternatives of or similar to oscpad

OSCShark
OSC Shark is a tool for monitoring and analysing OSC (Open Sound Control) packets.
Stars: ✭ 24 (+26.32%)
Mutual labels:  osc-messages
osmid
osmid is a tool to bridge MIDI and OSC. It is currently in use in Sonic Pi
Stars: ✭ 63 (+231.58%)
Mutual labels:  osc-messages
gdosc
OSC module for Godot game engine - it is now discontinued in favor of https://gitlab.com/frankiezafe/gdosc
Stars: ✭ 14 (-26.32%)
Mutual labels:  osc-messages

oscpad

Configurable web controls with shared state, which send OSC messages. Overview/tutorial here

This is my 'getting to know you' project for elm and rust.

The idea is to have a simple way to configure a set of touch enabled buttons, sliders, and labels, which are presented on a web page. When the user manipulates the controls, websocket messages are sent to the server, which in turn sends out OSC messages to one or more target IP addresses. Incoming OSC messages can also change the control state, which is reflected in the clients. OSC is an easy protocol to support, good for 'internet of things' activities, such as robots, lamps, electronic instruments, etc.

Right now the controls are working for the most part. There is a label, button, slider, and sizer. There's an example project, echotest, which changes numbers in labels based on slider movement. There's also guisend, which reads a json control configuration file and sends it to oscpad, replacing whatever controls were there before.

Ultimately I'll make oscpad into a rust library as well as an application, for single-executable projects.

Some notes on elm compiling.

The elm build requires ambr, part of the amber cargo package. Install that with cargo install amber.

From the project directory, use ./build-elm.sh to build the elm and merge the js into stringDefaults.rs. Then do cargo build to get the rust server. Run the rust server with ./runit.sh. So to sum up:

0) cargo install amber
1) ./build-elm.sh
2) cargo build
3) ./runit.sh
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].