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.
		
		
		
		
		
			
		
			
				
					
					
						
							85 lines
						
					
					
						
							2.1 KiB
						
					
					
				
			
		
		
	
	
							85 lines
						
					
					
						
							2.1 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()
 | |
| 
 | |
| */ |