Page 1 of 1

apply FX stack on selected layers

Posted: 09 Jun 2021, 12:17
by Peter Wassink
Currently to apply the FXstack one can choose between:
-current layer
-current group
-all layers



I would like to also have the option :
-selected layers

Because now if i need to apply on a selection of a pre-grouped selection of layers
i would either have to:
-do them layer by layer... or
-first change their group color to another single free group color and then apply the FX on 'current group' and then change all the layers back to their original group color.

both are no fun! :P
fx-on-selected-layers.jpg
fx-on-selected-layers.jpg (95.04 KiB) Viewed 9296 times

Re: apply FX stack on selected layers

Posted: 09 Jun 2021, 12:22
by Peter Wassink
Some other nice to have options could be:
- active layers (FX only does the layers that are on)
- selected groups (This one would probably require a sub-menu in witch you can tick the boxes of the desired groups...)

but for now, i would need "-selected layers" the most.

Re: apply FX stack on selected layers

Posted: 09 Jun 2021, 14:30
by D.T. Nethery
+1

Re: apply FX stack on selected layers

Posted: 09 Jun 2021, 16:44
by Svengali
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!"

Re: apply FX stack on selected layers

Posted: 09 Jun 2021, 17:22
by Peter Wassink
That looks like a great work around solution for us!

i'll check it out thanks Sven!