Example Godot 4 project showing how to receive, dispatch and send Open Sound Control (OSC) messages
Go to file
Christopher Arndt eaac73ab2e feat: several enhancements
* 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>
2023-11-13 08:13:07 +01:00
addons feat: several enhancements 2023-11-13 08:13:07 +01:00
gdUnit4@3fb08ac9ef feat: several enhancements 2023-11-13 08:13:07 +01:00
test feat: several enhancements 2023-11-13 08:13:07 +01:00
.gitattributes Initial commit 2023-11-04 00:13:48 +01:00
.gitignore Initial commit 2023-11-04 00:13:48 +01:00
.gitmodules feat: several enhancements 2023-11-13 08:13:07 +01:00
LICENSE.md Add readme and license 2023-11-05 00:16:56 +01:00
README.md Add readme and license 2023-11-05 00:16:56 +01:00
UI.tscn Some function signature cleanup 2023-11-06 17:22:18 +01:00
default_env.tres Initial commit 2023-11-04 00:13:48 +01:00
export_presets.cfg Android export and various tweaks 2023-11-04 23:45:43 +01:00
osc_receiver.gd feat: several enhancements 2023-11-13 08:13:07 +01:00
osc_sender.gd feat: several enhancements 2023-11-13 08:13:07 +01:00
project.godot feat: several enhancements 2023-11-13 08:13:07 +01:00
screenshot.png Some function signature cleanup 2023-11-06 17:22:18 +01:00
screenshot.png.import Some function signature cleanup 2023-11-06 17:22:18 +01:00
slider.gd Some function signature cleanup 2023-11-06 17:22:18 +01:00
testosc.sh Android export and various tweaks 2023-11-04 23:45:43 +01:00
toggle_button.gd Some function signature cleanup 2023-11-06 17:22:18 +01:00
ui.gd feat: several enhancements 2023-11-13 08:13:07 +01:00

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