You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AFX_yTools/yScripts/wip/replaceLogos.jsx

86 lines
2.0 KiB

#include '/c/Program Files/01_Design/Adobe After Effects CS5.5/Support Files/Scripts/yScripts/y_JSExtensions.jsx'
function getComps(folderItem){
_comps = [];
for(i=1;i<=folderItem.numItems;i++){
item = folderItem.item(i);
if(item.typeName=='Composition'){
_comps.push(item);
}
}
return _comps
}
function getFolders(folderItem){
_folders = [];
for(i=1;i<=folderItem.numItems;i++){
item = folderItem.item(i);
if(item.typeName=='Folder'){
_folders.push(item);
}
}
return _folders
}
function getItems(folderItem){
_folders = getFolders(folderItem);
_comps = getComps(folderItem);
while(_folders.length!=0){
newFolderItem = _folders.shift();
_comps = _comps.concat(getComps(newFolderItem));
_folders = _folders.concat(getFolders(newFolderItem));
}
return _comps
}
function getLayers(compItem){
layers = [];
for(i=1;i<=compItem.numLayers;i++){
item = compItem.layer(i);
if(item.matchName == 'ADBE AV Layer'){
if(item.source.typeName == 'Composition'){
layers.push(item)
}
}
}
return layers
}
//_replaceMe = getLayers(app.project.item(6))
//b = app.project.ac
function doIt(){
app.beginUndoGroup('a')
for(i=0;i<_replaceMe.length;i++){
replaceable = _replaceMe[i];
hit = null;
for(k=0;k<_replaceWith.length;k++){
replacement = _replaceWith[k];
//alert(String(replaceable.source.name)+','+String(replacement.name))
if(replaceable.source.name==replacement.name){
hit = replacement;
}
}
if(hit!=null){
_replaceMe[i].replaceSource(hit,false)
}else{
_replaceMe[i].property("Marker").addKey(0)
}
}
app.endUndoGroup()
}
function getComp(){
comp = app.project.activeItem
return comp
}
/*
//STEP 1
_replaceMe = getLayers(getComp())
//STEP 2
_replaceWith = getItems(app.project.activeItem)
doIt()
*/