Docs CHOPs & sensing
ChopProcess
Shapes channels in one node: limit, remap between ranges with an exponent curve, zero at the bottom, lag, and an optional speed mode that turns the result into a running total. An alternative for the Math CHOP.
∿ CHOPs & sensing ◆ Patreon:Base OP Create menu entry
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.
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.
- OP Create menu entryposition 0
What it is
ChopProcess is the chain you build after almost every controller, in one node. It limits the incoming values to a range, remaps that range onto another through an exponent curve, glides toward new values with a lag, and can treat the result as a speed and output its running total instead. Every channel of the input goes through it, so one node shapes a whole fader bank.
Zero Below makes the bottom of the input range output 0 instead of the bottom of the output range. It's handy when a fader should switch something fully off at its lowest point but start from a useful value as soon as it moves.
It is the alternative for the Math CHOP: create a Math CHOP with the alternatives shortcut held and ChopProcess is offered in its place, wired into the same spot. It is also a member of the FNS operator family: pick it from the FNS tab of the OP Create dialog and it lands as one node.
Input and output
- in1 (CHOP): the channels to process. With nothing connected, the Value parameter is processed instead.
- out1 (CHOP): the processed channels.
Parameters
Custom
| Control | Type / default | What it does |
|---|---|---|
ValueValue |
number0 | The value to process when nothing is wired into the input. |
NameName |
textempty | Rename the output channels: names separated by spaces, one per channel, or a pattern like chan[1-4]. Empty keeps the input's names. |
TypeType |
menuOff | What happens outside the From Range: off lets values through, clamp holds them at the ends, loop wraps them round, zigzag bounces them back. |
From RangeFromrange |
number-1 | The input range. With Type set to clamp, loop or zigzag this is also the limit. |
To RangeTorange |
number0 | The output range the From Range maps onto. |
Zero BelowZerobelow |
on / offoff | Output 0 while the input sits at the bottom of the From Range, instead of the bottom of the To Range. Only with Type set to clamp. |
Exponent ValueExpval |
number2 | Exponent for the curve between the ranges: 1 is linear, above 1 eases in, below 1 eases out. |
LagLag |
number0.2 | Seconds to glide up and down toward a new value. |
| Speed | ||
Is SpeedIsspeed |
on / offoff | Treat the processed value as a speed and output its running total instead, so a held input keeps moving. |
Limit TypeLimittype |
menuOff | What happens when the running total leaves Minimum and Maximum. |
MinimumMin |
number0 | Lower limit for the running total. |
MaximumMax |
number1 | Upper limit for the running total. |
Reset ValueResetvalue |
number0 | The value the running total returns to on reset. |
ResetReset |
on / offoff | Hold the running total at the Reset Value while on. |
Reset PulseResetpulse |
button | Return the running total to the Reset Value once. |