Hello, the script will duplicate your main composition to preserve effects and animations and replace footages.
function findComp(name) {
for (var i = 1; i <= proj.numItems; i++) {
item = proj.item(i);
if (item != null && item.name == name)
return i;
}
return null;
}
proj = app.project;
// Edit these values
mainComp = 'Main Composition';
bBase = 'BackgroundIMG';
mBase = 'MidgroundIMG';
fBase = 'ForegroundIMG';
ext = '.JPG';
numPerFolder = 5;
app.beginUndoGroup('undo');
for (f = 1; f <= numPerFolder; f++) {
for (m = 1; m <= numPerFolder; m++) {
for (b = 1; b <= numPerFolder; b++) {
// duplicate the main composition to preserve effects / animations
var newComp = proj.item(findComp(mainComp)).duplicate();
newComp.name = newComp.layer(1).name.charAt(0) + f + '_' + newComp.layer(2).name.charAt(0) + m + '_' + newComp.layer(3).name.charAt(0) + b;
// replace footages
newComp.layer(1).replaceSource(proj.item(findComp(fBase + ('00' + f.toString()).slice(-2) + ext)), true);
newComp.layer(2).replaceSource(proj.item(findComp(mBase + ('00' + m.toString()).slice(-2) + ext)), true);
newComp.layer(3).replaceSource(proj.item(findComp(bBase + ('00' + b.toString()).slice(-2) + ext)), true);
// newComp.openInViewer();
}
}
}
app.endUndoGroup();