List COMP

From Derivative
Jump to: navigation, search


Summary

The List Component lets you create large lists that are highly customizable via the List COMPs initialization and callback functions. Refer to the Build a List COMP article for more info on using this COMP.

See Also: Lister Custom COMP, a Python enhanced custom listCOMP.

PythonIcon.pnglistCOMP_Class


Callbacks

Every cell, row, column and table in a List component is described by attributes which are specified through the initialize and callback functions of the List component. For usage please refer to the PythonIcon.png listCOMP_Class page.


Parameters - List Page

Callbacks callbacks - A reference to the callback DAT.

Rows rows - The number of rows in the List.

Columns cols - The number of columns in the List.

Lock First Row lockfirstrow - Locks the first row in place when scrolling horizontally.

Lock First Col lockfirstcol - Locks the first column in place when scrolling vertically.

Horizontal Scroll Bar hscrollbar - Enables the horizontal scroll bar.

Vertical Scroll Bar vscrollbar - Enables the vertical scroll bar.

Off Cell Callbacks offcellcallbacks -

Reset reset - Resets the table by running its initialize callbacks.


Parameters - Layout Page

The Layout parameter page controls the size and position of the panel.

X x - Specify the horizontal position in pixels relative to its parent.

Y y - Specify the vertical position in pixels relative to its parent.

Width w - Specify the panel's width in pixels.

Height h - Specify the Panel's height in pixels.

Fixed Aspect fixedaspect - - Allows easy creation of panels with a specific aspect set in the Aspect Ratio parameter below. Only requires setting the width or height of the panel and the other dimension is calculated based on the Aspect Ratio parameter.

  • Off off -
  • Use Horizontal horizontal -
  • Use Vertical vertical -

Aspect Ratio aspect - Specify the ratio when using Fixed Aspect parameter above, the ratio is width/height.  

Depth Layer layer - Specifies the order the panel components are drawn in, similar to layers in Photoshop. Higher values will be drawn over any other panel with a lower value (that is at the same level of hierarchy). If two panel components have the same Depth Layer value then they are ordered based on the operator's name.  

Horizontal Mode hmode - - Select one of 3 modes to determine the horizontal width of the panel.

  • Fixed Width fixed - Uses the Width parameter above to set this panel's width in pixels.
  • Fill fill - The width of this panel will match (fill) the width of the parent panel.
  • Anchors anchors - The width of this panel is set by the Left Anchor and Right Anchor parameters below which will maintain a relative width to the parent panel as the parent panel changes size. This allows for stretchy panels. These anchor parameters are normalized 0-1 like uv coordinates where 0 is the left edge and 1 is the right edge of the parent panel. For example, Left Anchor = 0.2 and Right Anchor = 0.8 will maintain the width proportionally to the parent panel such that the left edge is 20% (0.2) in from the left and the right edge is 20% (0.8) in from the right.

Left Anchor leftanchor - Position of the left anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the left edge of the parent and 1 is the right edge of the parent.  

Left Offset leftoffset - An offset for the left anchor in pixels.  

Right Anchor rightanchor - Position of the right anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the left edge of the parent and 1 is the right edge of the parent.  

Right Offset rightoffset - An offset for the right anchor in pixels.  

Horizontal Origin horigin - Sets the position of the panel's origin horizontally. The default origin (0,0) is the bottom-left corner of the panel.  

Horizontal Fill Weight hfillweight - When multiple panels are using Horizontal Mode = Fill and being aligned by the parent either Left to Right or Right to Left, this fill weight parameter can be used to bias the fill width of the panels.  

Vertical Mode vmode - - Select one of 3 modes to determine the vertical height of the panel.

  • Fixed Height fixed - Uses the Height parameter above to set this panel's height in pixels.
  • Fill fill - The height of this panel will match (fill) the height of the parent panel.
  • Anchors anchors - The height of this panel is set by the Bottom Anchor and Top Anchor parameters below which will maintain a relative and proportionally height to the parent panel as the parent panel changes size. This allows for stretchy panels. These anchor parameters are normalized 0-1 like uv coordinates where 0 is the bottom edge and 1 is the top edge of the parent panel. For example, Bottom Anchor = 0.3 and Right Anchor = 0.5 will maintain the height proportionally to the parent panel such that the bottom edge is 30% (0.3) up from the bottom and the top edge is 50% (0.5) down from the top.

Bottom Anchor bottomanchor - Position of the bottom anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the bottom edge of the parent and 1 is the top edge of the parent.  

