Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- *Find and rig layers
- */
- fun();
- function fun(){
- var searchWord = "con-text";
- var maxSlides = 150;
- var maxElements = 30;
- var xShift = 1;
- var yShift = 1;
- var colorHere = 0;
- app.beginUndoGroup("Find and ColorControl text");
- var ControllerComp;
- for (var i = 1; i <= app.project.numItems; i ++) {
- if ((app.project.item(i) instanceof CompItem) && (app.project.item(i).name === 'Controller')) {
- ControllerComp = app.project.item(i);
- break;
- }
- }
- // if there is no Controller comp - create one:
- if (!ControllerComp || !(ControllerComp instanceof CompItem)){
- // create "Controller" composition
- app.project.items.addComp('Controller', 1280, 720, 1, 5, 25);
- // alert("Comp Created"); // message window about comp created
- }
- for (var i = 1; i <= app.project.numItems; i ++) {
- if ((app.project.item(i) instanceof CompItem) && (app.project.item(i).name === 'Controller')) {
- ControllerComp = app.project.item(i);
- break;
- }
- }
- //Work with selected composition only
- for (var k = 1; k <= app.project.numItems; k++){
- if ((app.project.item(k).selected) && (app.project.item(k) instanceof CompItem)) {
- // app.project.item(k).height = 2304; //change height if comp is not full hd ratio
- var myLayers = app.project.item(k).layers;
- for (var i = 1; i <= myLayers.length; i ++) {
- var layerName = myLayers[i].name;
- for (var f = 1; f <= maxSlides; f ++) { // first number in search word
- for (var s = 1; s <= maxElements; s ++) { // second number in search word
- if (layerName === (searchWord + f + "." + s)){
- var CurrLayer = myLayers[i]; // select curr layer
- // CurrLayer.property("Layer Styles").enabled = false; //enable/disable some property
- // 1. Remove templater if layer should be locked
- /* if (CurrLayer.effect("Templater Settings")){
- //deleteTemplater Effect of this layer as we will attach to copy
- CurrLayer.Effects.property("Templater Settings").remove();
- }
- if (!CurrLayer.effect("Templater Settings")){
- //add Templater Effect to this layer ONLY if there is NO templater YET
- CurrLayer.Effects.addProperty("Templater Settings");
- }
- //if need to RIG adjustments
- CurrLayer.effect("Templater Settings")("Scale factor").setValue(85);
- // CurrLayer.effect("Templater Settings")("Fit Image Style").setValue(1);
- CurrLayer.effect("Templater Settings")("Initialize to center").setValue(1);
- /* // Timing settings
- CurrLayer.effect("Templater Settings")("Comp Ends at Out Point").setValue(1);
- CurrLayer.effect("Templater Settings")("Preserve Start").setValue(1);
- CurrLayer.effect("Templater Settings")("Preserve End").setValue(1);
- */
- var colorLayers = ControllerComp.layers; // layers in color comp
- for (var c = 1; c <= colorLayers.length; c ++) {
- var colorName = colorLayers[c].name;
- if (colorName === ("color" + f + "." + s)){ // check if layer is already present
- colorHere = 1; // if present
- break;
- } else {
- colorHere=0; // if not
- }
- }
- if (colorHere == 0){ // Add color layer if no such number yet
- ControllerComp.layers.addSolid([0,1,1], "color", 40, 40, 1, 5);
- solidLayer = ControllerComp.layer("color");
- solidLayer.name = "color" + f + "." + s;
- solidLayer.position.setValue([50*xShift, 55*yShift]);
- solidLayer.Effects.addProperty("Templater Settings");
- var solidEffect = solidLayer.Effects.addProperty("ADBE Color Control");
- solidLayer.effect("Color Control")("Color").expression = "sampleImage(anchorPoint, [1,1], true, time)";
- //color layer shift
- xShift++;
- if (xShift==11) {
- yShift++;
- xShift=1;
- }
- }
- var textLayers = ControllerComp.layers; // check layers in Controller comp
- for (var c = 1; c <= textLayers.length; c ++) {
- var textName = textLayers[c].name;
- if (textName === ("text" + f + "." + s)){ // check if layer is already present
- textHere = 1; // if present
- break;
- } else {
- textHere=0; // if not
- }
- }
- if (textHere==0){ //add text if no such number yet
- ControllerComp.layers.addText("text" + f + "." + s);
- newTextLayer = ControllerComp.layer("text" + f + "." + s);
- newTextLayer.name = "text" + f + "." + s;
- newTextLayer.Effects.addProperty("Templater Settings");
- }
- if (!CurrLayer.Effects.property("ADBE Fill")){
- var myEffect = CurrLayer.Effects.addProperty("ADBE Fill");
- }
- CurrLayer.effect("Fill")("Color").expression = "comp('Controller').layer('color"+ f + "." + s +"').effect('Color Control')('Color')"; // attach color
- CurrLayer.name= "con-text"+ f + "." + s; // rename layer to different name (if will be with templater)
- // CurrLayer.locked = true; // lock this layer if setting 1. (templater is removed)
- // set_scale(k, CurrLayer); // call function to set scale
- CurrLayer.text.sourceText.expression = "comp('Controller').layer('text"+ f + "." + s +"').text.sourceText"; // attach source to text
- }
- }
- }
- }
- }
- }
- app.endUndoGroup();
- // app.executeCommand(app.findMenuCommandId("Save a Copy As CC (13)..."));
- }
- function set_scale(k, CurrLayer){
- if (!CurrLayer.Effects.property("Slider Control")){
- var myEffect = CurrLayer.Effects.addProperty("Slider Control");
- }
- var text_name = CurrLayer.name;
- text_w =CurrLayer.sourceRectAtTime(2, false).width; // text width
- comp_w =app.project.item(k).width; // current comp width
- sliderPos = text_w*100/comp_w; // calculate slider default value
- app.project.item(k).layer(text_name).effect("Slider Control")("Slider").setValue(sliderPos); //define slider to control
- // set default Value to slider
- /*
- var def_scale_x = CurrLayer.transform.scale[0];
- var def_scale_y = CurrLayer.transform.scale[1];
- var ratio_scale = def_scale_y/def_scale_x;
- */
- // set expression for Scale
- 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]";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement