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.
plugin TrackViewUtility KeyValueUtility
name:"Current Value Editor"
category:"Scripted TV Utilities"
-- Body of Plug-in here...
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.
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
If the return value is neither #skip nor #add, a value of #add will be assumed and the track will be displayed.
Updating Scripted Plug-ins
Scripted Plug-in Methods
Scripted Plug-in Clauses