SHARE
TWEET

Untitled

a guest Apr 23rd, 2019 88 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /**
  2.  *Find and rig layers
  3.  
  4.  */
  5. fun();
  6. function fun(){
  7.  
  8. var searchWord = "con-text";
  9.  
  10. var maxSlides = 150;
  11. var maxElements = 30;
  12. var xShift = 1;
  13. var yShift = 1;
  14. var colorHere = 0;
  15.  
  16. app.beginUndoGroup("Find and ColorControl text");
  17.        
  18.                 var ControllerComp;
  19. for (var i = 1; i <= app.project.numItems; i ++) {
  20.     if ((app.project.item(i) instanceof CompItem) && (app.project.item(i).name === 'Controller')) {
  21.         ControllerComp = app.project.item(i);
  22.         break;
  23.     }
  24. }
  25.  
  26. // if there is no Controller comp - create one:
  27. if (!ControllerComp || !(ControllerComp instanceof CompItem)){
  28.          // create "Controller" composition
  29.         app.project.items.addComp('Controller', 1280, 720, 1, 5, 25);
  30.        // alert("Comp Created");   // message window about comp created
  31.     }
  32.  
  33. for (var i = 1; i <= app.project.numItems; i ++) {
  34.     if ((app.project.item(i) instanceof CompItem) && (app.project.item(i).name === 'Controller')) {
  35.         ControllerComp = app.project.item(i);
  36.         break;
  37.     }
  38. }
  39.        
  40.        
  41.                           //Work with selected composition only
  42.                         for (var k = 1; k <= app.project.numItems; k++){
  43.                                 if ((app.project.item(k).selected) && (app.project.item(k) instanceof CompItem)) {
  44.                                    
  45.                                  //  app.project.item(k).height = 2304;    //change height if comp is not full hd ratio
  46.                                    
  47.                                      var myLayers = app.project.item(k).layers;
  48.                                      
  49.                                             for (var i = 1; i <= myLayers.length; i ++) {
  50.                                                
  51.                                                 var layerName = myLayers[i].name;
  52.                                                
  53.                                                     for (var f = 1; f <= maxSlides; f ++) {   // first number in search word
  54.                                                             for (var s = 1; s <= maxElements; s ++) {    // second number in search word
  55.                                                            
  56.                                                                      
  57.                                                                      if (layerName === (searchWord + f + "." + s)){      
  58.                                                                                
  59.                                                                                 var CurrLayer = myLayers[i];  // select curr layer
  60.                                                                                
  61.                                                                    //         CurrLayer.property("Layer Styles").enabled = false;      //enable/disable some property
  62.                                                            // 1. Remove templater if layer should be locked              
  63.                                                            /*                   if (CurrLayer.effect("Templater Settings")){
  64.                                                                                     //deleteTemplater Effect of this layer as we will attach to copy
  65.                                                                                           CurrLayer.Effects.property("Templater Settings").remove();
  66.                                                                                       }
  67.                                                                            
  68.                                                                            
  69.                                                                            if (!CurrLayer.effect("Templater Settings")){
  70.                                                                                     //add Templater Effect to this layer ONLY if there is NO templater YET
  71.                                                                                   CurrLayer.Effects.addProperty("Templater Settings");
  72.                                                                                   }                                                                        
  73.                                                                             //if need to RIG adjustments
  74.                                                                             CurrLayer.effect("Templater Settings")("Scale factor").setValue(85);
  75.                                                                   //      CurrLayer.effect("Templater Settings")("Fit Image Style").setValue(1);
  76.                                                                             CurrLayer.effect("Templater Settings")("Initialize to center").setValue(1);
  77.                                                                  /*               // Timing settings
  78.                                                                             CurrLayer.effect("Templater Settings")("Comp Ends at Out Point").setValue(1);
  79.                                                                             CurrLayer.effect("Templater Settings")("Preserve Start").setValue(1);
  80.                                                                             CurrLayer.effect("Templater Settings")("Preserve End").setValue(1);
  81.                                                                                     */
  82.                                                                                
  83.                                                                                 var colorLayers = ControllerComp.layers;  // layers in color comp
  84.                                                                                 for (var c = 1; c <= colorLayers.length; c ++) {
  85.                                                                                     var colorName = colorLayers[c].name;
  86.                                                                                          if (colorName === ("color" + f + "." + s)){  // check if layer is already present
  87.                                                                                              colorHere = 1; // if present
  88.                                                                                              break;
  89.                                                                                              } else {
  90.                                                                                                  colorHere=0;  // if not
  91.                                                                                                  }
  92.                                                                                              }
  93.                                                                                                  
  94.                                                                                if (colorHere == 0){                  //  Add color layer if no such number yet
  95.                                                                             ControllerComp.layers.addSolid([0,1,1], "color", 40, 40, 1, 5);
  96.                                                                             solidLayer = ControllerComp.layer("color");
  97.                                                                             solidLayer.name = "color" + f + "." + s;
  98.                                                                             solidLayer.position.setValue([50*xShift, 55*yShift]);
  99.                                                                             solidLayer.Effects.addProperty("Templater Settings");
  100.                                                                             var solidEffect = solidLayer.Effects.addProperty("ADBE Color Control");
  101.                                                                             solidLayer.effect("Color Control")("Color").expression = "sampleImage(anchorPoint, [1,1], true, time)";
  102.                                                                            
  103.                                                                                                                                                      
  104.                                                                                 //color layer shift
  105.                                                                                         xShift++;
  106.                                                                                       if (xShift==11) {
  107.                                                                                         yShift++;
  108.                                                                                         xShift=1;
  109.                                                                                         }
  110.                                                                                
  111.                                                                                 }
  112.                                                                            
  113.                                                                             var textLayers = ControllerComp.layers;  // check layers in Controller comp
  114.                                                                                 for (var c = 1; c <= textLayers.length; c ++) {
  115.                                                                                     var textName = textLayers[c].name;
  116.                                                                                          if (textName === ("text" + f + "." + s)){  // check if layer is already present
  117.                                                                                              textHere = 1; // if present
  118.                                                                                              break;
  119.                                                                                              } else {
  120.                                                                                                  textHere=0;  // if not
  121.                                                                                                  }
  122.                                                                                              }
  123.                                                                            
  124.                                                                             if (textHere==0){          //add text if no such number yet
  125.                                                                             ControllerComp.layers.addText("text" + f + "." + s);
  126.                                                                             newTextLayer = ControllerComp.layer("text" + f + "." + s);
  127.                                                                             newTextLayer.name = "text" + f + "." + s;
  128.                                                                             newTextLayer.Effects.addProperty("Templater Settings");
  129.                                                                             }
  130.                                                                        
  131.                                                                            
  132.                                                                             if (!CurrLayer.Effects.property("ADBE Fill")){
  133.                                                                                 var myEffect = CurrLayer.Effects.addProperty("ADBE Fill");
  134.                                                                                 }
  135.                                                                                 CurrLayer.effect("Fill")("Color").expression = "comp('Controller').layer('color"+ f + "." + s +"').effect('Color Control')('Color')";  // attach color
  136.                                                                                 CurrLayer.name= "con-text"+ f + "." + s; // rename layer to different name (if will be with templater)
  137.                                                                          //       CurrLayer.locked = true; // lock this layer if setting 1. (templater is removed)
  138.                                                                                    
  139.                                                                                   // set_scale(k, CurrLayer); // call function to set scale
  140.                                                                                    
  141.                                                                                    CurrLayer.text.sourceText.expression = "comp('Controller').layer('text"+ f + "." + s +"').text.sourceText";   // attach source to text
  142.                                                                                    
  143.                                                                                   }                              
  144.                                                                       }                                                                        
  145.                                             }
  146.                                   }
  147.                                    
  148.                                 }
  149.                         }
  150.  
  151.                     app.endUndoGroup();
  152.              
  153.             //         app.executeCommand(app.findMenuCommandId("Save a Copy As CC (13)..."));
  154.  
  155.  
  156. }
  157.  
  158. function set_scale(k, CurrLayer){
  159.         if (!CurrLayer.Effects.property("Slider Control")){
  160.         var myEffect = CurrLayer.Effects.addProperty("Slider Control");
  161.             }
  162.         var text_name = CurrLayer.name;
  163.         text_w =CurrLayer.sourceRectAtTime(2, false).width;   // text width
  164.         comp_w =app.project.item(k).width;   // current comp width
  165.         sliderPos = text_w*100/comp_w;       // calculate slider default value
  166.         app.project.item(k).layer(text_name).effect("Slider Control")("Slider").setValue(sliderPos);  //define slider to control
  167.          // set default Value to slider
  168.        /*
  169.         var def_scale_x = CurrLayer.transform.scale[0];
  170.         var def_scale_y = CurrLayer.transform.scale[1];
  171.         var ratio_scale = def_scale_y/def_scale_x;
  172.                  */                                                                    
  173.         // set expression for Scale
  174.         CurrLayer.transform.scale.expression = "txt = thisComp.layer('"+ text_name+"'); txt_w = txt.sourceRectAtTime(time,true).width; comp_w=thisComp.width; N=thisComp.layer('"+ text_name+"').effect('Slider Control')('Slider').value/100; max=comp_w*N; if (txt_w>max){x=max*100/txt_w;} else {x=100;} y=x; [x,y]";
  175.     }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top