Text DAT

From TouchDesigner Documentation
Jump to: navigation, search

Summary
[edit]

The Text DAT lets you edit free-form, multi-line ASCII text. It is used for scripts, GLSL shaders, notes, XML and other purposes. "Free-form text" is one of the two forms of DATs (the other being tables of rows and columns of cells, each cell containing a text string as in a Table DAT).

Text can be typed into the DAT when its Viewer Active is on, or in an external text editor. The Text DAT can get its data from a file on disk or from a file on the web. Use http:// when specifying a remote text file.

See also the Execute DATs which are specialized to run their text as a script: CHOP Execute DAT runs its script when a CHOP channel changes, DAT Execute DAT when a DAT changes, Execute DAT when you start or end your TouchDesigner process or want to run a script every frame, Panel Execute DAT when a control panel changes, Parameter Execute DAT when a parameter of a node changes, and OP Execute DAT when anything else about an operator changes, including creation and deletion of nodes in a component's network.

Use the Web DAT to fetch via a URL query.

PythonIcon.pngtextDAT_Class


Parameters - File Page

Edit.. edit - Clicking this opens a text editor to add/edit/delete text from the DAT.  

File file - The filesystem path and name of the file to load. Accepts .txt and .dat files.  

Sync to File syncfile - When set to 1, loads the file from disk into the DAT when the projects starts. A filename must be specified. If the file does not exist, it will be created the first time the DAT is edited externally. The file is monitored so that any changes made to the file will update the DAT, and any changes made to the DAT will be written to the file right away. If the file is removed, the DAT will retain its current contents.  

Load on Start loadonstart - When set to 1, reloads the file from disk into the DAT when the projects starts. Pulse to reload instantly.  

Load File loadonstartpulse -  

Write on Toe Save write - When set to 1, writes the contents of the DAT out to the file on disk when the project is saved. Pulse to save instantly.  

Write File writepulse -  


Parameters - Common Page

Language language - - Select how the DAT decides which script language to operate on.

  • Input input - The DAT uses the inputs script language.
  • Node node - The DAT uses it's own script language.

Edit/View Extension extension - - Select the file extension this DAT should expose to external editors.

  • dat dat - various common file extensions.
  • From Language language - pick extension from DATs script language.
  • Custom Extension custom - Specify a custom extension.

Custom Extension customext - Specifiy the custom extension.  

Word Wrap wordwrap - - Enable Word Wrap for Node Display.

  • Input input - The DAT uses the inputs setting.
  • On on - Turn on Word Wrap.
  • Off off - Turn off Word Wrap.


Operator Inputs

  • Input 0 -

TouchDesigner Build:

DATs
Art-Net • CHOP Execute • CHOP to • Clip • Convert • CPlusPlus • DAT •  Execute • DAT xport • Error • EtherDream • Evaluate • Examine • Execute • FIFO • File In • File Out • Folder • In • Indices • Info • Insert • Keyboard In • Lookup • Merge • MIDI Event • MIDI In • Monitors • MQTT Client • Multi Touch In • NDI • Null • OP Execute • OP Find • OSC In • OSC Out • Out • Panel Execute • Parameter • Parameter Execute • Perform • Render Pick • Reorder • Script • Select • Serial • Experimental:SocketIO • SOP to • Sort • Substitute • Switch • Table • TCP/IP • Text • Touch In • Touch Out • Transpose • TUIO In • UDP In • UDP Out • UDT In • UDT Out • Experimental:Web Client • Web • Experimental:Web Server • WebSocket • XML

An Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a command Script, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.

An Operator Family which operate on Channels (a series of numbers) which are used for animation, audio, mathematics, simulation, logic, UI construction, and many other applications.

To pulse a parameter is to send it a signal from a CHOP or python or a mouse click that causes a new action to occur immediately. A pulse via python is via the .pulse() function on a pulse-type parameter, such as Reset in a Speed CHOP. A pulse from a CHOP is typically a 0 to 1 to 0 signal in a channel.

The generic thing that holds an Operator, and includes Flags (display, bypass, lock, render, immune) and its position/size in the network. Whether you "lay down an Operator" or "lay down an Node", you're doing the same thing.