Advertisement
FlexLetsPlay

Abo und Kommentar des Tages Einfügen

Oct 31st, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #target aftereffects
  2.  
  3. var mainComp = app.project.activeItem;
  4. var abortScript = false;
  5.  
  6. function MainSetup() {
  7.     if (mainComp == null || !(mainComp instanceof CompItem)) {
  8.         alert("No Comp selected");
  9.         return;
  10.     }
  11.     ImportSubCommi(); //Importiert, Verschiebt und benennt die ABO und Kommentar Bilder
  12.     if (abortScript == true) return;
  13.     CreateComp(); //Macht daraus eine Komposition und fügt sound sowie das richtige Timing der Bilder ein
  14.     BlurGameLayerWhileSubCommi(); //Fügt einen Gaussian Weichzeichner ein, wärend der "Abo und Kommentar des Tages"-Bildschirm aktiv ist
  15.     SelectMainComp();
  16. }
  17.  
  18. function ImportSubCommi() {
  19.     var configFolder = Folder("D:\\Videos\\Recordings\\EDIT\\subs\\"); //der ordner in dem alle Abo Bilder gespeichert sind
  20.     var currentProjectFolder = GetFootageByName("premComp").layers[1].source.file.path; //Wo das Projekt liegt
  21.     var fileList = configFolder.getFiles(); //hole mir alle dateien
  22.  
  23.     if (fileList.length < 1) { //wenn keine Dateien vorhanden, abbruch und Fehlermeldung
  24.         alert("No Subscriber in folder.");
  25.         abortScript = true;
  26.         return;
  27.     }
  28.    
  29.     var subFile = File(fileList[0]); //erste gefundene datei ist der ausgewähle Abo des Tages
  30.     subFile.copy(currentProjectFolder + "/sub.png"); //kopiere in Projekt ordner
  31.     subFile.remove();   //Lösche alte datei aus ABO Ordner
  32.     subFootage = app.project.importFile(new ImportOptions(File(currentProjectFolder + "/sub.png"))); //importiere die neu Kopierte datei
  33.  
  34.     //und nochmal das selbe mit Kommentar des Tages
  35.     configFolder = Folder("D:\\Videos\\Recordings\\EDIT\\commis\\");
  36.     fileList = configFolder.getFiles();
  37.  
  38.     if (fileList.length < 1) {
  39.         alert("No Comment in folder.");
  40.         abortScript = true;
  41.         return;
  42.     }
  43.  
  44.     var comFile = File(fileList[0]);
  45.     comFile.copy(currentProjectFolder + "/commi.png");
  46.     comFile.remove();
  47.     comFootage = app.project.importFile(new ImportOptions(File(currentProjectFolder + "/commi.png")));
  48. }
  49.  
  50. function CreateComp() {
  51.     var bgFootage = GetFootageByName("##SubCommiDesTages.png");
  52.     var waterFootage = GetFootageByName("waterdrop.mp3");
  53.    
  54.     var backgroundLayer = mainComp.layers.add(bgFootage);
  55.     backgroundLayer.name = "subcom";
  56.     backgroundLayer.startTime = mainComp.time;
  57.     backgroundLayer.outPoint = mainComp.time + 5;
  58.  
  59.     //precompose the layers and store in global variables
  60.     var subcomIndices = [1];
  61.     subcomComp = mainComp.layers.precompose(subcomIndices, "subcomComp", false);
  62.    
  63.     var subLayer = subcomComp.layers.add(subFootage);
  64.     var comLayer = subcomComp.layers.add(comFootage);
  65.     subLayer.position.setValue([1266,672,0]);
  66.     subLayer.scale.setValue([205,205]);
  67.     comLayer.position.setValue([1284,888,0]);
  68.     comLayer.scale.setValue([300,300]);
  69.     comLayer.startTime = 2;
  70.  
  71.     subcomComp.layers.add(GetFootageByName("waterdrop.mp3"));
  72.     var sound2 = subcomComp.layers.add(GetFootageByName("waterdrop.mp3"));
  73.     sound2.startTime = 2;
  74.  
  75. }
  76.  
  77. function BlurGameLayerWhileSubCommi() {
  78.     ShowBlurredGame(gameComp.time, true);
  79.     ShowBlurredGame(gameComp.time + 5, false);
  80. }
  81.  
  82. function CreateKeyframe(property, value, time) {
  83.     property.setValueAtTime(time, value);
  84.     property.setInterpolationTypeAtKey(property.nearestKeyIndex(time), KeyframeInterpolationType.HOLD, KeyframeInterpolationType.HOLD);
  85. }
  86.  
  87. function ShowBlurredGame(time, blurred) {
  88.     var gameLayer = GetTopMostActiveLayerInComp(premComp, "Gameplay");
  89.     gameLayer.Effects.addProperty("ADBE Gaussian Blur 2");
  90.    
  91.     var prop = gameLayer.Effects.property("ADBE Gaussian Blur 2").property("ADBE Gaussian Blur 2-0001");
  92.  
  93.     if (blurred == true)
  94.         CreateKeyframe(prop, 100, time);
  95.     else
  96.         CreateKeyframe(prop, 0, time);
  97. }
  98.  
  99. function GetTopMostLayer(startOfName) {
  100.     for (var i = 1; i <= mainComp.layers.length; i++) {
  101.         if (mainComp.layers[i].name.substring(0, startOfName.length) == startOfName) {
  102.             return mainComp.layers[i];
  103.         }
  104.     }
  105.     return null;
  106. }
  107.  
  108. function GetTopMostActiveLayerInComp(comp, startOfName) {
  109.     for (var i = 1; i <= comp.layers.length; i++) {
  110.         if (comp.layers[i].active && comp.layers[i].name.substring(0, startOfName.length) == startOfName) {
  111.             return comp.layers[i];
  112.         }
  113.     }
  114.     return null;
  115. }
  116.  
  117. function InsertFootage(comp, name) {
  118.     var layer = comp.layers.add(GetFootageByName(name));
  119.     layer.startTime = comp.time;
  120. }
  121.  
  122. function GetFootageByName(name) {
  123.     for (var i = 1; i <= app.project.items.length; i++) {
  124.         if (app.project.items[i].name == name) {
  125.             return app.project.items[i];
  126.         }
  127.     }
  128.     return null;
  129. }
  130.  
  131. function SelectMainComp() {
  132.     for (var i = 1; i <= app.project.items.length; i++) {
  133.         if(app.project.items[i] !== mainComp)
  134.             app.project.items[i].selected = false;
  135.         else
  136.             mainComp.selected = true;
  137.     }
  138. }
  139.  
  140. app.beginUndoGroup("Youtube - Insert Sub & Comment");
  141. MainSetup();
  142. app.endUndoGroup();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement