Copy link to clipboard
Copied
Is there any way that I can get only properties with are available in timeline for selected Layer? I don't want to collect the names of properties like Markers and other properties which aren't available for user to see....
To be exact I write this code below.
var project = app.project;
var activeItem = project.activeItem;
var firstSelectedLayer = activeItem.selectedLayers[0];
var availableProperties = [];
for (i=1; i<=firstSelectedLayer.numProperties; i++){
availableProperties.push(firstSelectedLayer.property(i).name+"\n");
}
alert(availableProperties);
If I run this code I'll get properties available for newly created solid layer as below.
Marker
,Time Remap
,Motion Trackers
,Masks
,Effects
,Transform
,Layer Styles
,Geometry Options
,Geometry Options
,Audio
,Data
,Master Properties
,Sets
In this list TRANSFORM is the only property is visible in the timeline for the selected Solid layer. But It shows all the invisible properties for the solid. Same goes for text layer and other layers. I just want to list out the Transform property for this solid. Because it's the only visible property on timeline. If the solid has mask it should also show Mask and Transform properties. I don't want to check if the solid has mask or effects or markers for each time. Is there any simple method to do it???
Thanks in advance.
Copy link to clipboard
Copied
the Property base class has an attribute "elided". I think that does what you want.
http://docs.aenhancers.com/properties/propertybase/#propertybase-elided
Copy link to clipboard
Copied
Thank you for your response. I've updated the question with some brief explaination. Hope this time you will get my question pretty straight. elided just used to find whether if it's a group or property. But I want to know more. I mean the property actually visible in selected Layer.