Example Godot 4 project showing how to receive, dispatch and send Open Sound Control (OSC) messages
Go to file
Christopher Arndt 4e5e0f7345 Some function signature cleanup
Signed-off-by: Christopher Arndt <chris@chrisarndt.de>
2023-11-06 17:22:18 +01:00
.gitattributes Initial commit 2023-11-04 00:13:48 +01:00
.gitignore Initial commit 2023-11-04 00:13:48 +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 Some function signature cleanup 2023-11-06 17:22:18 +01:00
osc_sender.gd Some function signature cleanup 2023-11-06 17:22:18 +01:00
project.godot Android export and various tweaks 2023-11-04 23:45:43 +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 Some function signature cleanup 2023-11-06 17:22:18 +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