1.3 KiB
OSC Control
Video Shader Toys can listen for local OSC messages and map them onto shader layer parameters.
Configuration
Set the UDP port in config/runtime-host.json:
{
"oscPort": 9000
}
Set oscPort to 0 to disable the OSC listener.
Address Pattern
Send OSC messages to:
/VideoShaderToys/{LayerNameOrID}/{ParameterNameOrID}
Examples:
/VideoShaderToys/layer-1/brightness
/VideoShaderToys/VHS/intensity
/VideoShaderToys/TemporalLowFPS/frameRate
Layer keys are resolved against:
- Layer ID, such as
layer-1 - Shader package ID, such as
vhs - Shader display name, such as
VHS
Parameter keys are resolved against:
- Parameter ID from
shader.json - Parameter label from
shader.json
Matching is exact first. If that fails, names are compared in a simplified form that ignores spaces, underscores, hyphens, and casing. For live control, prefer stable IDs where possible.
Values
The listener accepts one OSC argument per message:
f: floati: integers: stringT/F: boolean true/false
Values are validated with the same shader parameter rules used by the REST API. Invalid values or unknown addresses are ignored.
Network
The listener binds to localhost only:
127.0.0.1:<oscPort>
This keeps the control surface local to the machine running Video Shader Toys.