Create Precomps.jsx
(function(thisObj) {
buildUI(thisObj);
function buildUI(thisObj) {
var palette = (thisObj instanceof Panel) ? thisObj : new Window("palette", "Create Precomps", undefined, {
resizeable: true
});
palette.alignChildren = ["left", "top"];
palette.spacing = 7;
palette.margins = 10;
var button = palette.add("button", undefined, 'Create Precomp');
if (palette instanceof Window) {
palette.center();
palette.show();
} else {
palette.layout.layout(true);
palette.layout.resize();
}
button.onClick = function() {
var proj = app.project;
var thisComp = proj.activeItem;
var selectedLayers = thisComp.selectedLayers;
if (!selectedLayers.length) {
alert('Select at least 1 layer');
return false;
}
app.beginUndoGroup("Create Precomps");
var precompName = '';
var indexes = [];
for (var i = 0; i < selectedLayers.length; i++) {
precompName += selectedLayers[i].name;
indexes.push(selectedLayers[i].index);
}
var precomp = thisComp.layers.precompose(indexes, precompName, true);
app.endUndoGroup();
};
}
})(this);