Bottom Offset bottomoffset - An offset for the bottom anchor in pixels.  

Top Anchor topanchor - Position of the top anchor of the panel with respect to the parent. This value is normalized 0-1, 0 is the bottom edge of the parent and 1 is the top edge of the parent.  

Top Offset topoffset - An offset for the top anchor in pixels.  

Vertical Origin vorigin - Sets the position of the panel's origin vertically. The default origin (0,0) is the bottom-left corner of the panel.  

Vertical Fill Weight vfillweight - When multiple panels are using Vertical Mode = Fill and being aligned by the parent either Top to Bottom or Bottom to Top, this fill weight parameter can be used to bias the fill height of the panels.  

Parent Alignment alignallow - - When set to Ignore, the Panel will ignore any Align parameter settings from its parent.

  • Allow allow - Aligns the panel based on settings in parent.
  • Ignore ignore - Does not align the panel but respects margins.
  • Ignore and Ignore Margins ignoremargin - Does not align the panel and disregards margins.

Align Order alignorder - This parameter allows you to specify the align position when its parent's Align parameter is set to something other then None or Match Network Nodes. Lower numbers are first.  

Post Offset postoffset- - Adds an offset after all other postions and alignment options have been applied to the panel.

X postoffsetx -


Y postoffsety -

Size from Window sizefromwindow - When enabled the panel component's width and height are set by resizing its floating viewer window.


Parameters - Panel Page

The Panel parameter page controls panel attributes such as display on/off, enable on/off, panel help, and interactions with the cursor.

Display display - Specifies if the panel is displayed or hidden.

Enable enable - Allows you to prevent all interaction with this panel.

Help DAT helpdat - Lets you specify the path to a Text DAT whose content will be displayed as a rollover pop-up help for the control panel.

Floating Viewer Aspect vieweraspect - - Controls whether the aspect ratio is proportional or unconstrained when resizing a floating viewer ie. dragging the edges of the viewer to resize it.

  • Proportional proportional -
  • Unconstrained unconstrained -

Cursor cursor - - Changes the cursor displayed when cursor is over the panel.

  • Normal Select pointer -
  • Link Select linkselect -
  • Text Select ibeam -
  • Precision Select cross -
  • Busy busy -
  • Activate activate -
  • Invisible invisible -

Multi-Touch multitouch - - When enabled, this panel will process the first touch it gets in a similar manner to how it processes a mouse click, with updates to u, v, state etc. The touch event must be initiated from the panel. Subsequent touches are ignored. If this panel handles multi-touch events via the Multi Touch In DAT, you may want to disable Built-in Multi-Touch so it won't interfere with script processing.

  • Use Parent's Multi-Touch Settings mtouchparent - Use the parent's Multi-Touch setting. This defaults to enabled in the root component.
  • Use Built-in Multi-Touch mtouchyes - Enable use of first touch as mouse.
  • Do Not Use Built-in Multi-Touch mtouchno - Disable use of first touch as mouse.

Click Through clickthrough - When enabled all mouse clicks are ignored by this Panel Component.

Use Mouse Wheel mousewheel - Turn on to capture events when the mouse wheel is used over the panel.

Mouse UV Buttons uvbuttons - - Allows you to specify which mouse buttons update the uv Panel Values.

Left uvbuttonsleft -


Middle uvbuttonsmiddle -


Right uvbuttonsright -

Relative UV mouserel - When enabled the uv Panel Values will reflect relative mouse movement.

Drag Edges to Resize resize - - Four checkboxes allow you to enable resizing a panel by grabbing the corresponding edge or corner: Resize Left, Right, Bottom, Top.

L resizel -


R resizer -


B resizeb -


T resizet -

W Range resizew- - Limits the left-right (width) resizing range.

"" resizewmin -


"" resizewmax -

H Range resizeh- - Limits the bottom-top (height) resizing range.

"" resizehmin -


"" resizehmax -

Drag to Reposition reposition - - Enables repositioning of the panel or window by dragging with the mouse.

  • Off off -
  • Window window -
  • Component component -

Component repocomp - Enabled by choosing the Component option from the Reposition parameter. Specify the path to the panel component you would like to reposition by mouse.

X Range repositionx- - Enabled by choosing the Component option from the Reposition parameter. Sets the maximum range for repositioning the panel component horizontally.

"" repositionxmin -


"" repositionxmax -

