Skip to main content
Glama

Create Synesthesia / Unreal OSC preset send

create_synesthesia_unreal_osc

Set up OSC output presets to send TouchDesigner control data to Synesthesia or Unreal Engine. Configure address prefix, port, and control names for reliable communication.

Instructions

Build a named OSC-out preset map for driving Synesthesia or Unreal Engine from TouchDesigner. Picks a preset ('synesthesia' → prefix '/syn', port 6448; 'unreal' → prefix '/unreal', port 8000), builds a Constant CHOP with one named channel per control (channel name = '/' so an oscoutCHOP emits the exact address the target app expects), and wires it into an oscoutCHOP aimed at host:port. Override the control names, prefix, host, or port as needed. This is the preset layer on top of create_external_io osc_out — it fills in the address templates and default control set so the send 'just works' with the target app. Bind audio/analysis to the source channels (e.g. op('controls')['syn/Bass']) to make the receiving app react.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hostNoDestination IP the OSC messages are sent to (the machine running Synesthesia / Unreal).127.0.0.1
nameNoBase name for the container COMP.osc_send
portNoUDP port to send OSC to. Null uses the preset's default (Synesthesia 6448, Unreal 8000).
activeNoStart sending immediately. Defaults off so you can confirm the destination host/port first.
prefixNoOverride the preset's OSC address prefix (the part before the control name). Null uses the preset default (syn / unreal).
presetNoNamed OSC-out preset — sets the address prefix, default port, and default control names for Synesthesia or Unreal Engine.synesthesia
controlsNoOverride the preset's control names. Each becomes an OSC address '/<prefix>/<name>' and a channel on the source Constant CHOP you drive/bind.
parent_pathNoCOMP to create the OSC-out chain in (default '/project1')./project1
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate a non-read-only, non-destructive creation operation. The description adds valuable behavioral context beyond these flags: it explains the internal construction (Constant CHOP with named channels, wiring into oscoutCHOP), the channel naming convention ('<prefix>/<control>'), and the preset port mappings. This gives the agent a clear picture of what the tool does mechanically, without contradicting the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact yet information-dense, with no wasted words. Each sentence contributes: the core purpose, the preset details, the construction mechanism, the relationship to create_external_io, and a practical binding example. It is front-loaded with the main action and maintains focus throughout.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a create tool with no output schema and 8 parameters, the description covers the full workflow: what gets built, how addresses are formed, how to customize overrides, and how to bind audio/analysis. It could list the default control names, but that is a minor gap given the schema permits null defaults and the description indicates the presets fill them in.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the baseline is 3. The description enriches parameter understanding by showing how preset, prefix, port, and controls interact: it details the preset-to-prefix/port mapping (synesthesia → /syn, 6448; unreal → /unreal, 8000), and explains how control names become OSC addresses and channel names. This holistic explanation goes beyond the individual schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Build a named OSC-out preset map for driving Synesthesia or Unreal Engine from TouchDesigner', which clearly identifies the tool's specific verb, resource, and target applications. It further distinguishes itself from siblings by explicitly positioning itself as 'the preset layer on top of create_external_io osc_out' and detailing the preset-specific behavior (prefixes, ports), making the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly names create_external_io as the lower-level alternative and states this tool fills in the address templates and default control set, giving clear context for when this preset layer should be used. It lacks an explicit 'do not use when...' statement, but the positioning is strong enough to infer the appropriate usage boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lucasmaher-hash/touch-designer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server