CHOP Execute DAT

From TouchDesigner 099 Wiki
Revision as of 19:54, 24 July 2017 by Ben (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Summary

The CHOP Execute DAT will run its script when the channel 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.

PythonIcon.png chopexecuteDAT_Class

Parameters

Active /active - While on, the DAT will respond to the CHOP that is referenced.

Execute From /executeloc - (Tscript only) Determines the location the script is run from.

  • Current Node /current - (Tscript only) The script is executed from the current node location.
  • 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 Operator /from - The path that the script will be executed from if the Execute From parameter is set to Specified Operator.

CHOP /chop - The CHOP whose channel change will trigger the DAT to execute its script.

Channel /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 onOffToOn() 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 onOnToOff() 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.
  • Value Change /change - The onValueChange() method executes when the channel specified changes value in any way. It is called once each frame.

While On/On Frequency /freq - Enabled when using the While On or While Off options above. Determines if the DAT executes For Every Sample or Once Per Frame.

Edit... button /edit - Clicking this opens a text editor to edit text in 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:

  • arg0 path of the CHOP Execute DAT
  • arg1 type of trigger (offtoon, change, ...
  • arg2 path of the CHOP
  • arg3 current sample value
  • arg4 CHOP channel name
  • arg5 CHOP channel index
  • arg6 channel sample index

The sample index is compatible with the chopi() expression (it may not necessarily start with 0, but the CHOP's index range).