Scale multiple compositions by percent

What type of scripts do you need?

Moderator: byronnash

Post Reply
Adam
Posts: 2
Joined: June 15th, 2007, 11:17 pm

We often need to scale a few hundred movies by 50% and then re-render them. There is already a script that ships with After Effects 7 which allows you to do this one composition at a time, but this gets pretty tedious.

If any of you could write something that allows you to select multiple comps from the project window and scale them all by a percent, I would be very grateful.

-Adam
nab
Posts: 203
Joined: November 29th, 2005, 3:00 am
Location: Royan
Contact:

Hi Adam,
you could try something like that

Code: Select all

var percent = prompt("Resize factor (percentage):","50");
var mySelection = app.project.selection;            
app.beginUndoGroup("scaleSelectedComps.jsx");      
for (var i = 0; i < mySelection.length; i++)
{
   if (mySelection[i] instanceof CompItem)
   {
      var compName = mySelection[i].name + " resized";
      compName = compName.substring(0,31);
      var W = Math.round(mySelection[i].width * percent/100);   
      var H = Math.round(mySelection[i].height* percent/100);
      var pixAsp = mySelection[i].pixelAspect;
      var Dur = mySelection[i].duration;
      var frRate = mySelection[i].frameRate;
      var resizedComp = app.project.items.addComp(compName,W,H,pixAsp,Dur,frRate);
      var myLayer = resizedComp.layers.add(mySelection[i]);
      myLayer.scale.setValue([percent,percent]);      
   }
}
app.endUndoGroup();
Adam
Posts: 2
Joined: June 15th, 2007, 11:17 pm

nab,

That is exactly what we needed. Thank you very much for your work.

-Adam
dotcommer
Posts: 1
Joined: March 6th, 2016, 6:13 pm

Sorry to dig up an old thread, but anyone able to help me out modifying this so it just overwrites the selected comps with the new scale instead of making duplicates with "resize" added at the end? I thought adding mySelection.remove(); at the end would work, but that seems to delete the layers in the original so the new comp is blank (but scaled correctly).

Thanks!
Post Reply