55 lines
1.6 KiB
Markdown
55 lines
1.6 KiB
Markdown
|
# Godot 4 OSC Demo
|
||
|
|
||
|
An example project for the [Godot 4 engine](https://godotengine.org),
|
||
|
demonstrating support for [Open Sound Control](https://opensoundcontrol.org)
|
||
|
(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](https://choosealicense.com/licenses/mit/) License
|
||
|
|
||
|
See the file [LICENSE.md](./LICENSE.md) for details.
|
||
|
|
||
|
|
||
|
## Authors
|
||
|
|
||
|
- [Christopher Arndt](https://www.github.com/SpotlightKid)
|
||
|
|
||
|
|
||
|
## Acknowledgements
|
||
|
|
||
|
* Inspired by [example_godot_gdscript_osc](https://github.com/shimpe/example_godot_gdscript_osc)
|