Y Range repositiony- - Enabled by choosing the Component option from the Reposition parameter. Sets the maximum range for repositioning the panel component vertically.

"" repositionymin -


"" repositionymax -


Parameters - Look Page

The Color parameter page sets the panel's background, border, and disabled colors.

Background Color bgcolor - RGB values for the background. (default: black (0,0,0))

  • Red bgcolorr -
  • Green bgcolorg -
  • Blue bgcolorb -

Background Alpha bgalpha - Set the alpha value for the background.  

Background TOP top - Allows you to specify a TOP as the background for the panel.

Texture Sampling Parameters

TOP Fill topfill - - This menu specifies the way the Background TOP will fill the panel's background.

  • Stretch off -
  • Fill Width horizontal -
  • Fill Height vertical -
  • Fill Best best -
  • Native Resolution native -

Border A bordera - RGB values for border A color.

  • Red borderar -
  • Green borderag -
  • Blue borderab -

Border A Alpha borderaalpha - Alpha value for border A color.  

Border B borderb - RGBA values for border B color.

  • Red borderbr -
  • Green borderbg -
  • Blue borderbb -

Border B Alpha borderbalpha - Alpha value for border B color.  

Left Border leftborder - - What color the 2 left-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).

Left Border Inside leftborderi - -

Right Border rightborder - - What color the 2 right-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).

Right Border Inside rightborderi - -

Bottom Border bottomborder - - What color the 2 bottom-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).

Bottom Border Inside bottomborderi - -

Top Border topborder - - What color the 2 top-most pixels are. Options are 0 (no change), Border A (uses color defined in Border A), or Border B (uses color defined in Border B).

Top Border Inside topborderi - -

Border Over Children borderover - Draws the panel's borders on top of all children panels.

Disable Color dodisablecolor - Enable the use of a unique disable color below when the panel's Enable = Off.

Disable Color disablecolor - RGB values for the disable color. (default: black (0,0,0))

  • Red disablecolorr -
  • Green disablecolorg -
  • Blue disablecolorb -

Disable Alpha disablealpha - Set the alpha value for the disable color.  

Multiply RGB by Alpha multrgb - Multiplies the RGB channels by the alpha channel.

Composite composite - - Selects how the panel is composited with its siblings panels. See the Composite TOP for a description of the various composite methods.

  • Over over -
  • Under under -
  • Inside inside -
  • Outside outside -
  • Add add -
  • Subtract subtract -
  • Multiply multiply -

Opacity opacity - Allows you to control the transparency of the panel.  


Parameters - Children Page

The Children parameter page controls aspects of the Panel's children alignment, size, and position.

Align align - - This menu allows you to specify how the children inside the Panel Component will be laid out. The options Layout Grid Rows, Layout Grid Columns and Match Network Nodes will scale the Panel Component's children to fit the Component. They use the Align Order of each of the children to determine the ordering of the children.

  • None none -
  • Left to Right horizlr -
  • Right to Left horizrl -
  • Top to Bottom verttb -
  • Bottom to Top vertbt -
  • Grid Rows gridrows -
  • Grid Columns gridcols -
  • Match Network Nodes nodes -

Spacing spacing - This is enabled by choosing any Align option other than None or Match Network Nodes. It defines the space between the children when they are being aligned.  

Max per Line alignmax - This is enabled by choosing any Align option other than None, Layout Grid Horizontal, Layout Grid Vertical, or Match Network Nodes, and defines the maximum number of children placed in one row or column.

Margin margin- - The four fields allow you to specify the space that surrounds the Panel Component. The margin is the space between the Panel Component's border and the outer edge. The Margin is defined in absolute pixels and does not stretch with the window, as a result margin is not reflected in the node's panel viewer but only when the parent is drawn in a floating window.

L marginl -


R marginr -


B marginb -


T margint -

Justify Horizontal justifyh - - This menu specifies if the panel's children are being justified horizontally.

  • Off off -
  • Left left -
  • Center center -
  • Right right -

Justify Vertical justifyv - - This menu specifies if the panel's children are being justified vertically.

  • Off off -
  • Top top -
  • Center center -
  • Bottom bottom -

Fit fit - - This menu allows you to scale the panel's children. It overrides the Justify Horizontal and Justify Vertical parameters.

  • Off off -
  • Fit Width horizontal -
  • Fit Height vertical -
  • Fit Best best -

Scale scale- - Allows you to uniformly scale the Panel's children.

X scalex -


Y scaley -

