Skip to content

Commit 0727a8d

Browse files
author
Nik Ska
committed
new snippets
1 parent 7678a23 commit 0727a8d

File tree

3 files changed

+82
-1
lines changed

3 files changed

+82
-1
lines changed

csvreader.jsx

+80-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,80 @@
1-
//This script is an example of parsing csv file into AE compsfunction findCompByName(compName){ for(var i=1;i<=app.project.numItems;i++){ if(app.project.item(i).name==compName && app.project.item(i) instanceof CompItem) return app.project.item(i); } return null}var textFile = File.openDialog ("Выберите файл с данными (.csv)","*.csv");if (textFile != null) { var textLines = new Array(); textFile.open("r", "TEXT"); }while (!textFile.eof){ textLines.push(textFile.readln()); }
1+
function findCompByName(_name){
2+
for(var i = 1; i <= app.project.numItems; i++){
3+
if(app.project.item(i).name == _name && app.project.item(i) instanceof CompItem){
4+
return app.project.item(i);
5+
}
6+
}
7+
return null;
8+
}
9+
10+
function findLayerByName(_name, _comp){
11+
for(var l = 1; l <= _comp.layers.length; l++){
12+
if(_comp.layers[l].name == _name) return _comp.layers[l];
13+
}
14+
return null;
15+
}
16+
17+
function findEffectByName(_name, _layer){
18+
//looks for an effect with given name inside given layer
19+
var eff = _layer.property("ADBE Effect Parade");
20+
for(var e = 1; e <= eff.numProperties; e++){
21+
if(eff.property(e).name == _name) return eff.property(e);
22+
}
23+
return null;
24+
}
25+
26+
27+
function getFolder(_name){
28+
//function for gettin a specific folder
29+
var bFolder;
30+
31+
for(var i=1;i<=app.project.numItems;i++){
32+
if(app.project.item(i).name == _name && app.project.item(i) instanceof FolderItem) bFolder = app.project.item(i);
33+
}
34+
35+
//if ther is no such folder, add it
36+
if(!bFolder) bFolder = app.project.items.addFolder(_name);
37+
return bFolder
38+
}
39+
40+
41+
//open file
42+
var textFile = File.openDialog ("Choose a csv file","*.csv");
43+
44+
if (textFile != null) {
45+
//initialize array
46+
var textLines = [];
47+
textFile.open("r");
48+
49+
50+
while(!textFile.eof){
51+
//reading file into lines
52+
textLines.push(textFile.readln());
53+
}
54+
55+
app.beginUndoGroup("Reading csv");
56+
57+
//making or getting folder
58+
targetFolder = getFolder("broadcast");
59+
var template = findCompByName("info_template");
60+
61+
for(var i = 1; i<textLines.length; i++){
62+
63+
var line = textLines[i].split(",");
64+
65+
var newComp = template.duplicate();
66+
newComp.name = "infoline_" + String(i);
67+
newComp.parentFolder = targetFolder;
68+
69+
//accessing variables
70+
var nameText = findLayerByName("name", newComp).property("ADBE Text Properties").property("ADBE Text Document");
71+
var regionText = findLayerByName("region", newComp).property("ADBE Text Properties").property("ADBE Text Document");
72+
var numberValue = findEffectByName("amount", findLayerByName("number", newComp)).property("ADBE Slider Control-0001");
73+
74+
//setting variables
75+
nameText.setValue(line[0]);
76+
regionText.setValue(line[1]);
77+
numberValue.setValueAtKey(2, Number(line[2])/100000);
78+
}
79+
app.endUndoGroup();
80+
}

csvreader_final.jsx

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
//This script is an example of parsing csv file into AE compsfunction findCompByName(_name){ for(var i=1;i<=app.project.numItems;i++){ if(app.project.item(i).name==_name && app.project.item(i) instanceof CompItem) return app.project.item(i); } return null}function findLayerByName(_name, _comp){ for(var l = 1; l <= _comp.layers.length; l++){ if(_comp.layers[l].name == _name) return _comp.layers[l]; } return null;}function findEffectByName(_name, _layer){ //looks for an effect with given name inside given layer var eff = _layer.property("ADBE Effect Parade"); for(var e = 1; e<= eff.numProperties; e++){ if(eff.property(e).name == _name) return eff.property(e); } return null;}function getFolder(_name){ //function for gettin a specific folder var bFolder; for(var i=1;i<=app.project.numItems;i++){ if(app.project.item(i).name==_name && app.project.item(i) instanceof FolderItem) bFolder = app.project.item(i); } //if ther is no such folder, add it if(!bFolder) bFolder = app.project.items.addFolder(_name); return bFolder}var textFile = File.openDialog ("Choose a csv file","*.csv");if (textFile != null) { var textLines = []; textFile.open("r"); }while (!textFile.eof){ //reading file into lines textLines.push(textFile.readln()); }var template = findCompByName("info_template"); //reference compvar bFolder = getFolder("broadcast");app.beginUndoGroup("tst");for(var t = 1; t<textLines.length; t++){ var newComp = template.duplicate(); newComp.name = "info_"+String(t); newComp.parentFolder = bFolder; var infoName = findLayerByName("name", newComp).property("ADBE Text Properties").property("ADBE Text Document"); var infoRegion = findLayerByName("region", newComp).property("ADBE Text Properties").property("ADBE Text Document"); var infoNumber = findEffectByName("amount", findLayerByName("number", newComp)).property("ADBE Slider Control-0001"); var infoLine = textLines[t].split(','); infoName.setValue(infoLine[0]); infoRegion.setValue(infoLine[1]); infoNumber.setValueAtTime(infoNumber.keyTime(2), Number(infoLine[2])/100000);}app.endUndoGroup();

separateBrushes.jsx

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
//snippet to separate brushes into different layers//CC-BY, Nik Ska, 2014var separateBrushes = this;separateBrushes.separate = function(_removeOrigin){ var activeComp = app.project.activeItem; if(activeComp && activeComp instanceof CompItem){ var sel = activeComp.selectedLayers; if(sel){ //getting first selected layer brushes var brushes = sel[0].property("ADBE Effect Parade").property("ADBE Paint").property("ADBE Paint Group"); if(brushes){ app.beginUndoGroup("Separating brushes"); for(var i = 1; i <= brushes.numProperties; i++){ //first we duplicate a layer var newLayer = sel[0].duplicate(); newLayer.name+= (' - ' + brushes.property(i).name); //now getting its brushes var newLayerBrushes = newLayer.property("ADBE Effect Parade").property("ADBE Paint").property("ADBE Paint Group"); //cycling though brushes and removing the ones we don't need for(var j = brushes.numProperties; j>0; j--){ if(j!=i) newLayerBrushes.property(j).remove() } } //disabling original layer sel[0].enabled = false; //or removing it if(_removeOrigin) sel[0].remove(); app.endUndoGroup(); } } }}separateBrushes.separate(false)

0 commit comments

Comments
 (0)