Track View Pick Dialog

The Track View Pick dialog displays the hierarchy for the 3ds Max scene in a manner similar to what is seen in Track View. The user can select one or more items from this dialog. The following method displays the Track View Pick dialog:

trackView.pickTrackDlg [#multiple][<filter function>] [options:<integer>]

This method brings up the Track View Pick dialog and returns a TrackViewPick value when the user selects a track and clicks "Ok", or undefined if the user clicks "Cancel".

If the optional argument #multiple is passed, multiple tracks can be picked in the dialog and an array of TrackViewPick values is returned instead of a single value.

If the optional filter_function is supplied, each track is passed to the function as a TrackViewPick value. If the function returns true, the track is selectable in the Track View Pick dialog.

If the optional keyword argument options : is specified, the bits of the integer value define what is shown in the Track View Pick dialog.

The bits are:

1: turn on display of animated tracks only
2: turn off display of node Visibility track
3: turn on display of only selected nodes
4: turn off display of World Space Modifiers
5: turn off display of Object Space Modifiers
6: turn off display of node Transform track
7: turn off display of node base object
8: turn off display of controller types
9: turn off display of note tracks
10: turn off display of the sound track
11: turn off display of maps in materials
12: turn off display of material parameters
13: turn on display of hidden nodes
14: turn off display of hierarchy
15: turn off display of non-keyable tracks
16: turn off display of nodes
17: turn off display of geometry nodes
18: turn off display of shape nodes
19: turn off display of light nodes
20: turn off display of camera nodes
21: turn off display of helper nodes
22: turn off display of warp nodes
23: turn off display of position controllers
24: turn off display of rotation controllers
25: turn off display of scale controllers
26: turn off display of bone nodes
27: set focus to first selected node found

EXAMPLE:

   theInt = 0 
   theInt = bit.set theInt 1 true --animated tracks only
   theInt = bit.set theInt 3 true --display selected nodes only
   theInt = bit.set theInt 10 true --hide sound track
   theTrack = trackView.pickTrackDlg options:theInt --open dialog

You can also use the following function to turn a bitarray into an integer with bits set according to the flags described above. The resulting integer can be passed to the named options : parameter:

   fn bitArrayToInt theBitArray = (
   local theInt = 0
   for i in theBitArray do theInt = bit.set theInt i true
   theInt
   )
   theInt =bitArrayToInt #{1,3,10}
   theTrack = trackView.pickTrackDlg options:theInt

TrackViewPick : Value

Instances of the TrackViewPick class store the result of a selection from the Track View Pick dialog. A TrackViewPick value has the following properties:

<trackViewPick>.name : string

The name of the picked item as shown in the Track View Pick dialog.

<trackViewPick>.anim : subAnim

The subAnim for the item the user picked.

<trackViewPick>.client : MAXWrapper

The owner of the subAnim for the item the user picked. If the owner is a subclass of MAXWrapper, the MAXWrapper value for the owner is returned. Otherwise, a value of undefined is returned.

<trackViewPick>.subNum: integer

The subAnim index for anim in client .

FOR EXAMPLE:

   -- Create a sphere, apply a bend modifier and execute:
   s=sphere()
   b=bend()
   addmodifier $Sphere001 b
   tvp=trackview.pickTrackDlg()
   -- pick objects->Sphere01->Modified object->Bend->Angle
   tvp.anim -- returns SubAnim:Angle
   tvp.client -- returns Bend:Bend
   tvp.subNum -- returns 3
   tvp.name -- returns "Angle"
   tvp.client[tvp.subNum] -- returns SubAnim:Angle