OSC fixes
This commit is contained in:
@@ -9,12 +9,14 @@ Set the UDP port in `config/runtime-host.json`:
|
||||
```json
|
||||
{
|
||||
"oscBindAddress": "127.0.0.1",
|
||||
"oscPort": 9000
|
||||
"oscPort": 9000,
|
||||
"oscSmoothing": 0.18
|
||||
}
|
||||
```
|
||||
|
||||
Set `oscPort` to `0` to disable the OSC listener.
|
||||
Set `oscBindAddress` to `127.0.0.1` to keep OSC local to the host, or `0.0.0.0` to listen on all IPv4 interfaces.
|
||||
Set `oscSmoothing` to a value from `0.0` to `1.0` to add a subtle per-frame easing amount for numeric OSC controls. `0.0` disables smoothing, and larger values respond more quickly.
|
||||
|
||||
## Address Pattern
|
||||
|
||||
@@ -63,6 +65,8 @@ The listener accepts these OSC argument types:
|
||||
|
||||
Single-argument messages become scalar JSON values. Multi-argument messages become JSON arrays, which lets OSC drive `vec2` and `color` parameters.
|
||||
|
||||
OSC updates are coalesced by target route and applied once per render tick, so rapid controller motion does not force one runtime mutation, disk write, and UI push per incoming UDP packet. Numeric OSC controls can also be slightly smoothed with `oscSmoothing`.
|
||||
|
||||
Examples:
|
||||
|
||||
```text
|
||||
@@ -74,6 +78,8 @@ Examples:
|
||||
|
||||
Values are validated with the same shader parameter rules used by the REST API. Invalid values or unknown addresses are ignored and reported to the native debug output.
|
||||
|
||||
OSC-driven parameter changes are not autosaved to `runtime/runtime_state.json`. Stack edits made through the UI and preset operations still persist as before. Smoothing only applies to numeric controls such as floats, `vec2`, and `color`; booleans, enums, text, and triggers stay immediate.
|
||||
|
||||
For `trigger` parameters, the OSC value is treated as a pulse. A simple integer or boolean message is enough:
|
||||
|
||||
```text
|
||||
|
||||
Reference in New Issue
Block a user