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
```
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
```