Docs Developer

SeqMod

Watches a sequence of parameters on any COMP: name the target and the sequence, and the block parameters are published as one list, with a callback for every block added or removed.

⌨ Developer ◆ Patreon:Base

This tool unlocks with Patreon. It installs through the same picker as everything else and unlocks with the Patreon Base tier or higher, connected from inside TouchDesigner. Everything else in the toolkit stays free and MIT, and the membership is what keeps that work moving.

Join on Patreon → How unlocking works →

What it is

Sequence parameters (the Items0name, Items1name, ... blocks TouchDesigner grows and shrinks) are awkward to drive from outside: the names change with the count, and nothing tells you when a block appears. SeqMod sits beside the COMP that owns the sequence, keeps the list of block parameters current, publishes them as Par Names and as a table on out1, and fires a callback for every block added or removed. Wire it to a replicator, a UI builder or your own script and the sequence becomes something you can react to.

Point COMP at the target, set Seq Name to the sequence's name, and the tool follows the count from there. References resolve from SeqMod itself: a bare name is a sibling of SeqMod, .. (the default) is the network SeqMod sits in, and something inside SeqMod needs ./name. The same rule applies to the Callbacks DAT.

It is a member of the FNS operator family: pick it from the FNS tab of the OP Create dialog and it lands as one node.

Callbacks

Create Callbacks makes a DAT with two hooks, called once per block:

  • OnAddBlock(seqBlock): a block was added; seqBlock is the new block.
  • OnRemoveBlock(seqBlock_idx): a block was removed; the index it had.

Retargeting the tool to another COMP or sequence does not fire them. Errors raised inside a callback are reported on SeqMod itself.

Parameters

Custom

ControlType / defaultWhat it does
COMPComp operator.. The COMP that owns the sequence, resolved like any OP parameter on SeqMod: a bare name ('geo1') is a sibling in the network SeqMod sits in, '..' is that network itself, and a child of SeqMod needs './name'.
Seq NameSeqname textempty Name of the parameter sequence on the target COMP: the part before the block index (Items for Items0name, Items1name, ...). Empty publishes nothing.
ParNamesParnamesread-only textempty Read-only. Every block parameter of the sequence as space-separated patterns (Itemsname Itemslevel), republished whenever blocks are added or removed.

Callbacks

ControlType / defaultWhat it does
CallbacksCallbacks operatorempty DAT holding OnAddBlock(seqBlock) and OnRemoveBlock(seqBlock_idx). A bare name is a sibling of SeqMod; a DAT inside it needs './name'. Defaults to the built-in no-op template; Create Callbacks makes an editable one.
Create CallbacksCreatecallbacks button Create an editable callbacks DAT from the template and point Callbacks at it.

Edit this page on GitHub →