Offset offset- - Allows you to offset the Panel's children. This parameter is overwritten by the Align, Justify Horizontal, and Justify Vertical parameters above.

X offsetx -


Y offsety -

Crop crop - - This menu determines if any children panels which are positioned partially or completely outside the panel component's dimensions get cropped.

  • Off (Use Parent) off -
  • On on -
  • Never never -


Parameters - Drag Page

When Dragging This drag - -

  • Use Parent's Drag Settings dragparent -
  • Allow Drag dragyes -
  • Do Not Allow Drag dragno -

Drag Script dragscript -

Drop Destination Script dropdestscript -

Drop Types droptypescript -

Dropped Operator paneldragop -

On Dropping Into drop - -

  • Use Parent's Drop Settings dropparent -
  • Allow Drop dropyes -
  • Do Not Allow Drop dropno -

Drop Script dropscript -


Parameters - Extensions Page

The Extensions parameter page sets the component's python extensions. Please see extensions for more information.

Extension Object 1 extension1 - A number of class instances that can be attached to the component.

Extension Name 1 extname1 - Optional name to search by, instead of the instance class name.

Promote Extension 1 promoteextension1 - Controls whether or not the extensions are visible directly at the component level, or must be accessed through the .ext member. Example: n.Somefunction vs n.ext.Somefunction

Extension Object 2 extension2 - A number of class instances that can be attached to the component.

Extension Name 2 extname2 - Optional name to search by, instead of the instance class name.

Promote Extension 2 promoteextension2 - Controls whether or not the extensions are visible directly at the component level, or must be accessed through the .ext member. Example: n.Somefunction vs n.ext.Somefunction

Extension Object 3 extension3 - A number of class instances that can be attached to the component.

Extension Name 3 extname3 - Optional name to search by, instead of the instance class name.

Promote Extension 3 promoteextension3 - Controls whether or not the extensions are visible directly at the component level, or must be accessed through the .ext member. Example: n.Somefunction vs n.ext.Somefunction

Extension Object 4 extension4 - A number of class instances that can be attached to the component.

Extension Name 4 extname4 - Optional name to search by, instead of the instance class name.

Promote Extension 4 promoteextension4 - Controls whether or not the extensions are visible directly at the component level, or must be accessed through the .ext member. Example: n.Somefunction vs n.ext.Somefunction

Re-Init Extensions reinitextensions - Recompile all extension objects. Normally extension objects are compiled only when they are referenced and their definitions have changed.


Parameters - Common Page

The Common parameter page sets the component's node viewer, clone relationships, Parent Shortcut, and Global OP Shortcut.

Parent Shortcut parentshortcut - Specifies a name you can use anywhere inside the component as the path to that component. See Parent Shortcut.

Global OP Shortcut opshortcut - Specifies a name you can use anywhere at all as the path to that component. See Global OP Shortcut.

Node View nodeview - - Determines what is displayed in the node viewer, also known as the Node Viewer. Some options will not be available depending on the Component type (Object Component, Panel Component, Misc.)

  • Default Viewer default - Displays the default viewer for the component type, a 3D Viewer for Object COMPS and a Control Panel Viewer for Panel COMPs.
  • Operator Viewer opviewer - Displays the node viewer from any operator specified in the Operator Viewer parameter below.

Operator Viewer opviewer - Select which operator's node viewer to use when the Node View parameter above is set to Operator Viewer.

Keep in Memory keepmemory -

Enable Cloning enablecloning - Control if the OP should be actively cloned. The Pulse button can be used to instantaneously clone the contents.

Enable Cloning Pulse enablecloningpulse -

Clone Master clone - Path to a component used as the Master Clone.

Load on Demand loadondemand - Loads the component into memory only when required. Good to use for components that are not always used in the project.

External .tox externaltox - Path to a .tox file on disk which will source the component's contents upon start of a .toe. This allows for components to contain networks that can be updated independently. If the .tox file can not be found, whatever the .toe file was saved with will be loaded.

Reload .tox on Start reloadtoxonstart - When on (default), the external .tox file will be loaded when the .toe starts and the contents of the COMP will match that of the external .tox. This can be turned off to avoid loading from the referenced external .tox on startup if desired (the contents of the COMP are instead loaded from the .toe file). Useful if you wish to have a COMP reference an external .tox but not always load from it unless you specifically push the Re-Init Network parameter button.

