Scripted TrackViewUtility Plug-ins

 

Scripted TrackViewUtility plug-ins are declared by specifying the <superclass> as TrackViewUtility. They can be used to implement new Utilities to manipulate tracks and keys in TrackView. Their UI can be registered as child of the respective TrackView.

 

Example:

plugin TrackViewUtility KeyValueUtility

 name:"Current Value Editor"

 category:"Scripted TV Utilities"

 classID:#(0x57088e0e, 0x50b6e750)

(

-- Body of Plug-in here...

)

Event Handlers:

The following Event Handlers can be implemented by a Scripted TrackViewUtility plug-in:

on trackSelectionChanged do

This hander will be called whenever the track selection has changed.

 

on nodeSelectionChanged do

This hander will be called whenever the node selection has changed.

 

on keySelectionChanged do

This hander will be called whenever the keys selection has changed.

 

on timeSelectionChanged do

This hander will be called whenever the time selection has changed.

 

on MajorModeChanged do

This hander will be called whenever the Track View mode has changed.

 

on TrackListChanged do

This hander will be called whenever the track list has changed.

 

on TrackViewClosed do

This hander will be called whenever the Track View has been closed. It can be used to do clean-up work before closing the plug-in.

 

on Init <value> do

This hander will be called whenever the TrackViewUtility plug-in has been initialized. It can be used to do initialization work before opening the plug-in. The value returned contains the parent Track View the TrackViewUtility plug-in has been called from. You can use the value to get the handle of the TrackView and register the dialog of the utility as child of the Track View.

For Example:

on Init val do

(

--Create a dialog from the Rollout, make it child of the Track View

 createDialog valueRollout parent:(val.ui.hwnd)

--Register the dialog as Dialog Bar, make it child of the Track View

 cui.registerDialogBar valueRollout parent:val.ui.hwnd

)

 

 

on filterAnim <anim>subAnim <anim>client <index>index do

This hander will be called for every object to be displayed in the TrackView. It has 3 arguments - the subAnim object to be displayed, its client (parent object) and the index inside the client.

The return value of this handler can be

#skip - the TrackView track should be filtered out and not displayed

#add - the TrackView track should be displayed

Note:

If the return value is neither #skip nor #add, a value of #add will be assumed and the track will be displayed.

See also

Updating Scripted Plug-ins

Scripted Plug-in Methods

Scripted Plug-in Clauses

Scripted Plug-ins