Docs Parameters

ExprHotStrings

Abbreviations that expand into TouchDesigner expressions as you type in a parameter field.

◎ Parameters Hub tab

Where it appears

Read off the registry hosts in the component, so this is where the tool puts itself in a default install; every one of these can be reordered or hidden from Hub.

ExprHotStrings

YouTube breakdown

Define Abbreviations in the first column that when used in a parameter expression will expand to the string defined in the Expands column. Type #AT for absTime.seconds! With Replace inline enabled on the component (off by default; without it an abbreviation only expands when it is the entire expression) the abbreviations work in-line too, meaning you can type #AT * 0.2 or even combine them!

Most of the behaviors below live behind their own toggle on the component, and only CustomPar Promote Enable is on by default: #@op Wrap Enable gates #@, #! Parent Shortcut Enable gates #!/#!!.

There is a special reserved abbreviation, #@ which will wrap anything valid after it in op('...'). So #@noise1.par.amp becomes op('noise1').par.amp saving you some heavy keystrokes!

Another special abbreviation #! will resolve to the closest parent shortcut, as well as #!! will also add a .par after it!

  • #!.par.Something -> parent.Project.par.Something (for example)
  • #!!Something -> parent.Project.par.Something (for example)
  • Encouraging even more to use parent shortcuts (which you can easily add by ctrl+shift-clicking on the diamond button

Two more abbreviations promote the parameter you're typing in straight to its parent (via CustomParTools, if installed) and replace themselves with the resulting shortcut path:

  • #@! promotes with a Bind reference
  • #@~ promotes with an Expression reference
  • Leave off a name to reuse the parameter's own name, or supply one, e.g. #@!MyName

IMPORTANT: due to what's available through the TD API, you need to have your mouse over the parameter box when finishing typing (either by clicking away, in which case you need to move the mouse over to the parameter again, or my suggested way of hitting Enter).

Parameters

Its Registry page comes from FNS_ConfigRegistry and FNS_HubRegistry.

Custom

ControlType / defaultWhat it does
Replace inlineReplaceinline on / offoff Expand an abbreviation anywhere inside an expression, not only when it is the whole expression. Off by default: with it on you can write '#AT * 0.2' and combine abbreviations.
CustomPar Promote Enable (#@! for binds, #!~ for refs)Customparpromoteenable on / offon Enable the promote abbreviations: '#@!' binds a parameter to the parent and '#!~' references it. On by default.
ExternalizeSync on / offoff Externalize the abbreviation table to a file on disk, so it can be edited outside TouchDesigner and version-controlled.
#@op Wrap EnableOpenable on / offoff Enable the '#@' abbreviation, which wraps whatever follows in op('...'). '#@noise1.par.amp' becomes op('noise1').par.amp.
#! Parent Shortcut EnableParentshortcutenable on / offoff Enable the '#!' abbreviations, which resolve to the closest parent shortcut ('#!' alone, or '#!!' with .par appended).
Edit TableOpen button Open the abbreviation table, where the first column is what you type and the second is what it expands to.

Edit this page on GitHub →