You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
222 lines
7.2 KiB
222 lines
7.2 KiB
#include "y.jsx";
|
|
|
|
function compareComps( compA, compB, precision ){
|
|
// 0 = basic , 1 = advanced , 2 = certain
|
|
var result = false;
|
|
if ( precision == 0){
|
|
propList = ["name","width","height","frameDuration","numLayers"];
|
|
alert(propList);
|
|
}
|
|
for ( property in compA ){
|
|
|
|
for ( var i = 0 ; i < propList.length ; i++ ){
|
|
if ( property == propList[i] ){
|
|
//alert( property + String(compA[property]) + "/" + String(compB[property]) + " : " + ( compA[property] == compB[property]) );
|
|
if ( compA[property] == compB[property] ){
|
|
result = true;
|
|
}else{
|
|
result = false; return result;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
return result
|
|
}
|
|
function isSourceOneOfThese( layer , sourcesArray){
|
|
for ( var p = 0 ; p < sourcesArray.length ; p++ ){
|
|
if ( layer.source == sourcesArray[p] ){
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|
|
function consolidateSelectedComps(){
|
|
app.beginUndoGroup("Consolidate Selected Comps");
|
|
//DANGER Comps might not be the same, they only have to be NAMED the same.
|
|
var allCompItems = getAllProjectComps();
|
|
var myItems = getSelectedProjectComps();
|
|
// var allMyItems = []+myItems;
|
|
var newSource = myItems.pop();
|
|
|
|
for ( var i = 0 ; i < allCompItems.length ; i ++){
|
|
var curComp = allCompItems[i];
|
|
for ( var l = 1 ; l <= curComp.layers.length ; l ++){
|
|
|
|
var curLayer = curComp.layers[l];
|
|
//alert(newSource);
|
|
//alert(myItems);
|
|
|
|
if ( isSourceOneOfThese( curLayer , myItems )){
|
|
if( curLayer.source != newSource ){
|
|
curLayer.replaceSource(newSource,true);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
for ( var i = 0 ; i < myItems.length ; i ++){
|
|
var myItem = myItems[i];
|
|
myItem.remove();
|
|
}
|
|
app.endUndoGroup();
|
|
}
|
|
function stripFrameInfoFromRenderNames(){
|
|
var q = app.project.renderQueue;
|
|
|
|
for ( var i = 1 ; i <= q.numItems ; i ++ ){
|
|
item = q.item(i);
|
|
//check the render queue item is not already rendered.
|
|
//3015 is QUEUED
|
|
//3013 is NEEDS_OUTPUT
|
|
if ( (item.status == 3015) || (item.status == 3013) ){
|
|
|
|
var new_path = item.outputModules[1].file.path;
|
|
var old_name = item.outputModules[1].file.name;
|
|
var re = RegExp (/%20\([0-9]\-[0-9]{2}\-[0-9]{2}\-[0-9]{2}\)/g);
|
|
var new_name = old_name.replace(re,"")
|
|
//var clean_name = new_name.substring(0,new_name.length-19);
|
|
//var ext = new_name.substring(new_name.length-4,new_name.length);
|
|
|
|
//f = new File( new_path + "/" + clean_name+ext )
|
|
f = new File( new_path + "/" + new_name )
|
|
|
|
item.outputModules[1].file = f;
|
|
|
|
//alert(item.outputModules[1].file)
|
|
|
|
}
|
|
}
|
|
}
|
|
function renderCompMarkerFrames( comp )
|
|
{
|
|
var myMP = comp.markerProperty;
|
|
alert( myMP );
|
|
}
|
|
function addLetterbox( aspect ){
|
|
var LetterboxLayer = app.project.activeItem.layers.addShape()
|
|
var aspectControl = LetterboxLayer.property("Effects").addProperty("ADBE Slider Control")
|
|
aspectControl.name = "Aspect Ratio"
|
|
var aspectDimensions = aspect.split(":")
|
|
aspectControl.property("Slider").setValue( aspectDimensions[0] / aspectDimensions[1] )
|
|
var colorControl = LetterboxLayer.property("Effects").addProperty("ADBE Color Control")
|
|
colorControl.name = "Color"
|
|
colorControl.property("Color").setValue([0,0,0,1])
|
|
LetterboxLayer.name = String(aspect) + " Letterbox"
|
|
var compFrame = LetterboxLayer.property("Contents").addProperty("ADBE Vector Shape - Rect")
|
|
compFrame.name = "CompFrame"
|
|
compFrame.property("Size").expression = "[ thisComp.width , thisComp.height ]"
|
|
var letterboxRect = LetterboxLayer.property("Contents").addProperty("ADBE Vector Shape - Rect")
|
|
letterboxRect.name = "Letterbox"
|
|
letterboxRect.property("Size").expression = 'w = thisComp.width;\
|
|
h = thisComp.height;\
|
|
compAspect = w / h ;\
|
|
aspect = effect("Aspect Ratio")("Slider");\
|
|
if (compAspect <= aspect ) {\
|
|
[ w, w / aspect ]\
|
|
}else{\
|
|
[ h*aspect , h ]\
|
|
}'
|
|
var letterboxMerge = LetterboxLayer.property("Contents").addProperty("ADBE Vector Filter - Merge")
|
|
letterboxMerge.mode.setValue(3)
|
|
var letterboxFill = LetterboxLayer.property("Contents").addProperty("ADBE Vector Graphic - Fill")
|
|
letterboxFill.property("Color").expression = 'effect("Color")("Color")'
|
|
}
|
|
function setCompsSecondsDuration( new_duration_in_seconds ){
|
|
app.beginUndoGroup("x");
|
|
//DANGER Comps might not be the same, they only have to be NAMED the same.
|
|
var allCompItems = getAllProjectComps();
|
|
var myItems = getSelectedProjectComps();
|
|
// var allMyItems = []+myItems;
|
|
var newSource = myItems.pop();
|
|
|
|
for ( var i = 0 ; i < allCompItems.length ; i ++){
|
|
var curComp = allCompItems[i];
|
|
setDuration( curComp, new_duration_in_seconds)
|
|
}
|
|
app.endUndoGroup();
|
|
}
|
|
function setCompsFramesDuration( new_duration_in_frames ){
|
|
app.beginUndoGroup("x");
|
|
//DANGER Comps might not be the same, they only have to be NAMED the same.
|
|
var allCompItems = getAllProjectComps();
|
|
var myItems = getSelectedProjectComps();
|
|
// var allMyItems = []+myItems;
|
|
var newSource = myItems.pop();
|
|
|
|
for ( var i = 0 ; i < allCompItems.length ; i ++){
|
|
var curComp = allCompItems[i];
|
|
setDuration( curComp, new_duration_in_frames * curComp.frameDuration )
|
|
}
|
|
app.endUndoGroup();
|
|
}
|
|
|
|
//setCompsSecondsDuration(15);
|
|
setCompsFramesDuration(1440);
|
|
|
|
//addLetterbox( "2.1:1" );
|
|
|
|
//alert("FUCK")
|
|
|
|
//c = app.project.activeItem;
|
|
//renderCompMarkerFrames( c );
|
|
|
|
//alert(app.project.activeItem.layers[1].property("Contents").property(1).matchName)
|
|
|
|
//stripFrameInfoFromRenderNames()
|
|
|
|
// var myItems = getSelectedProjectComps();
|
|
// var myLayer = app.project.activeItem.selectedLayers[0]
|
|
// alert(isSourceOneOfThese(myLayer, myItems))
|
|
//alert(compareComps( myItems[0], myItems[1], 0));
|
|
|
|
//consolidateSelectedComps();
|
|
|
|
// a = app.project.items[1];
|
|
// b = app.project.items[2];
|
|
// // alert(a.frameDuration)
|
|
// // alert(b)
|
|
// var same = compareComps( a, b, 0 );
|
|
// alert(same);
|
|
|
|
// for ( property in a ){
|
|
// alert( property );
|
|
// }
|
|
|
|
|
|
//my_comps = getSelectedProjectItems();
|
|
//var myLayers = app.project.activeItem.selectedLayers;
|
|
//var my_comp = getSelectedProjectItems()[0];
|
|
|
|
//zeroOutLayer(myLayers[0]);
|
|
|
|
//app.project.save();
|
|
//alert();
|
|
|
|
|
|
//resizeCompsCanvasCentered( [ 1080, 1080 ] , true ); //1x1
|
|
//resizeCompsCanvasCentered( [ 1080, 1350 ] , true ); //4x5
|
|
//resizeCompsCanvasCentered( [ 1080, 1920 ] , true ); // 9x16
|
|
|
|
//a="WTC2_1x1_TUNG_GLD_ROTO_Ghostface_02tl_03jvFIN"
|
|
//alert( insertAt( a, "TXT", -12 ));
|
|
|
|
//insertAtSelectedItemsNames( "TXT", -12 ); // insert "TXT" into the 12th position from the end of all selected Items' names.
|
|
//insertAtSelectedItemsNames( "ROTO", -12 );
|
|
//insertAtSelectedItemsNames( "TXTLS", -12 );
|
|
|
|
//setFPS( my_comp, 24 );
|
|
//setCompsFPS( 23.976 );
|
|
|
|
//var my_comp = getSelectedProjectItems()[0];
|
|
|
|
//new_size = [ 1080, 1920 ];
|
|
//resizeCompCanvasCentered( my_comp, new_size, true )
|
|
|
|
//selectLayersByParented( false );
|
|
|
|
|
|
|
|
//alert(system.callSystem("whoami"))
|
|
|
|
//app.project.save()
|