huff listens for UDP OSC on port 9000 at 0.0.0.0 — any device on the same local network can send to it. The listener starts automatically when the app launches.
Setup
- Click the OSC button in the top bar.
- The status area confirms the listener is active and shows the port.
- Load a map file via 📂 Load Map…
- Move a control on your sender. The OSC pill in the top bar flashes the incoming address.
OSC Map Format
{
"name": "My TouchOSC Layout",
"version": 1,
"mappings": [
{ "param": "feedback", "addr": "/1/fader1", "type": "range",
"inputMin": 0, "inputMax": 1, "enabled": true },
{ "param": "corruptOn", "addr": "/1/toggle1","type": "toggle", "enabled": true },
{ "param": "refreshBtn", "addr": "/1/push1", "type": "trigger","enabled": true },
{ "_section": "Flow Warp" },
{ "param": "flowStrength","addr": "/2/fader1", "type": "range",
"inputMin": 0, "inputMax": 1, "enabled": true }
]
}
Field Reference
| Field | Required | Notes |
| param | yes | DOM element ID — see Parameter Reference |
| addr | yes | Full OSC address e.g. /1/fader1 |
| type | yes | range, toggle, or trigger |
| inputMin / inputMax | range only | Value range the sender emits. Default: 0 / 1 |
| enabled | no | false disables without deleting |
| _section | — | Divider row — rendered as a header, never dispatched |
Sending from Software
| Software | Code / Setting |
| Max/MSP | [udpsend 127.0.0.1 9000] |
| Pure Data | [netsend -u -b 127.0.0.1 9000] then [oscformat] |
| SuperCollider | NetAddr("127.0.0.1", 9000).sendMsg("/1/fader1", 0.75) |
| TouchDesigner | OSC Out DAT, host 127.0.0.1, port 9000 |
| Python (pythonosc) | SimpleUDPClient("127.0.0.1", 9000).send_message("/1/fader1", 0.75) |
TouchOSC Setup
- In TouchOSC go to Settings → OSC.
- Set Host to your computer's local IP.
- Set Port (outgoing) to
9000.
- Enable OSC.
- In huff's OSC panel, load
src/osc/touchosc-effects.json.
Bundled Layouts
| File | Contents |
| touchosc-effects.json | Main effects — Glitch, Feedback, Flow Warp, Symmetry |
| touchosc-mix.json | Mix layer — Base Mix, Scanlines, Solarize, Trails |
| generic-16.json | 16-parameter generic template using /huff/ prefix |