Track View Nodes

You can access and modify controllers in the Global Tracks and Video Post sections in Track View, and create new named global tracks. Among other things, these can be used to provide keyframeable parameters in your scripted utilities.

There are also methods associated with the Track View window. These methods are described in Track View.

MAXTVNode : Value is the class whose instances represent track view global track nodes. Each MAXTVNode can contain any number of MAXTVNodes or animation controllers. The MAXTVNodes and controllers within a MAXTVNode are shown as properties of the MAXTVNode so you navigate through the nesting using property access. A MAXTVNode itself does not store animation data, but rather acts as a container that can store one or more MAXTVNode or animation controller.

There are three track view nodes you can access through global variables: the root node to which you can add new custom tracks; the existing Global Tracks node which provides access to the global track controllers; and the Video Post tracks node which provides access to any video post controllers. These nodes are also accessible as properties on the root node.

Constructor

trackViewNodes

Global variable containing the top-level World, or root, node in Track View. This variable is read-only.

globalTracks

Global variable containing the top-level Global Tracks node in Track View. This variable is read-only.

videoPostTracks

Global variable containing the top-level Video Post Track View node. This variable is read-only. This variable contains the value undefined in 3D Studio VIZ.

newTrackViewNode [ <maxtvnode> ] <name_string> [ #hidden ]

if the <maxtvnode> argument is supplied, adds a sub-track node to it. If not, creates a new 'top-level' track in the Track View. If the optional #hidden flag is supplied, the node is not visible in the Track View.

Properties

<maxtvnode>.name               String

the track view node name as it appears in Track View

The sub-tracks and sub-controllers for a track view node are also shown as properties of the track view node. For example, the additional default properties for global trackViewNodes are:

TrackViewNodes.Global_Tracks MAXTVNode

TrackViewNodes.Video_Post MAXTVNode

And the additional default properties for global globalTracks are:

GlobalTracks.float float_list controller

GlobalTracks.point3 point3_list controller

GlobalTracks.position position_list controller

GlobalTracks.rotation rotation_list controller

GlobalTracks.scale scale_list controller

GlobalTracks.Block_Control block_control controller

Methods

deleteTrackViewNode [ <parent_maxtvnode> ] <maxtvnode>

deletes the given node from the supplied parent, or the top-level if the parent is not specified

addTrackViewController <maxtvnode> <controller> <name>

adds the sub-controller to the given Track View node. The

deleteTrackViewController <maxtvnode> <controller>

deletes the controller from the given Track View node

Examples:

-- access a video post track

videoPostTracks.glow.size = 5

-- set up some visible tracks for some keyframeable parameters in a rollout panel

my_tracks = newTrackViewNode "Grinner"

happy_ctrl = bezier_position()

addTrackViewController my_tracks happy_ctrl "Happy"

...

-- plant keyframes in rollout spinner handler if the animate button is on

rollout grinner ...

(

...

on happy changed val do

(

...

happy_ctrl.value = [x, y, z]

...

)

...

)

-- add a new float controller to the global tracks float controller list

globalTracks.float.controller.available.controller = bezier_float()

See also