The TCP/IP DAT is used for sending and receiving information over a TCP/IP connection between two remotely located computers. It captures all the messages without any queuing or buffering, and allows you to send it any messages you want.
This DAT can be used to intercept all the raw information being sent from a Pipe Out CHOP for example. The Pipe In CHOP and Pipe Out CHOP also communicate through a TCP/IP connection, though they use a specific syntax.
For Tscript. see Tscript
NOTE for Windows OS - If experiencing connection issues make sure Windows Firewall is disabled.
Parameters - Connect Page
mode - ⊞ - Specify if this operator is communicating as a client or a server.
- This Operator is Client
- This Operator is Server
address - If this node is communicating as a client, this should be the IP address of the server.
port - The network port to listen on or connect to, depending on of the node is the server or client respectively.
shared - Use the same connection as other networking DATs using the same network protocol.
format - ⊞ - Determines how the incoming data is parsed into the table.
- One Per Byte
perbyte- One row is added to the table per byte received.
- One Per Line
perline- One row is added to the table per line received. The end of a line is delimited by \n, \r or a null character (\0).
Note: In this format messages will not be logged until one of those characters are received.
- One For All Received Data
all- One row is added to the table per message received. Since TCP/IP is a stream-based protocol, the end of a 'message' is arbitrary. It is simply the contents of the last read operation from the socket. If you are reading a custom message format, you'll likely need to build up a full message from multiple reads from the socket in Python.
active - This check box enables the connection.
Parameters - Received Data Page
callbacks - The Callbacks DAT will execute once for each message received.
executeloc - ⊞ - Determines the location the script is run from.
- Current Node
current- The script is executed from the current node location.
- Callbacks DAT
callbacks- The script is executed from the location of the DAT specified in the Script DAT parameter.
- Specified Operator
op- The script is executed from the component specified in the Component parameter below.
fromop - The component who's state change will trigger the DAT to execute its script when Execute from is set to On Panel Change. This component is also the path that the script will be executed from if the Execute from parameter is set to Specified Component.
clamp - The DAT is limited to 100 messages by default but with Clamp Output, this can be set to anything including unlimited.
maxlines - Limits the number of messages, older messages are removed from the list first.
clear - Deletes all lines except the heading. To clear with a script command, here is an example:
opparm -c /serial1 clear
bytes - Outputs the raw bytes of the message in a separate column.
Parameters - Common Page
language - ⊞ - Select how the DAT decides which script language to operate on.
input- The DAT uses the inputs script language.
node- The DAT uses it's own script language.
extension - ⊞ - Select the file extension this DAT should expose to external editors.
dat- various common file extensions.
- From Language
language- pick extension from DATs script language.
- Custom Extension
custom- Specify a custom extension.
customext - Specifiy the custom extension.
wordwrap - ⊞ - Enable Word Wrap for Node Display.
input- The DAT uses the inputs setting.
on- Turn on Word Wrap.
off- Turn off Word Wrap.
|• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • •|
A way of moving data from one TouchDesigner process to another. Images are moved via Touch Out / In TOPs, channels are moved via Touch Out / In CHOPs and Pipe Out / In CHOPs. Data moves via TCP/IP or UDP.
Some operators have a DAT docked to them that contains some python functions. These functions, called "callbacks", get called when something in the operator changes.
Any of the procedural data operators. OPs do all the work in TouchDesigner. They "cook" and output data to other OPs, which ultimately result in new images, data and audio being generated. See Node.