https://forums.creativecow.net/thread/227/18794 http://aescripts.com/templater/ https://www.premiumbeat.com/blog/10-time-saving-tips-in-after-effects/ http://www.molecularmovies.com/img/pdf_tutorials/AEbasics.pdf https://www.themarketingtechnologist.co/creating-dynamic-videos-using-javascript-and-after-effects-the-basics/
fps=5; //frequency amount=8; //amplitude wiggle(fps,amount,octaves = 1, amp_mult = 0.5,(Math.round(time*fps))/fps);
afterfx.exe -s "var myArg="I'm a string!"; $.evalFile("Your path to script here")" c:\PathToAE\AfterFX.exe -r C:\"path"\"script name".jsx
Details on Javascript UI, can refer to my Photoshop javascript study: scriptUI in detail
ScriptUI vs Dockable ScriptUI in AfterEffects
ScriptUI dockable code
app.executeCommand(app.findMenuCommandId("Reveal in Explorer"));
var theLayer = app.project.activeItem.selectedLayers[0]; alert(theLayer.source.file.fsName);
// ref: http://www.smipple.net/snippet/francoisgfx/Reveal%20Layers%20in%20Project var proj = app.project; var comp = proj.activeItem; if(comp){ var selectedLayers = comp.selectedLayers; if(selectedLayers.length > 0){ for(var l = 0 ; l < selectedLayers.length ; l++){ selectedLayers[l].source.selected = true; } } }
write('info here'); writeln('info breakline');
app.activate(); // bring to front app.beginSuppressDialogs(); // no error pop-up; endSuppressDialogs // make undo group app.beginUndoGroup(commentString); app.endUndoGroup(commentString);
app.activeViewer; // current focused viewer (comp, layer, footage panel)
// ref: http://www.smipple.net/snippet/francoisgfx/Set%20Expression%20to%20selected%20property%20%28in%20AE%29 var link_expression = 'wiggle(10,30);' var cur_comp = app.project.activeItem; // our current selected & opened comp if(cur_comp && cur_comp.selectedLayers[0].selectedProperties[0]){ // if a comp and at least one property is selected for(var i = 0 ; i < cur_comp.selectedLayers.length; i++){ // go trough each selected layers var cur_layer = cur_comp.selectedLayers[i]; for(var j = 0 ; j < cur_layer.selectedProperties.length; j++){ // go through each selected properties var cur_attr = cur_layer.selectedProperties[j]; if(cur_attr.canSetExpression) { cur_attr.expression = link_expression; }else{ alert("Can't add expression to the selected property"); }; }; }; }else{ alert("properties of an effect or a layer has to be selected"); };
app.project.renderQueue.items.add(myComp).applyTemplate("TemplateName");