Skip to content

Instantly share code, notes, and snippets.

@aztack
Forked from zlovatt/getLayerType.jsx
Created May 29, 2024 04:48
Show Gist options
  • Save aztack/5eb5e9a40158d47967af394b210176b0 to your computer and use it in GitHub Desktop.
Save aztack/5eb5e9a40158d47967af394b210176b0 to your computer and use it in GitHub Desktop.
ExtendScript: Get AE Layer Type
(function getSelectedLayerType() {
/**
* Gets the type of a given layer
*
* @param {Layer} layer Layer to check
* @return {string} Layer type
*/
function getLayerType(layer) {
switch (layer.matchName) {
case "ADBE Vector Layer":
return "Vector";
case "ADBE Text Layer":
return "Text";
case "ADBE Camera Layer":
return "Camera";
case "ADBE Light Layer":
return "Light";
case "ADBE AV Layer":
if (layer.nullLayer === true) {
return "Null";
} else if (layer.adjustmentLayer === true) {
return "Adjustment";
} else if (layer.guideLayer === true) {
return "Guide";
} else if (layer.source instanceof CompItem) {
return "Precomp";
} else if (layer.source.mainSource instanceof SolidSource) {
return "Solid";
} else if (layer.source.mainSource instanceof PlaceholderSource) {
return "Placeholder";
} else if (layer.source.mainSource instanceof FileSource) {
if (layer.source.footageMissing == true) {
return "Missing Footage";
}
var priorLayerState = layer.enabled;
layer.enabled = true;
var importIsData = layer.enabled == false;
layer.enabled = priorLayerState;
if (importIsData) {
return "Data";
}
if (!layer.source.hasVideo && layer.source.hasAudio) {
return "Audio";
}
return "Image";
}
return "Invalid";
}
}
var comp = app.project.activeItem;
var layer = comp.selectedLayers[0];
$.writeln(getLayerType(layer));
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment