Palette:compareComp

From Derivative
Jump to: navigation, search

This compares two components. It first identifies nodes that are unique to either of the two components.

Then for the nodes that exist in both components, it identifies differences in parameters, flags, input wiring, hierarchy wiring, language, tags and comments.

Also for nodes that are in both components, it checks the operator family and type, and reports if they are different.

It reports on DATs whose contents differ (Text, Table and the Execute DATs, and DATs that are locked).

Using option "Only in Component 1" and "Only in Component 2", it shows nodes that exist in one component but not the other.

If you turn on the parameters "Flags", "Parameters" etc, it will compare the Flags, Parameters etc of nodes that are in both components, showing the differences in columns "value1" and "value2".

Turning on the parameter "Wiring" reports on the input wires of nodes including components, as well as hierarchy (bottom to top) connections of 3D object components and panel components.

"Miscellaneous" look at tags, comments and mis-matched node types.

The "Cosmetics" option checks for things that don't matter in the function of the node, like viewer state and node position in the network.

The two built-in test components illustrate the various comparisons.

The component outputs the DAT you see in the viewer.

If you turn on "Remove Unused Cols", it will make the table simpler. For example, it will not display/output column "onlyInComp2" if the parameter "Only in Component 2" is off, etc.

compareComp doesn't check everything yet - you can add what you feel is necessary within this structure. Not implemented is the contents of locked CHOPs or TOPs, and it doesn't co-relate a node that was renamed. Nonetheless, the results are illuminating.

Comparing Two .toe Files[edit]

There is no direct way of comparing two .toe files (aside from the labor-intensive toediff in the bin folder), but with a little setup, compareComp will give you good results:

Start a default empty TouchDesigner and create two Base components base1 and base2, and bring in a compareComp from the palette. Open one of your .toe files and copy/paste all the nodes in root (/) into /base1. Then do the same with the other .toe file into /base2. Then run compareComp on /base1 and /base2 or any parts within them. The fact that there will be a lot of errors doesn’t matter in doing the comparison. This will show you most, if not all differences without going through the files manually.

An Operator Family that contains its own Network inside. There are twelve 3D Object Component and eight 2D Panel Component types. See also Network Path.

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.

TOuch Environment file, the file type used by TouchDesigner to save your project.