Yep — the TouchDesigner “print() equivalent” is basically Textport + a couple of OSC-friendly CHOP/DAT viewers.
1) Open the Textport
- Dialogs → Textport (or open it from the pane menus)
- If you use Python anywhere (callbacks, scripts),
print() output shows here.
But for OSC traffic specifically, you usually don’t even need Python.
2) Use an OSC In CHOP and view it
- Drop an OSC In CHOP
- Set:
- Network Port to the port you’re listening on
- (Optional) Address filtering if needed
- Then:
- Middle-click the node to see channels + values
- Or open the node and look at the Channels table
This is the most direct “what values am I getting right now?” view.
3) Use an OSC In DAT if you want raw messages
- Drop an OSC In DAT
- This shows incoming OSC messages in a table/log style (often nicer for “what addresses are coming in?”).
4) Route it into a DAT and watch it
Two common patterns:
- OSC In DAT → watch it directly (it updates as messages come in)
- Or if you’re using OSC In CHOP, you can add a CHOP to DAT to view channel/value changes in a table.
- Make sure the sender is hitting the right IP (127.0.0.1 vs your machine’s LAN IP)
- Port matches exactly
- If sender uses multicast/broadcast, you may need different settings/network interface
- Firewalls can block UDP on that port
If you tell me whether you’re using OSC In CHOP or OSC In DAT (and what you want to see: raw address strings vs parsed values), I’ll point you to the cleanest setup.