You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+28-2
Original file line number
Diff line number
Diff line change
@@ -2,8 +2,8 @@
2
2
3
3
This repo has been built over the years as the result of working on [vk.com community on AE expressions and scripts](http://vk.com/ae_exp).
4
4
5
-
Some of these scripts are unfinished or may work not as expected.
6
-
But that's the point of education.
5
+
The main purpose of the repository is education, so you are free to use these scripts in any way you see fit.
6
+
*Some of these scripts are unfinished or may work not as expected.*
7
7
8
8
### Contents
9
9
@@ -14,3 +14,29 @@ But that's the point of education.
14
14
+ copyMarkersToComp.jsx – *unfinished* an experiment to transfer markers from a layer to compotion
15
15
+ csvreader.jsx – an example of parsing csv file into AE comps
16
16
+ debughelper.jsx – *unfinished* an experiment to create a text panel connected to selected properties
17
+
+ dropNthFrame.jsx – drops every Nth frame starting from a given
18
+
+ enableDisableExpression.jsx – enables, disables or removes all expressions on selected layers
19
+
+ filterInput.jsx – snippet to filter edittext input to only numbers
20
+
+getPropertyParent – snippet to get the property parent layer
21
+
+ guiTemplate.jsx – just a template for GUI
22
+
+ importBoujouTracking.jsx – imports Boujou 2d tracks to AE
23
+
+ makeClosest16 – script for making comp size divisible by 16
24
+
+ newAdjust.jsx – snippet that lets you name the new Adjustment Layer before it's created
25
+
+ newTrimmedNull.jsx – creates a null trimmed to the highest selected layer
26
+
+ nicePrecomp.jsx – Experiment to make nice and clean precomps. Works for AE prior to CC, where "adjust precomp to layers"
27
+
+ nullsToOne.jsx – snippet for converting a pack of nulls into one
28
+
+ openProjectFolder.jsx – Opens Project Folder
29
+
+ precompSelected.jsx – snippet to precomp all selected layers into separate comps
30
+
+ renderAll.jsx – Script for creating new version of active or selected comps and rendering them with preset templates to the "render" subfolder of a project folder
31
+
+ setBounceExpression.jsx – This script is used to set a classic bounce expression to the selected property and link it to slider controls
32
+
+ separateBrushes.jsx – snippet to separate brushes into different layers
33
+
+ setColor.jsx – *I think it is used to set selected color to one of predefined colors*
34
+
+ setExpressionToPaths.jsx – sets one expression to all paths
35
+
+ setKeysForPaths.jsx – sets keyframe for all paths in a shape layer
36
+
+ setLoop.jsx – snippet for adding a time remap loop for each selected layer
37
+
+ setRoundCaps.jsx – Sets all Stroke caps to Round in all shape groups
38
+
+ shape-duplicator.jsx – *unfinished* a tool to duplicate shape layer into another group
39
+
+ sortByPosition.jsx – snippet used to sort layers depending on their position, left to right
40
+
+ textToKeys.jsx – creates hard-coded "typewriter" effect of a Text Layer with keyframes
41
+
+ trimFirstToSecond.jsx – trim First Selected layer to the second one
42
+
+ upscaleComp.jsx – script is used to rescale composition with all its contents preserving keyframes etc
Copy file name to clipboardExpand all lines: guiTemplate.jsx
+1-1
Original file line number
Diff line number
Diff line change
@@ -1 +1 @@
1
-
//CC-BY-SA, Nik Ska 2014#script "somescript"varsomescript=this;//назови не somescript а как тебе хочетсяsomescript.scriptTitle="Somescript";somescript.run=function(){this.buildGUI(this);}somescript.buildGUI=function(thisObj){thisObj.w=(thisObjinstanceofPanel) ? thisObj : newWindow("palette",thisObj.scriptTitle,undefined,{resizeable:true});thisObj.w.alignChildren=['left','top']varg=thisObj.w.add("group{orientation:'row', alignChildren: ['left', 'top']}");/* * Поле для цифр */vartimeText=g.add("editText",undefined,"0");timeText.size=[50,25];/* * Кнопка */vargoBttn=g.add("button",undefined,"Go!");goBttn.onClick=function(){//callback для кнопкиapp.beginUndoGroup("name");//какое-то Undo/* * НЕ ЗАБУДЬ ПРОПИСАТЬ АРГУМЕНТЫ ЕСЛИ ОНИ ЕСТЬ */thisObj.runThisShit();app.endUndoGroup();};timeText.onChanging=function(){//эта херня делает так что вводятся только цифрыpreFilter=/(\d*)/;this.text=this.text.match(preFilter)[0];}if(thisObj.winstanceofWindow){thisObj.w.center();thisObj.w.show();}elsethisObj.w.layout.layout(true);}somescript.runThisShit=function(){//ТУТ ТВОЯ ОСНОВНАЯ ФУНКЦИЯ}somescript.run()
1
+
//Just a template for GUI//CC-BY-SA, Nik Ska 2014#script "somescript"varsomescript=this;//назови не somescript а как тебе хочетсяsomescript.scriptTitle="Somescript";somescript.run=function(){this.buildGUI(this);}somescript.buildGUI=function(thisObj){thisObj.w=(thisObjinstanceofPanel) ? thisObj : newWindow("palette",thisObj.scriptTitle,undefined,{resizeable:true});thisObj.w.alignChildren=['left','top']varg=thisObj.w.add("group{orientation:'row', alignChildren: ['left', 'top']}");/* * Поле для цифр */vartimeText=g.add("editText",undefined,"0");timeText.size=[50,25];/* * Кнопка */vargoBttn=g.add("button",undefined,"Go!");goBttn.onClick=function(){//callback для кнопкиapp.beginUndoGroup("name");//какое-то Undo/* * НЕ ЗАБУДЬ ПРОПИСАТЬ АРГУМЕНТЫ ЕСЛИ ОНИ ЕСТЬ */thisObj.runThisShit();app.endUndoGroup();};timeText.onChanging=function(){//эта херня делает так что вводятся только цифрыpreFilter=/(\d*)/;this.text=this.text.match(preFilter)[0];}if(thisObj.winstanceofWindow){thisObj.w.center();thisObj.w.show();}elsethisObj.w.layout.layout(true);}somescript.runThisShit=function(){//ТУТ ТВОЯ ОСНОВНАЯ ФУНКЦИЯ}somescript.run()
Copy file name to clipboardExpand all lines: precompSelected.jsx
+1-1
Original file line number
Diff line number
Diff line change
@@ -1 +1 @@
1
-
//Small snippet to precomp all selected layers into different comps//CC-BY, Nik Ska, 2014varprecompSelected=this;precompSelected.go=function(_moveAllAttributes){varactiveComp=app.project.activeItem;if(activeComp&&activeCompinstanceofCompItem){varsel=activeComp.selectedLayers;if(sel){app.beginUndoGroup("Batch Precomp");//sort selection by indexsel=sel.sort(function(a,b){return(b.index-a.index)});for(vars=sel.length-1;s>=0;s--){//check for Text of Shape layersif(sel[s]instanceofShapeLayer||sel[s]instanceofTextLayer)move=true;elsemove=_moveAllAttributes;varp=activeComp.layers.precompose([sel[s].index],sel[s].name+"_precomp",move);p.parentFolder=activeComp.parentFolder;}app.endUndoGroup();}}}precompSelected.go(false)
1
+
//Snippet to precomp all selected layers into separate comps//CC-BY, Nik Ska, 2014varprecompSelected=this;precompSelected.go=function(_moveAllAttributes){varactiveComp=app.project.activeItem;if(activeComp&&activeCompinstanceofCompItem){varsel=activeComp.selectedLayers;if(sel){app.beginUndoGroup("Batch Precomp");//sort selection by indexsel=sel.sort(function(a,b){return(b.index-a.index)});for(vars=sel.length-1;s>=0;s--){//check for Text of Shape layersif(sel[s]instanceofShapeLayer||sel[s]instanceofTextLayer)move=true;elsemove=_moveAllAttributes;varp=activeComp.layers.precompose([sel[s].index],sel[s].name+"_precomp",move);p.parentFolder=activeComp.parentFolder;}app.endUndoGroup();}}}precompSelected.go(false)
0 commit comments