Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #target aftereffects
- var mainComp = app.project.activeItem;
- var abortScript = false;
- function MainSetup() {
- if (mainComp == null || !(mainComp instanceof CompItem)) {
- alert("No Comp selected");
- return;
- }
- ImportSubCommi(); //Importiert, Verschiebt und benennt die ABO und Kommentar Bilder
- if (abortScript == true) return;
- CreateComp(); //Macht daraus eine Komposition und fügt sound sowie das richtige Timing der Bilder ein
- BlurGameLayerWhileSubCommi(); //Fügt einen Gaussian Weichzeichner ein, wärend der "Abo und Kommentar des Tages"-Bildschirm aktiv ist
- SelectMainComp();
- }
- function ImportSubCommi() {
- var configFolder = Folder("D:\\Videos\\Recordings\\EDIT\\subs\\"); //der ordner in dem alle Abo Bilder gespeichert sind
- var currentProjectFolder = GetFootageByName("premComp").layers[1].source.file.path; //Wo das Projekt liegt
- var fileList = configFolder.getFiles(); //hole mir alle dateien
- if (fileList.length < 1) { //wenn keine Dateien vorhanden, abbruch und Fehlermeldung
- alert("No Subscriber in folder.");
- abortScript = true;
- return;
- }
- var subFile = File(fileList[0]); //erste gefundene datei ist der ausgewähle Abo des Tages
- subFile.copy(currentProjectFolder + "/sub.png"); //kopiere in Projekt ordner
- subFile.remove(); //Lösche alte datei aus ABO Ordner
- subFootage = app.project.importFile(new ImportOptions(File(currentProjectFolder + "/sub.png"))); //importiere die neu Kopierte datei
- //und nochmal das selbe mit Kommentar des Tages
- configFolder = Folder("D:\\Videos\\Recordings\\EDIT\\commis\\");
- fileList = configFolder.getFiles();
- if (fileList.length < 1) {
- alert("No Comment in folder.");
- abortScript = true;
- return;
- }
- var comFile = File(fileList[0]);
- comFile.copy(currentProjectFolder + "/commi.png");
- comFile.remove();
- comFootage = app.project.importFile(new ImportOptions(File(currentProjectFolder + "/commi.png")));
- }
- function CreateComp() {
- var bgFootage = GetFootageByName("##SubCommiDesTages.png");
- var waterFootage = GetFootageByName("waterdrop.mp3");
- var backgroundLayer = mainComp.layers.add(bgFootage);
- backgroundLayer.name = "subcom";
- backgroundLayer.startTime = mainComp.time;
- backgroundLayer.outPoint = mainComp.time + 5;
- //precompose the layers and store in global variables
- var subcomIndices = [1];
- subcomComp = mainComp.layers.precompose(subcomIndices, "subcomComp", false);
- var subLayer = subcomComp.layers.add(subFootage);
- var comLayer = subcomComp.layers.add(comFootage);
- subLayer.position.setValue([1266,672,0]);
- subLayer.scale.setValue([205,205]);
- comLayer.position.setValue([1284,888,0]);
- comLayer.scale.setValue([300,300]);
- comLayer.startTime = 2;
- subcomComp.layers.add(GetFootageByName("waterdrop.mp3"));
- var sound2 = subcomComp.layers.add(GetFootageByName("waterdrop.mp3"));
- sound2.startTime = 2;
- }
- function BlurGameLayerWhileSubCommi() {
- ShowBlurredGame(gameComp.time, true);
- ShowBlurredGame(gameComp.time + 5, false);
- }
- function CreateKeyframe(property, value, time) {
- property.setValueAtTime(time, value);
- property.setInterpolationTypeAtKey(property.nearestKeyIndex(time), KeyframeInterpolationType.HOLD, KeyframeInterpolationType.HOLD);
- }
- function ShowBlurredGame(time, blurred) {
- var gameLayer = GetTopMostActiveLayerInComp(premComp, "Gameplay");
- gameLayer.Effects.addProperty("ADBE Gaussian Blur 2");
- var prop = gameLayer.Effects.property("ADBE Gaussian Blur 2").property("ADBE Gaussian Blur 2-0001");
- if (blurred == true)
- CreateKeyframe(prop, 100, time);
- else
- CreateKeyframe(prop, 0, time);
- }
- function GetTopMostLayer(startOfName) {
- for (var i = 1; i <= mainComp.layers.length; i++) {
- if (mainComp.layers[i].name.substring(0, startOfName.length) == startOfName) {
- return mainComp.layers[i];
- }
- }
- return null;
- }
- function GetTopMostActiveLayerInComp(comp, startOfName) {
- for (var i = 1; i <= comp.layers.length; i++) {
- if (comp.layers[i].active && comp.layers[i].name.substring(0, startOfName.length) == startOfName) {
- return comp.layers[i];
- }
- }
- return null;
- }
- function InsertFootage(comp, name) {
- var layer = comp.layers.add(GetFootageByName(name));
- layer.startTime = comp.time;
- }
- function GetFootageByName(name) {
- for (var i = 1; i <= app.project.items.length; i++) {
- if (app.project.items[i].name == name) {
- return app.project.items[i];
- }
- }
- return null;
- }
- function SelectMainComp() {
- for (var i = 1; i <= app.project.items.length; i++) {
- if(app.project.items[i] !== mainComp)
- app.project.items[i].selected = false;
- else
- mainComp.selected = true;
- }
- }
- app.beginUndoGroup("Youtube - Insert Sub & Comment");
- MainSetup();
- app.endUndoGroup();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement