Page 1 of 1

Scale multiple compositions by percent

Posted: June 17th, 2007, 4:39 am
by Adam
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

Posted: June 17th, 2007, 6:45 pm
by nab
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();

Posted: June 18th, 2007, 4:13 pm
by Adam
nab,

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

-Adam

Re: Scale multiple compositions by percent

Posted: March 6th, 2016, 7:28 pm
by dotcommer
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!