Docs Core
OpMenuRegistry
OP Create dialog surface registry: search words, row decorations, right-click items, filter stages. The raw master, promoted to /sys.
◈ Core
OpMenu Registry
The raw registry that manages TouchDesigner's OP Create dialog
(/ui/dialogs/menu_op) as a single surface. Several tools want to decorate that
one dialog at once, and without somewhere to arbitrate they would overwrite each
other's changes; the registry is that somewhere. Remove the tools and the dialog
goes back to stock.
It ships as its own core package, always installed,
promoted to /sys with the global shortcut op.FNS_OPMENUREGISTRY.
The user-facing mods that ride on it are documented under OpMenuMods.
What tools contribute
Six kinds of contribution, and the code for every one of them lives in the
publishing tool, in a callbacks DAT that tool owns. The registry only holds a
reference, so it never names a tool and a tool's menu behaviour travels inside
its own .tox:
- Search words: extra words that match an operator type, so
musicfinds Audio File In. See Custom Search Keywords. - Node-table decorations: relabel a row, such as the
>>>that OpTemplates puts beside every type you have a template for. - Right-click menu items: entries appended after TD's own three, such as OpTemplates' Edit Templates....
- Filter-chain nodes: Script DATs spliced into the node table's filter chain to filter or rewrite the operator list itself. Greg Hermanovic's IO filters are the worked example.
- Panel injection: Panel COMPs wired into the dialog at a named anchor.
- Alternatives: a tool, or a library of chains, that stands in for a stock
operator type. Create that type with the alternatives shortcut held (
Ctrl+Altby default, theAlternatives Shortcuton the registry's Alternatives page) and every alternative any installed tool declared is offered; one is placed in the fresh operator's place with its wiring restored, several open a picker. A tool that is downloaded to your store and not in the project is offered too, below a divider, and placed from disk. OpTemplates is the first contributor;>>>marks a type with an alternative in the project,>>one whose only alternatives are in the store.
Get it
Tick it on the install page and it installs with the rest of your setup and stays up to date.
Download FNS_OpMenuRegistry.tox Version 3.2.6, the tool on its own. It works in any project, and this copy never updates itself.
Parameters
Registration
| Control | Type / default | What it does |
|---|---|---|
Widget COMPComp |
operator.. | Panel COMP published as the toolbar widget. Defaults to the parent component. |
Canonical NameCanonicalname |
textempty | Unique name for this widget in the global toolbar registry. |
Callback DATCallback |
operatorempty | Optional DAT with toolbar callbacks for this widget. |
Create CallbacksCreatecallbacks |
button | Spawn an 'opmenu_callbacks' DAT into this tool from the registry's template and wire this host's Callback parameter to it. Safe to pulse again: an existing DAT is adopted, never overwritten. |
PanelPanel |
operatorempty | A Panel COMP to inject into /ui/dialogs/menu_op. The zero-code way to contribute a panel, with no callbacks DAT needed. Combined with anything onPanels() returns, not overridden by it. |
Panel AnchorPanelanchor |
textsearchpanel | Name of a panel inside /ui/dialogs/menu_op whose output the injected panel's input is wired to. Without it the panel drops out of the dialog's layout flow. Default: searchpanel. |
Auto-registerAutoregister |
on / offoff | When on, keep this widget published into the global toolbar registry while this component exists. |
RegisterRegister |
button | Publish once into the global toolbar registry, even if Auto-register is off. |
UnregisterUnregister |
button | Take this tool's contribution back out of the registry and turn Autoregister off, so it stays out. Register puts it back. |
Registration StatusRegstatusread-only |
textempty | Read-only status of this host registration. |
Contribution OrderMenuorder |
number-1 | Preferred order among registered widgets, managed by the global registry. -1 = no preference (append at the end). |
DisplayedDisplayed |
on / offon | Default visibility of the widget in the toolbar (managed by the global registry). |
Help URLHelpurl |
textempty | The tool's wiki/help page opened from the Configurator (right-click the Name cell). Leave empty to auto-discover from a docsHelper COMP (its Url par) inside the registered panel or its parent. |
Promote ParametersPromotepars |
on / offon | When on, the host mirrors its key Registration parameters onto the parent tool as a bound 'Registry' page. Turn off before shipping a tool that should not expose registry controls. |
Pre-Save HealPresaveheal |
on / offon | Before each project save, re-check this registry: update entries whose component moved, drop entries whose component is gone, and republish a host that initialised before the global registry existed. Off skips the sweep for this registry only. |
Alternatives
| Control | Type / default | What it does |
|---|---|---|
Alternatives ShortcutShortcutalternatives |
textalt ctrl | Modifier keys to hold while creating an operator to be offered the alternatives registered for its type (space-separated: alt, ctrl, shift, cmd). Without the keys the operator is created as normal. Applies on the /sys global; the master holds the value the global is promoted with. |
What it adds to a registered tool
Every tool that registers gets these on its own Registry page.
| Control | Type / default | What it does |
|---|---|---|
Create CallbacksCreatecallbacks |
button | Spawn an 'opmenu_callbacks' DAT into this tool from the registry's template and wire this host's Callback parameter to it. Safe to pulse again: an existing DAT is adopted, never overwritten. |
Auto-registerAutoregister |
on / offoff | When on, keep this widget published into the global toolbar registry while this component exists. |
RegisterRegister |
button | Publish once into the global toolbar registry, even if Auto-register is off. |
UnregisterUnregister |
button | Take this tool's contribution back out of the registry and turn Autoregister off, so it stays out. Register puts it back. |
Registration StatusRegstatusread-only |
textempty | Read-only status of this host registration. |
Contribution OrderMenuorder |
number-1 | Preferred order among registered widgets, managed by the global registry. -1 = no preference (append at the end). |
DisplayedDisplayed |
on / offon | Default visibility of the widget in the toolbar (managed by the global registry). |