Skip to content

Instantly share code, notes, and snippets.

@aescripts
aescripts / Separate Position Dimensions of the Selected Layers.jsx
Last active November 14, 2017 15:52
#AfterEffects #Script #KBar #SeparateDimensions
separatePositionOfSelectedLayers();
function separatePositionOfSelectedLayers () {
if ( !(app.project.activeItem instanceof CompItem) || app.project.activeItem.selectedLayers.length == 0) {
alert("Please select some layers");
return;
}
for (var i=0; i < app.project.activeItem.selectedLayers.length; i++) {
var myLayer = app.project.activeItem.selectedLayers[i];
if (myLayer.transform.position.isSeparationLeader) myLayer.transform.position.dimensionsSeparated = true;
}
@aescripts
aescripts / Lock all Shy Layers in Comp.jsx
Last active November 14, 2017 15:52
#AfterEffects #Script #KBar #ShyLayers
for (var i=1; i < app.project.activeItem.numLayers; i++) {
if (app.project.activeItem.layer(i).shy) app.project.activeItem.layer(i).locked = true;
}
@aescripts
aescripts / Reduce Project & Keep Folders.jsx
Created November 14, 2017 15:56
#AfterEffects #Script #KBar #ReduceProject
function reduceAndKeepFolders () {
app.beginUndoGroup("Reduce & Keep Folders");
if (app.project.selection.length == 0) {
alert("Please select at least one item to keep");
return;
}
var projFolders = [];
for (var i=1; i<=app.project.numItems; i++) {
if (app.project.activeItem instanceof CompItem) {
var myCam;
if (app.project.activeItem.activeCamera instanceof CameraLayer)
myCam = app.project.activeItem.activeCamera;
else
myCam = app.project.activeItem.layers.addCamera("Target Camera", [app.project.activeItem.width/2,app.project.activeItem.height/2]);
var myNull = app.project.activeItem.layers.addNull();
myNull.name = "Target";
myCam.cameraOption.focusDistance.expression = "target = thisComp.layer(\"Target\");\nv1 = target.toWorld(target.anchorPoint) - toWorld([0,0,0]);\nv2 = toWorldVec([0,0,1]);\ndot(v1,v2);";
} else {
@aescripts
aescripts / Property Duplicator.jsx
Created November 14, 2017 16:01
#AfterEffects #Script #KBar #Duplicate
try {
var a = app.project.activeItem.selectedProperties;
if (c=prompt("How many copies?",10)) {
app.beginUndoGroup ("Prop Duplicator");
propDuplicate(a[0],c);
app.endUndoGroup();
}
function propDuplicate (prop,num) {
var b = prop.duplicate();
if (num > 1) {
try{
for (var i=0; i < app.project.selection.length; i++) {
app.project.selection[i].name = app.project.selection[i].name.toUpperCase();
}
}
catch (e) {
alert (e);
}
@aescripts
aescripts / Toggle Collapse Transformations.jsx
Created November 14, 2017 16:02
#AfterEffects #Script #KBar
try{
for (var i=0;i<app.project.activeItem.selectedLayers.length;i++)
if (app.project.activeItem.selectedLayers[i].canSetCollapseTransformation)
app.project.activeItem.selectedLayers[i].collapseTransformation = !(app.project.activeItem.selectedLayers[i].collapseTransformation);
}
catch (e) {
alert (e);
}
@aescripts
aescripts / Add Adjustment Layer with Effect.jsx
Created November 14, 2017 16:02
#AfterEffects #Script #KBar
try{
var adjLayer = app.project.activeItem.layers.addSolid([0,0,0], "Adjustment Layer", app.project.activeItem.width, app.project.activeItem.height, app.project.activeItem.pixelAspect, app.project.activeItem.duration);
adjLayer.adjustmentLayer = true;
adjLayer.effect.addProperty("Curves");
}
catch (e) {
alert (e);
}
@aescripts
aescripts / Duplicate selected layers n times.jsx
Created November 14, 2017 16:05
#AfterEffects #Script #KBar
app.beginUndoGroup("Duplicate Selected Layers");
var comp = app.project.activeItem;
if(comp){
var numCopies = prompt("How many copies?",5);
if (numCopies){
for (var i=0; i < comp.selectedLayers.length; i++) {
for (var j=1; j <= numCopies; j++) {
comp.selectedLayers[i].duplicate();
}
}
@aescripts
aescripts / Add a Quick Solid.jsx
Created November 14, 2017 16:06
#AfterEffects #Script #KBar
if(app.project.activeItem){
comp.layers.addSolid([128/255,128/255,128/255], "Quick Solid", comp.width,comp.height,comp.pixelAspect,comp.duration);
}