Skip to main content
Glama

Create look bank

create_look_bank

Store and recall named parameter snapshots in TouchDesigner, with instant jumps or crossfades and A/B morph blending between two looks.

Instructions

A playable snapshot row: store N named 'looks' (snapshots of a control COMP's numeric/toggle/menu parameters) in a visible, editable Table DAT, with one momentary recall button per slot (snap or crossfade) plus a master A↔B morph knob that blends continuously between two chosen looks. Reuses manage_cue's morph engine (so a recall behaves exactly like a cue morph, with optional beat/bar quantize) and mirrors slots into the COMP's cues so they interoperate with manage_cue / create_control_surface. Pulses and strings are always skipped at capture. Build cues/params with create_control_panel first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
abNo(set_ab) Optionally set the A↔B knob position now (0 = slot A, 1 = slot B, 0.5 = halfway). Omit to just (re)assign the slots.
nameNoName of the look-bank panel container built inside comp_path.look_bank
slotNoSlot name (required for store / recall / delete).
actionNobuild: create the look-bank container (Table DAT + A↔B morph knob + recall button row) on a control COMP. store: snapshot the COMP's current numeric look into a named slot. recall: jump or crossfade to a slot. set_ab: assign which two slots the A↔B knob blends, and optionally set the knob. list / delete slots.build
slot_aNo(set_ab) Slot the A↔B knob reads at value 0.
slot_bNo(set_ab) Slot the A↔B knob reads at value 1.
includeNo(store) Restrict the snapshot to these custom-parameter names. Omit to capture every numeric/toggle/menu parameter (pulses and strings are always skipped).
quantizeNo(recall) Defer the snap/crossfade to the next musical boundary (project tempo), so look changes land on the downbeat. Mirrors manage_cue.off
comp_pathNoControl COMP whose custom-parameter values the looks capture (a control-panel container, e.g. from create_control_panel). The look-bank widgets are built inside it; recall drives this COMP's params./project1
morph_secondsNo(recall) 0 = snap instantly; >0 = crossfade to the slot over this many seconds (eased), via the cue morph engine.
Behavior5/5

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

Beyond the sparse annotations (readOnly=false, openWorld=true, destructive=false), the description adds crucial behavioral details: 'Pulses and strings are always skipped at capture', recall 'behaves exactly like a cue morph', and slots are mirrored into the COMP's cues. It also mentions the visible/editable Table DAT and the momentary recall button behavior, providing substantial transparency beyond annotations.

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

Conciseness4/5

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

The description is a dense single paragraph but front-loaded with the core concept ('A playable snapshot row') and every clause adds useful information. It is concise relative to the tool's complexity, though it could be restructured with bullets for even easier parsing. No filler or repetition.

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 tool with 10 parameters and no output schema, the description covers the main capabilities: building, storing, recalling, morphing, interop with manage_cue/create_control_surface, and the prerequisite of building with create_control_panel. It does not explicitly mention the list/delete actions, but those are self-explanatory from the schema's action enum. Overall, it provides enough context for correct usage.

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?

Schema coverage is 100%, so the baseline is 3. The description adds meaningful context on top: it clarifies that pulses/strings are always skipped (impacting the `include` parameter), that recall behaves like a cue morph with optional beat/bar quantize (for `quantize` and `morph_seconds`), and that `comp_path` should point to a control-panel container built with create_control_panel. This goes beyond the schema descriptions, though it doesn't independently explain every parameter.

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 clearly states the tool's purpose: it creates a playable snapshot row (look bank) that stores named looks of a control COMP's parameters, with recall buttons and an A/B morph knob. It is specific about the resource (control COMP) and distinguishes from siblings by explicitly referencing reuse of manage_cue's morph engine and interoperability with manage_cue/create_control_surface.

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 provides clear context on usage: it tells users to build cues/params with create_control_panel first, and explains how this tool relates to manage_cue and create_control_surface. However, it lacks explicit exclusions or direct comparisons with alternative tools like manage_presets or create_preset_morph, so it doesn't fully earn a 5.

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