@bottobot/td-mcp
Version:
TouchDesigner Documentation MCP Server v2.3 - Pure MCP server for VS Code/Codium with comprehensive operator documentation for 629 operators + 7 tutorials across all categories (TOP, CHOP, SOP, DAT, MAT, COMP, POP). Features experimental POP operators wit
1,839 lines • 77.5 kB
JSON
{
"id": "substitute",
"name": "Substitute",
"displayName": "Substitute",
"category": "DAT",
"subcategory": "Utilities",
"version": "",
"lastUpdated": "2025-08-08T00:37:53.939Z",
"sourceFile": "C:\\Program Files\\Derivative\\TouchDesigner\\Samples\\Learn\\OfflineHelp\\https.docs.derivative.ca\\Substitute_DAT.htm",
"url": "",
"description": "The Substitute DAT changes the cells of the incoming DAT using pattern matching and substitution strings. It outputs a table with the same number of rows and columns.",
"summary": "The Substitute DAT changes the cells of the incoming DAT using pattern matching and substitution strings. It outputs a table with the same number of rows and columns.",
"details": "",
"usage": "",
"tips": [],
"warnings": [],
"parameters": [
{
"id": null,
"name": "Before",
"label": "Before",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "From Derivative\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tJump to navigation\n\t\tJump to search\n\t\t\nThe Substitute changes the cells of the incoming using pattern matching and substitution strings. It outputs a table with the same number of rows and columns. \t\t\nSee examples below. Also you can use the second input to provide a table of strings to substitute, the first column being the \"before\" strings and the second column being the \"after\" strings.\t\nSee also: the Python .replace() [1], which is a method you can apply to any string. You can do that in an Evaluate DAT or Script DAT.\nsubstituteDAT_Class\n\nContents\n \n \n \n \n \n \n \n \n\n\n\n\n\n before - Search term to replace. The following special characters may be used:\t\n* - match any number of characters\n? - match a single character\n[] - match any character defined within the bracketsTo match these special characters exactly, put a backslash (\\) before the special character.\n\n\n\t\t\n after - The replacement term. This replaces everything matched in the search term. Spaces are permitted.\n\n\n\t\t\n match - - Specify where to match:\n\n anywhere - Matches any part of the string. exact - The string must match the search term exactly. start - Match the search term to the beginning of the string. end - Match the search term to the end of the string.\n\t\t\n case - Respect case sensitivity in search term.\n\n\n\t\t\n expand - Expand variables and back quotes in the From string.\n\n\n\t\t\n expandto - Expand variables and back quotes in the To string.\n\n\n\t\t\n first - Replaces only the first instance of the matching string.\n\n\n\n\n\n xfirstrow - Forces the first row to be ignored even if it is not specified by the Select Rows settings.\n\n\n\t\t\n xfirstcol - Forces the first column to be ignored even if it is not specified by the Select Cols settings.\n\n\n\t\t\n extractrows - - This parameter allows you to pick different ways of specifying the rows scoped.\n\n all - All rows scoped. byname - Rows scoped using Start Row Name and End Row Name parameters. byindex - Rows scoped using Start Row Index and End Row Index parameters. bynameindex - Rows scoped using Start Row Name and End Row Index parameters. byindexname - Rows scoped using Start Row Index and End Row Name parameters. bynames - Rows scoped by specifying the row values explicitly. byexpr - Rows scoped by an expression to be evaluated for the from column.\n\t\t\n rownamestart - Specify the row name to start the scope range from.\n\n\n\t\t\n rowindexstart - Specify the row index to start the scope range from.\n\n\n\t\t\n rownameend - Specify the row name to end the scope range.\n\n\n\t\t\n rowindexend - Specify the row index to end the scope range.\n\n\n\t\t\n rownames - Specify actual row names that you want to scope. You can use pattern matching, for example row[1-4] will scope all the rows names row1 thru row4.\n\n\n\t\t\n rowexpr - Specify an expression that will be evaluated. If the expression evaluates to true, the row will be selected. \t\nExpand the parameter and you will see that it is in expression mode.\t\t\t\n\t\t\t\nBy default, the Python expression is . '.*' means match any character multiple times, so this expression matches all values. If you want to match the parent's operator name followed by any numeric number you can use parent().name+'[0-9]*', where '[0-9]*' matches any numerical string. '.*'+parent().name+'.*' will match any cell that contains the operator's parent name. You can check Regular Expression Operations for additional information on how to use the Python Regular module.\n\n\n\t\t\n fromcol - When selecting rows by values, this parameter selects which column to use when matching cell values to Selected Row Values to determine which rows are scoped.\n\n\n\t\t\n extractcols - - This parameter allows you to pick different ways of specifying the columns scoped.\n\n all - All columns scoped. byname - Columns scoped using Start Col Name and End Col Name parameters. byindex - Columns scoped using Start Col Index and End Col Index parameters. bynameindex - Columns scoped using Start Col Name and End Col Index parameters. byindexname - Columns scoped using Start Col Index and End Col Name parameters. bynames - Columns scoped by specifying the column values explicitly. byexpr - Columns scoped by an expression to be evaluated for the from row.\n\t\t\n colnamestart - Specify the column name to start the scope range from.\n\n\n\t\t\n colindexstart - Specify the column index to start the scope range from.\n\n\n\t\t\n colnameend - Specify the column name to end the scope range.\n\n\n\t\t\n colindexend - Specify the column index to end the scope range.\n\n\n\t\t\n colnames - Specify actual column names that you want to scope. You can use pattern matching, for example colvalue[1-4] will scope all the columns named colvalue1 thru colvalue4.\n\n\n\t\t\n colexpr - Specify an expression that will be evaluated. If the expression evaluates to true, the column will be scoped. See Row Select Condition for more details.\n\n\n\t\t\n fromrow - When scoping columns by Specified Names, this parameter selects which row to use when matching cell values to Selected Col Values to determine which columns are scoped.\n\n\n\n\n\n language - - Select how the decides which script language to operate on.\n\n input - The uses the inputs script language. node - The uses it's own script language.\n\n extension - - Select the file extension this should expose to external editors.\n\n dat - various common file extensions. frag - glsl - html - md - py - rtf - tsv - txt - vert - xml - languageext - pick extension from DATs script language. customext - Specify a custom extension.\n\n customext - Specifiy the custom extension.\n\n\n\n wordwrap - - Enable Word Wrap for Node Display.\n\n input - The uses the inputs setting. on - Turn on Word Wrap. off - Turn off Word Wrap.\n\n\n\n - Data to operate on.\n - (optional) A Table DAT with a before and after column containing strings to sustitute in the first input. This doesn't have to be the whole cell content but can be any partial string as well.\n\nExtra Information for the Substitute can be accessed via an Info CHOP.\n\n\n\n - Number of rows in this . - Number of columns in this .\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\n2021.100002018.28070before 2018.28070\nDATs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nAn Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a python Script or GLSL Shader, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.\n\n\n\nA parameter in most CHOPs that restricts which channels of that CHOP will be affected. Normally all channels of a CHOP are affected by the operator. TOPs have Channel Mask, a similar feature.\n\n\n\nA text string that contains data (string, float, list, boolean, etc.) and operators (+ * < etc) that are evaluated by the node's language (python or Tscript) and returns a string, float list or boolean, etc. Expressions are used in parameters, DATs and in scripts.\n\n\n\nThe 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.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Substitute_DAT&oldid=27587\"\n\t\tCategory: DATs",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.932Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Before",
"label": "Before",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "From Derivative\n\t\t\n\t\t\n\t\t\n\t\t\n\t\tJump to navigation\n\t\tJump to search\n\t\t\nThe Substitute changes the cells of the incoming using pattern matching and substitution strings. It outputs a table with the same number of rows and columns. \t\t\nSee examples below. Also you can use the second input to provide a table of strings to substitute, the first column being the \"before\" strings and the second column being the \"after\" strings.\t\nSee also: the Python .replace() [1], which is a method you can apply to any string. You can do that in an Evaluate DAT or Script DAT.\nsubstituteDAT_Class\n\nContents\n \n \n \n \n \n \n \n \n\n\n\n\n\n before - Search term to replace. The following special characters may be used:\t\n* - match any number of characters\n? - match a single character\n[] - match any character defined within the bracketsTo match these special characters exactly, put a backslash (\\) before the special character.\n\n\n\t\t\n after - The replacement term. This replaces everything matched in the search term. Spaces are permitted.\n\n\n\t\t\n match - - Specify where to match:\n\n anywhere - Matches any part of the string. exact - The string must match the search term exactly. start - Match the search term to the beginning of the string. end - Match the search term to the end of the string.\n\t\t\n case - Respect case sensitivity in search term.\n\n\n\t\t\n expand - Expand variables and back quotes in the From string.\n\n\n\t\t\n expandto - Expand variables and back quotes in the To string.\n\n\n\t\t\n first - Replaces only the first instance of the matching string.\n\n\n\n\n\n xfirstrow - Forces the first row to be ignored even if it is not specified by the Select Rows settings.\n\n\n\t\t\n xfirstcol - Forces the first column to be ignored even if it is not specified by the Select Cols settings.\n\n\n\t\t\n extractrows - - This parameter allows you to pick different ways of specifying the rows scoped.\n\n all - All rows scoped. byname - Rows scoped using Start Row Name and End Row Name parameters. byindex - Rows scoped using Start Row Index and End Row Index parameters. bynameindex - Rows scoped using Start Row Name and End Row Index parameters. byindexname - Rows scoped using Start Row Index and End Row Name parameters. bynames - Rows scoped by specifying the row values explicitly. byexpr - Rows scoped by an expression to be evaluated for the from column.\n\t\t\n rownamestart - Specify the row name to start the scope range from.\n\n\n\t\t\n rowindexstart - Specify the row index to start the scope range from.\n\n\n\t\t\n rownameend - Specify the row name to end the scope range.\n\n\n\t\t\n rowindexend - Specify the row index to end the scope range.\n\n\n\t\t\n rownames - Specify actual row names that you want to scope. You can use pattern matching, for example row[1-4] will scope all the rows names row1 thru row4.\n\n\n\t\t\n rowexpr - Specify an expression that will be evaluated. If the expression evaluates to true, the row will be selected. \t\nExpand the parameter and you will see that it is in expression mode.\t\t\t\n\t\t\t\nBy default, the Python expression is . '.*' means match any character multiple times, so this expression matches all values. If you want to match the parent's operator name followed by any numeric number you can use parent().name+'[0-9]*', where '[0-9]*' matches any numerical string. '.*'+parent().name+'.*' will match any cell that contains the operator's parent name. You can check Regular Expression Operations for additional information on how to use the Python Regular module.\n\n\n\t\t\n fromcol - When selecting rows by values, this parameter selects which column to use when matching cell values to Selected Row Values to determine which rows are scoped.\n\n\n\t\t\n extractcols - - This parameter allows you to pick different ways of specifying the columns scoped.\n\n all - All columns scoped. byname - Columns scoped using Start Col Name and End Col Name parameters. byindex - Columns scoped using Start Col Index and End Col Index parameters. bynameindex - Columns scoped using Start Col Name and End Col Index parameters. byindexname - Columns scoped using Start Col Index and End Col Name parameters. bynames - Columns scoped by specifying the column values explicitly. byexpr - Columns scoped by an expression to be evaluated for the from row.\n\t\t\n colnamestart - Specify the column name to start the scope range from.\n\n\n\t\t\n colindexstart - Specify the column index to start the scope range from.\n\n\n\t\t\n colnameend - Specify the column name to end the scope range.\n\n\n\t\t\n colindexend - Specify the column index to end the scope range.\n\n\n\t\t\n colnames - Specify actual column names that you want to scope. You can use pattern matching, for example colvalue[1-4] will scope all the columns named colvalue1 thru colvalue4.\n\n\n\t\t\n colexpr - Specify an expression that will be evaluated. If the expression evaluates to true, the column will be scoped. See Row Select Condition for more details.\n\n\n\t\t\n fromrow - When scoping columns by Specified Names, this parameter selects which row to use when matching cell values to Selected Col Values to determine which columns are scoped.\n\n\n\n\n\n language - - Select how the decides which script language to operate on.\n\n input - The uses the inputs script language. node - The uses it's own script language.\n\n extension - - Select the file extension this should expose to external editors.\n\n dat - various common file extensions. frag - glsl - html - md - py - rtf - tsv - txt - vert - xml - languageext - pick extension from DATs script language. customext - Specify a custom extension.\n\n customext - Specifiy the custom extension.\n\n\n\n wordwrap - - Enable Word Wrap for Node Display.\n\n input - The uses the inputs setting. on - Turn on Word Wrap. off - Turn off Word Wrap.\n\n\n\n - Data to operate on.\n - (optional) A Table DAT with a before and after column containing strings to sustitute in the first input. This doesn't have to be the whole cell content but can be any partial string as well.\n\nExtra Information for the Substitute can be accessed via an Info CHOP.\n\n\n\n - Number of rows in this . - Number of columns in this .\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\n2021.100002018.28070before 2018.28070\nDATs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nAn Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a python Script or GLSL Shader, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.\n\n\n\nA parameter in most CHOPs that restricts which channels of that CHOP will be affected. Normally all channels of a CHOP are affected by the operator. TOPs have Channel Mask, a similar feature.\n\n\n\nA text string that contains data (string, float, list, boolean, etc.) and operators (+ * < etc) that are evaluated by the node's language (python or Tscript) and returns a string, float list or boolean, etc. Expressions are used in parameters, DATs and in scripts.\n\n\n\nThe 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.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Substitute_DAT&oldid=27587\"\n\t\tCategory: DATs",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.934Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Before",
"label": "Before",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "The Substitute changes the cells of the incoming using pattern matching and substitution strings. It outputs a table with the same number of rows and columns. \t\t\nSee examples below. Also you can use the second input to provide a table of strings to substitute, the first column being the \"before\" strings and the second column being the \"after\" strings.\t\nSee also: the Python .replace() [1], which is a method you can apply to any string. You can do that in an Evaluate DAT or Script DAT.\nsubstituteDAT_Class\n\nContents\n \n \n \n \n \n \n \n \n\n\n\n\n\n before - Search term to replace. The following special characters may be used:\t\n* - match any number of characters\n? - match a single character\n[] - match any character defined within the bracketsTo match these special characters exactly, put a backslash (\\) before the special character.\n\n\n\t\t\n after - The replacement term. This replaces everything matched in the search term. Spaces are permitted.\n\n\n\t\t\n match - - Specify where to match:\n\n anywhere - Matches any part of the string. exact - The string must match the search term exactly. start - Match the search term to the beginning of the string. end - Match the search term to the end of the string.\n\t\t\n case - Respect case sensitivity in search term.\n\n\n\t\t\n expand - Expand variables and back quotes in the From string.\n\n\n\t\t\n expandto - Expand variables and back quotes in the To string.\n\n\n\t\t\n first - Replaces only the first instance of the matching string.\n\n\n\n\n\n xfirstrow - Forces the first row to be ignored even if it is not specified by the Select Rows settings.\n\n\n\t\t\n xfirstcol - Forces the first column to be ignored even if it is not specified by the Select Cols settings.\n\n\n\t\t\n extractrows - - This parameter allows you to pick different ways of specifying the rows scoped.\n\n all - All rows scoped. byname - Rows scoped using Start Row Name and End Row Name parameters. byindex - Rows scoped using Start Row Index and End Row Index parameters. bynameindex - Rows scoped using Start Row Name and End Row Index parameters. byindexname - Rows scoped using Start Row Index and End Row Name parameters. bynames - Rows scoped by specifying the row values explicitly. byexpr - Rows scoped by an expression to be evaluated for the from column.\n\t\t\n rownamestart - Specify the row name to start the scope range from.\n\n\n\t\t\n rowindexstart - Specify the row index to start the scope range from.\n\n\n\t\t\n rownameend - Specify the row name to end the scope range.\n\n\n\t\t\n rowindexend - Specify the row index to end the scope range.\n\n\n\t\t\n rownames - Specify actual row names that you want to scope. You can use pattern matching, for example row[1-4] will scope all the rows names row1 thru row4.\n\n\n\t\t\n rowexpr - Specify an expression that will be evaluated. If the expression evaluates to true, the row will be selected. \t\nExpand the parameter and you will see that it is in expression mode.\t\t\t\n\t\t\t\nBy default, the Python expression is . '.*' means match any character multiple times, so this expression matches all values. If you want to match the parent's operator name followed by any numeric number you can use parent().name+'[0-9]*', where '[0-9]*' matches any numerical string. '.*'+parent().name+'.*' will match any cell that contains the operator's parent name. You can check Regular Expression Operations for additional information on how to use the Python Regular module.\n\n\n\t\t\n fromcol - When selecting rows by values, this parameter selects which column to use when matching cell values to Selected Row Values to determine which rows are scoped.\n\n\n\t\t\n extractcols - - This parameter allows you to pick different ways of specifying the columns scoped.\n\n all - All columns scoped. byname - Columns scoped using Start Col Name and End Col Name parameters. byindex - Columns scoped using Start Col Index and End Col Index parameters. bynameindex - Columns scoped using Start Col Name and End Col Index parameters. byindexname - Columns scoped using Start Col Index and End Col Name parameters. bynames - Columns scoped by specifying the column values explicitly. byexpr - Columns scoped by an expression to be evaluated for the from row.\n\t\t\n colnamestart - Specify the column name to start the scope range from.\n\n\n\t\t\n colindexstart - Specify the column index to start the scope range from.\n\n\n\t\t\n colnameend - Specify the column name to end the scope range.\n\n\n\t\t\n colindexend - Specify the column index to end the scope range.\n\n\n\t\t\n colnames - Specify actual column names that you want to scope. You can use pattern matching, for example colvalue[1-4] will scope all the columns named colvalue1 thru colvalue4.\n\n\n\t\t\n colexpr - Specify an expression that will be evaluated. If the expression evaluates to true, the column will be scoped. See Row Select Condition for more details.\n\n\n\t\t\n fromrow - When scoping columns by Specified Names, this parameter selects which row to use when matching cell values to Selected Col Values to determine which columns are scoped.\n\n\n\n\n\n language - - Select how the decides which script language to operate on.\n\n input - The uses the inputs script language. node - The uses it's own script language.\n\n extension - - Select the file extension this should expose to external editors.\n\n dat - various common file extensions. frag - glsl - html - md - py - rtf - tsv - txt - vert - xml - languageext - pick extension from DATs script language. customext - Specify a custom extension.\n\n customext - Specifiy the custom extension.\n\n\n\n wordwrap - - Enable Word Wrap for Node Display.\n\n input - The uses the inputs setting. on - Turn on Word Wrap. off - Turn off Word Wrap.\n\n\n\n - Data to operate on.\n - (optional) A Table DAT with a before and after column containing strings to sustitute in the first input. This doesn't have to be the whole cell content but can be any partial string as well.\n\nExtra Information for the Substitute can be accessed via an Info CHOP.\n\n\n\n - Number of rows in this . - Number of columns in this .\n - Number of times the operator has cooked since the process started. - Duration of the last cook in milliseconds. - Frame number when this operator was last cooked relative to the component timeline. - Frame number when this operator was last cooked relative to the absolute time. - Time in milliseconds at which the operator started cooking in the frame it was cooked. - Time in milliseconds at which the operator finished cooking in the frame it was cooked. - 1 if operator was cooked this frame. - Number of warnings in this operator if any. - Number of errors in this operator if any.\nTouchDesigner Build: Latest\\n2021.100002018.28070before 2018.28070\nDATs\n• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • \n\nAn Operator Family that manipulates text strings: multi-line text or tables. Multi-line text is often a python Script or GLSL Shader, but can be any multi-line text. Tables are rows and columns of cells, each containing a text string.\n\n\n\nA parameter in most CHOPs that restricts which channels of that CHOP will be affected. Normally all channels of a CHOP are affected by the operator. TOPs have Channel Mask, a similar feature.\n\n\n\nA text string that contains data (string, float, list, boolean, etc.) and operators (+ * < etc) that are evaluated by the node's language (python or Tscript) and returns a string, float list or boolean, etc. Expressions are used in parameters, DATs and in scripts.\n\n\n\nThe 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.\n\n\n\nAn Operator Family which operate on Channels (a sequence of numbers (Samples)) which are used for animation, audio, mathematics, simulation, logic, UI construction, and data streamed from/to devices and protocols.\n\n\n\n\n\n\n\n\nRetrieved from \"https://docs.derivative.ca/index.php?title=Substitute_DAT&oldid=27587\"",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.935Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Before",
"label": "Before",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "before - Search term to replace. The following special characters may be used:\t\n* - match any number of characters\n? - match a single character\n[] - match any character defined within the bracketsTo match these special characters exactly, put a backslash (\\) before the special character.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "After",
"label": "After",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "after - The replacement term. This replaces everything matched in the search term. Spaces are permitted.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Match",
"label": "Match",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "match - - Specify where to match:\n\n anywhere - Matches any part of the string. exact - The string must match the search term exactly. start - Match the search term to the beginning of the string. end - Match the search term to the end of the string.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Anywhere",
"label": "Anywhere",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "anywhere - Matches any part of the string. exact - The string must match the search term exactly. start - Match the search term to the beginning of the string. end - Match the search term to the end of the string.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Case Sensitive",
"label": "Case Sensitive",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "case - Respect case sensitivity in search term.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Expand the From String",
"label": "Expand the From String",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "expand - Expand variables and back quotes in the From string.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Expand the To String",
"label": "Expand the To String",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "expandto - Expand variables and back quotes in the To string.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "First Match Only",
"label": "First Match Only",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "first - Replaces only the first instance of the matching string.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Exclude First Row",
"label": "Exclude First Row",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "xfirstrow - Forces the first row to be ignored even if it is not specified by the Select Rows settings.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Exclude First Col",
"label": "Exclude First Col",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "xfirstcol - Forces the first column to be ignored even if it is not specified by the Select Cols settings.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Select Rows",
"label": "Select Rows",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "extractrows - - This parameter allows you to pick different ways of specifying the rows scoped.\n\n all - All rows scoped. byname - Rows scoped using Start Row Name and End Row Name parameters. byindex - Rows scoped using Start Row Index and End Row Index parameters. bynameindex - Rows scoped using Start Row Name and End Row Index parameters. byindexname - Rows scoped using Start Row Index and End Row Name parameters. bynames - Rows scoped by specifying the row values explicitly. byexpr - Rows scoped by an expression to be evaluated for the from column.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "All",
"label": "All",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "all - All rows scoped. byname - Rows scoped using Start Row Name and End Row Name parameters. byindex - Rows scoped using Start Row Index and End Row Index parameters. bynameindex - Rows scoped using Start Row Name and End Row Index parameters. byindexname - Rows scoped using Start Row Index and End Row Name parameters. bynames - Rows scoped by specifying the row values explicitly. byexpr - Rows scoped by an expression to be evaluated for the from column.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Start Row Name",
"label": "Start Row Name",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "rownamestart - Specify the row name to start the scope range from.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Start Row Index",
"label": "Start Row Index",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "rowindexstart - Specify the row index to start the scope range from.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "End Row Name",
"label": "End Row Name",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "rownameend - Specify the row name to end the scope range.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "End Row Index",
"label": "End Row Index",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "rowindexend - Specify the row index to end the scope range.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Row Select Values",
"label": "Row Select Values",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "rownames - Specify actual row names that you want to scope. You can use pattern matching, for example row[1-4] will scope all the rows names row1 thru row4.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Row Select Condition",
"label": "Row Select Condition",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "rowexpr - Specify an expression that will be evaluated. If the expression evaluates to true, the row will be selected. \t\nExpand the parameter and you will see that it is in expression mode.\t\t\t\n\t\t\t\nBy default, the Python expression is . '.*' means match any character multiple times, so this expression matches all values. If you want to match the parent's operator name followed by any numeric number you can use parent().name+'[0-9]*', where '[0-9]*' matches any numerical string. '.*'+parent().name+'.*' will match any cell that contains the operator's parent name. You can check Regular Expression Operations for additional information on how to use the Python Regular module.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "From Column",
"label": "From Column",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "fromcol - When selecting rows by values, this parameter selects which column to use when matching cell values to Selected Row Values to determine which rows are scoped.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Select Cols",
"label": "Select Cols",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "extractcols - - This parameter allows you to pick different ways of specifying the columns scoped.\n\n all - All columns scoped. byname - Columns scoped using Start Col Name and End Col Name parameters. byindex - Columns scoped using Start Col Index and End Col Index parameters. bynameindex - Columns scoped using Start Col Name and End Col Index parameters. byindexname - Columns scoped using Start Col Index and End Col Name parameters. bynames - Columns scoped by specifying the column values explicitly. byexpr - Columns scoped by an expression to be evaluated for the from row.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.936Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "All",
"label": "All",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "all - All columns scoped. byname - Columns scoped using Start Col Name and End Col Name parameters. byindex - Columns scoped using Start Col Index and End Col Index parameters. bynameindex - Columns scoped using Start Col Name and End Col Index parameters. byindexname - Columns scoped using Start Col Index and End Col Name parameters. bynames - Columns scoped by specifying the column values explicitly. byexpr - Columns scoped by an expression to be evaluated for the from row.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.937Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Start Col Name",
"label": "Start Col Name",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "colnamestart - Specify the column name to start the scope range from.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.937Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Start Col Index",
"label": "Start Col Index",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "colindexstart - Specify the column index to start the scope range from.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.937Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "End Col Name",
"label": "End Col Name",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "colnameend - Specify the column name to end the scope range.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.937Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "End Col Index",
"label": "End Col Index",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "colindexend - Specify the column index to end the scope range.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.937Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Col Select Values",
"label": "Col Select Values",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "colnames - Specify actual column names that you want to scope. You can use pattern matching, for example colvalue[1-4] will scope all the columns named colvalue1 thru colvalue4.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.937Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Col Select Condition",
"label": "Col Select Condition",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "colexpr - Specify an expression that will be evaluated. If the expression evaluates to true, the column will be scoped. See Row Select Condition for more details.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.937Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "From Row",
"label": "From Row",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "fromrow - When scoping columns by Specified Names, this parameter selects which row to use when matching cell values to Selected Col Values to determine which columns are scoped.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.937Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Language",
"label": "Language",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "language - - Select how the decides which script language to operate on.\n\n input - The uses the inputs script language. node - The uses it's own script language.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.937Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Input",
"label": "Input",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "input - The uses the inputs script language. node - The uses it's own script language.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.937Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Edit/View Extension",
"label": "Edit/View Extension",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "extension - - Select the file extension this should expose to external editors.\n\n dat - various common file extensions. frag - glsl - html - md - py - rtf - tsv - txt - vert - xml - languageext - pick extension from DATs script language. customext - Specify a custom extension.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.937Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "dat",
"label": "dat",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "dat - various common file extensions. frag - glsl - html - md - py - rtf - tsv - txt - vert - xml - languageext - pick extension from DATs script language. customext - Specify a custom extension.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.938Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Custom Extension",
"label": "Custom Extension",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "customext - Specifiy the custom extension.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.938Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Word Wrap",
"label": "Word Wrap",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "wordwrap - - Enable Word Wrap for Node Display.\n\n input - The uses the inputs setting. on - Turn on Word Wrap. off - Turn off Word Wrap.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.938Z",
"rawData": {},
"sourceElement": null
},
{
"id": null,
"name": "Input",
"label": "Input",
"group": "General",
"page": "",
"type": "float",
"dataType": "number",
"style": "",
"defaultValue": null,
"minValue": null,
"maxValue": null,
"step": null,
"menuItems": [],
"menuLabels": [],
"allowCustom": false,
"maxLength": null,
"pattern": null,
"isArray": false,
"arraySize": 1,
"dimensions": 1,
"description": "input - The uses the inputs setting. on - Turn on Word Wrap. off - Turn off Word Wrap.",
"tooltip": "",
"help": "",
"units": "",
"examples": [],
"isReadOnly": false,
"isAdvanced": false,
"isHidden": false,
"isAnimatable": true,
"isExpression": false,
"isPython": false,
"dependsOn": [],
"affects": [],
"linkedTo": [],
"expressionLanguage": "",
"defaultExpression": "",
"commonExpressions": [],
"order": 0,
"isVisible": true,
"conditionalDisplay": null,
"isValid": true,
"validationErrors": [],
"lastUpdated": "2025-08-08T00:37:53.938Z",
"rawData": {},
"sourceElement": null
}
],
"parameterGroups": {},
"codeExamples": [],
"pythonExamples": [],
"expressions": [],
"commonInputs": [],
"commonOutputs": [],
"relatedOperators": [],
"workflowPatterns": [],
"images": [],
"videos": [],
"assets": [],
"keywords": [
"substitute",
"changes",
"cells",
"incoming",
"using",
"pattern",
"matching",
"substitution",
"strings.",
"outputs"
],
"tags": [
"DAT",
"TouchDesigner",
"Substitute"
],
"searchWeight": 1,
"contentHash": "",
"processingDate": "2025-08-08T00:37:53.939Z",
"processingVersion": "1.0.0",
"isValid": true,
"validationErrors": []
}