CHOP Execute DAT
The CHOP Execute DAT will run its script when the values of a specified CHOP change. You can specify which channels to look at, and trigger based on their values changing in various ways. The script gets called for every sample that changes, so when rendering one frame, it may get called 2 or more times per channel, depending on how many frames forward TouchDesigner has stepped (see Time Slicing).
CHOP Execute DATs are created with default python method placeholders. For each monitored condition in the parameters, there is a matching python method in the DAT. When a condition is turned on in the parameters, each time that condition is satisfied the corresponding python method will be executed.
/active - While on, the DAT will respond to the CHOP that is referenced.
/executeloc - Determines the location the script is run from.
- Current Node
/current- The script is executed from the current node location (for example, where the pc Command points to).
- This Node
/here- The script is executed from the parent of the DAT. The DAT executes from the parent to make siblings of the DAT easy to access: DAT scripts used to execute from inside the DAT.
- Specified Operator
/op- The script is executed from the component specified in the Component parameter below.
/from - The path that the script will be executed from if the Execute From parameter is set to Specified Operator.
/chop - The CHOP whose channel change will trigger the DAT to execute its script.
/channel - Which channel will trigger change.
CHOP Execute Conditions - Python methods in the DAT will execute based on a combination of the five trigger events listed below. The method is executed once per trigger (except for While On/While Off cases). Each event will only cause one trigger to go off (i.e. if both Off to On and On Value Change are checked, one event will be fired with Off to On as the trigger). Logic for the 'on' state is greater than zero.
- Off to On
/offtoon- The offToOn() method executes when the channel specified switches from off to on, called at the first "on" frame.
- While On
/on- The whileOn() method executes when the channel specified is on. It is called once each frame.
- On to Off
/ontooff- The onToOff() method executes when the channel specified switches from on to off, called at the first "off" frame.
- While Off
/off- The whileOff() method executes when the channel specified is off. It is called once each frame.
- On Value Change
/change- The valueChange() method executes when the channel specified changes value in any way. It is called once each frame.
/freq - Enabled when using the While On or While Off options above. Determines if the DAT executes for Every Sample or One Sample Per Frame.
/edit - Clicking this opens a text editor to add/edit/delete text from the DAT.
Using Tscript Mode
Refer to this section if the CHOP Execute DAT is set to Tscript mode.
Arguments are passed to the script to describe what type of change was detected.
In Tscript you can view the arguments by including the command
echo $args in the script. These arguments are:
arg0path of the CHOP Execute DAT
arg1type of trigger (
arg2path of the CHOP
arg3current sample value
arg4CHOP channel name
arg5CHOP channel index
arg6channel sample index
The sample index is compatible with the
chopi() expression (it may not necessarily start with 0, but the CHOP's index range).