Hi Peter,
you can try this short script which should do what you want (apply FX to selected layers).
It remembers your current layer and returns you there after applying the current FX to ALL THE FRAMES in the selected layers.
All the selected layers remain selected.
It will also let you undo the FX results with a single undo.
Copy the following script and insert it into a custom button's embedded GEORGE script window.
Code: Select all
Param none
ScriptName = "FXApplySelected"
tv_LayerCurrentID
OriginalLayerID = result
ExitFlag = 0
Counter = 0
SelectedLayerCounter = -1
tv_UndoOpenStack
While ExitFlag == 0
tv_LayerGetID Counter
LayerID = result
IF CMP(LayerID, "none")
Total = Counter - 1
ExitFlag = 1
tv_LayerSet OriginalLayerID
ELSE
tv_LayerInfo LayerID
parse result LDisplay LPosition LOpacity LName LType LStart LEnd LPre_LT LPost_LT LSelection LEditable LStencilState
IF LSelection == 1
tv_LayerSet LayerID
tv_StackApply CURRENTLAYER ALLFRAMES
SelectedLayerCounter = SelectedLayerCounter + 1
LayerInfo(SelectedLayerCounter) = LayerID
END
END
Counter = Counter + 1
END
IF SelectedLayerCounter > -1
FOR i = 0 to SelectedLayerCounter
LayerID = LayerInfo(i)
tv_LayerSelection LayerID 1
END
END
tv_LayerSet OriginalLayerID
tv_UndoCloseStack
post details on any problem...
sven
EDIT: I should have warned that the script ASSUMES some FX process is already loaded into the FXStack and set to ALL INSTANCES. If not, it causes an error message "There are no FX in Stack!"