To access layer information in International Versions of After Effects?

Hey guys,.


Small question about how better design scripts/write code that works on any system running AE, US or otherwise.  I know that by using the name of the game is the best option but was not sure if this scope rule to the properties of the object in Javascript as well.

So I know we do not want to do this:


layer.property("Masks").property("Mask 1").property("Mask Feather")

And should instead do this:


layer.property("ADBE Mask Parade").property("ADBE Mask Atom").property("ADBE Mask Feather")

But what happened in this case:


layer.property("ADBE Mask Parade").property("ADBE Mask Atom").maskFeather //instead of .property("ADBE Mask Feather")
//OR
layer.property("ADBE Mask Parade").property("ADBE Mask Atom").maskMode

Is the property called maskMode only in the American version?  This code would crash on a German version of the AE? I ask mainly because I couldn't find a match for maskMode name but it could be a special case since it was driven by a drop-down list and the MaskMode object constants (MaskMode.SUBTRACT, MaskMode.ADD, etc.).

In general, within the environment / script code, the properties of the accessible object naming scheme will be the same between different versions?  MaskPropertyGroup.maskFeather will still be available with this naming scheme?

I know it's more than one internal/on the issue of the hood, but if someone has a preview of this, I would be very grateful!

Thank you
Calvin

Hello

you do not find a remove for maskMode because he is not a "good" (in the sense of ExtendScript) but an "attribute" (such as .rotoBezier, .propertyDepth, .propertyIndex, etc.).

So, as long as the layer has a mask (1), .maskMode layer.property("ADBE_Mask_Parade").property ("ADBE Mask Atom") is defined.

For .maskFeather, it's different because it's a property, not an attribute.

Apparently, all of the ADBE properties that are not indexable (ie. parentProperty.propertyType! == PropertyType.INDEXED_GROUP) have a compact name.

These compact names do not appear in the object reflect so they are not so easy to identify. Jeff Almasol GimmePropPath, you will find a partial (but big enough) list of these compact names.

Apparently they are also languages free of charge, if, for example, layer.mask (1) .maskFeather works in any language and so is shapeLayer.content("Group_1").transform.position, etc, etc..

Properties that are indexable (children of indexed groups) do not have a compact name (they are renamable).

For properties within the third party plugins, I don't know...

Xavier

Tags: After Effects

Similar Questions

Maybe you are looking for