Save Backup of External savebackup - When this checkbox is enabled, a backup copy of the component specified by the External .tox parameter is saved in the .toe file. This backup copy will be used if the External .tox can not be found. This may happen if the .tox was renamed, deleted, or the .toe file is running on another computer that is missing component media.

Sub-Component to Load subcompname - When loading from an External .tox file, this option allows you to reach into the .tox and pull out a COMP and make that the top-level COMP, ignoring everything else in the file (except for the contents of that COMP). For example if a .tox file named project1.tox contains project1/geo1, putting geo1 as the Sub-Component to Load, will result in geo1 being loaded in place of the current COMP. If this parameter is blank, it just loads the .tox file normally using the top level COMP in the file.

Re-Init Network reinitnet - This button will re-load from the external .tox file (if present), followed by re-initializing itself from its master, if it's a clone.


COMPs
Ambient Light • Animation • Base • Blend • Bone • Button • Camera Blend • Camera • Component• Container • Environment Light • Field • Geometry • Handle • Light • List • Null • OP Viewer • Parameter • Replicator • Select • Shared Mem In • Shared Mem Out • Slider • Table • Time • Window

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

An Operator Family that contains its own Network inside. There are twelve 3D Object Component and eight 2D Panel Component types. See also 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.

(1) The TouchDesigner window is made of a menu bar at the top, a Timeline at the bottom, plus one of a choice of Layouts in the middle. A Layout is made on one or more Panes, each Pane can contain a Network Editor, Viewer, Panel, etc. See Pane and Bookmark. (2) Nodes in a network are arranged using Layout commands in the RMB menu.

A custom interactive control panel built within TouchDesigner. Panels are created using Panel Components whose look is created entirely with TOPs.

Strictly refers to a window in Microsoft Windows. User-created windows are made with Panels inside Window Components, aside from the TouchDesigner editor window and its dialogs.

Unlike a Wire that connects nodes in the same Operator Family, a Link is the dashed lines between nodes that represent other data flowing between nodes, like CHOP Exports, node paths in parameters, and expressions in parameters referencing CHOP channels, DAT tables and other nodes.

There are 2 kinds of parenting. The "parent component" is the component in which a node resides. The metaphor is extended to include grand parents, grand-grand parents, etc. The root / is the ultimate parent to all nodes. See also 3D Parenting and panel Parenting.

An Operator Family that creates, composites and modifies images, and reads/writes images and movies to/from files and the network. TOPs run on the graphics card's GPU.

The width and height of an image in pixels. Most TOPs, like the Movie File In TOP can set the image resolution. See Aspect Ratio for the width/height ratio of an image, taking into account non-square pixels.

The component types (e.g. Slider, Button, Field, Container) that are used to create custom control panels, also known simply as Panel or Gadget

A set of commands located in a Text DAT that are triggered to run under certain conditions. There are two scripting languages in TouchDesigner: Python and the original Tscript. Scripts and single-line commands can also be run in the Textport.

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.

Any component can be extended with its own Python classes which contain python functions and data.

The component types that are used to render 3D scenes: Geometry Component contain the 3D shapes to render, plus Camera, Light, Ambient Light, Null, Bone, Handle and other component types.

A Parent Shortcut is a parameter on a component that contains a name that you can use anywhere inside the component to refer to that component using the syntax parent.Name, for example parent.Effect.par.w to obtain panel width.

A name for a component that is accessible from any node in a project, which can be declared in a component's Global Operator Shortcut parameter.

The viewer of a node can be (1) the interior of a node (the Node Viewer), (2) a floating window (RMB->View... on node), or (3) a Pane that graphically shows the results of an operator.

A custom interactive control panel built within TouchDesigner. Panels are created using Panel Components whose look is created entirely with TOPs.

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 from a CHOP is typically a 0 to 1 to 0 signal in a channel, and a pulse via python is via a .pulse() call on a pulse-type parameter, such as Reset in a Speed CHOP.

Cloning can make multiple components match the contents of a master component. A Component whose Clone parameter is set will be forced to contain the same nodes, wiring and parameters as its master component. Cloning does not create new components as does the Replicator COMP.

The location of an operator within the TouchDesigner environment, for example, /geo1/torus1, a node called torus1 in a component called geo1. The path / is called Root. To refer instead to a filesystem folder, directory, disk file or http: address, see Folder.

TouchDesigner Component file, the file type used to save a Component from TouchDesigner.

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

Every component contains a network of operators that create and modify data. The operators are connected by wires that define where data is routed after the operator cooks its inputs and generates an output.