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 handler will be called whenever the track selection has changed.

on nodeSelectionChanged do

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

on keySelectionChanged do

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

on timeSelectionChanged do

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

on MajorModeChanged do

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

on TrackListChanged do

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

on TrackViewClosed do

This handler 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 handler 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 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.

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 handler will be called for every object to be displayed in the TrackView. It has three 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 must be filtered out and not displayed

#add - The TrackView track must 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.