Christopher Arndt
eaac73ab2e
* feat: added gdUnit4 addon * feat: added support for parsing OSC timetags to Unix time * feat: added more static types to function signatures * feat: OSCReceiver server handles up to `max_packets_per_poll` (default `10`) packets per poll interval. * feat: more than one callback can be registered and dispatched to for a single OSC Address * fix: correct padding for OSC strings * docs: added docstrings for exported variables Signed-off-by: Christopher Arndt <chris@chrisarndt.de> |
||
---|---|---|
addons | ||
gdUnit4@3fb08ac9ef | ||
test | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
LICENSE.md | ||
README.md | ||
UI.tscn | ||
default_env.tres | ||
export_presets.cfg | ||
osc_receiver.gd | ||
osc_sender.gd | ||
project.godot | ||
screenshot.png | ||
screenshot.png.import | ||
slider.gd | ||
testosc.sh | ||
toggle_button.gd | ||
ui.gd |
README.md
Godot 4 OSC Demo
An example project for the Godot 4 engine, demonstrating support for Open Sound Control (OSC) protocol, implemented in GDScript.
The project contains the class OSCReceiver
, implementing an OSC UDP server
and OSC message parser and dispatcher, as well as the class OSCSender
,
implementing an OSC client for sending OSC messages over UDP.
A simple UI with four sliders and four buttons, which each send OSC messages on changes and can be set via received OSC messages, demonstrates the use of these classes.
Limitations
This project is a prototype and the OSC implementaion does not have support for all the features laid out in the OSC 1.0 and 1.1 specifications.
-
No support for sending or receiving OSC bundles yet.
-
OSC timetags are not parsed or used.
Client code will receive them as 8-byte arrays and, for sending, must pass them in this form as well.
These are planned to be supported eventually.
- No support for the array typetags
[
and]
.
This might be supported at some later date.
- No support for OSC message dispatching based on adress patterns.
There are no plans to support the latter.
Furthermore the API ist still considered unstable and may still change.
License
MIT License
See the file LICENSE.md for details.
Authors
Acknowledgements
- Inspired by example_godot_gdscript_osc