スクリプト

使用エフェクト一覧をテキストファイル出力するスクリプト「exportFxName.jsx」

実行すると、開いているaepファイルと同じフォルダに、使用エフェクト一覧テキストファイルを出力します。

[解説]

var fileObj = new File(decodeURI(app.project.file.parent)+"/dev["+decodeURI(app.project.file.name)+"]使用エフェクト一覧.txt");
    fileObj.encoding = "UTF-8";
var flag = fileObj.open("w");

var compName="";

if (flag == true)//ファイルが開けなければ終了
{
        
    // プログレス準備
    var greWin = new Window('window','実行中',[500,500,800,580]);
    var st=greWin.add('statictext',[20,10,130,30],"全体の進行状況");
        greWin.Dilog = greWin.add("progressbar",[20,30,280,40],0,100);
        greWin.center();
        greWin.show();
    var allFxAr = [];

    var tx=
        "["+decodeURI(app.project.file.name)+"]\r"+
        "aep使用エフェクト名一覧\r\r";
        
        tx+=
            "*---------------------------------\r"+
            "*[コンポジション名]\r"+
            "*---------------------------------\r"+
            "*     (レイヤー番号):[レイヤー名]\r"+
            "*          : エフェクト名1\r"+
            "*          : エフェクト名2\r"+
            "*       (以下エフェクト続く…)\r\r";

        //プロジェクトウィンドウ全検索
        for (i=1; i<=app.project.items.length; i++){
            var itm = app.project.item(i);
            if(itm instanceof CompItem){// - [compなら]中身も全検索
                for(var j=1;j<=itm.numLayers;j++){//コンポジション内全検索
                    var lyr = itm.layer(j);//ファイル置換はitm.nameに、テキスト変換はlyr.nameに適用
                    var is3Dobj=false;//ライト、カメラレイヤー回避
                    if(lyr.matchName == "ADBE Camera Layer")  is3Dobj=true;
                    if(lyr.matchName == "ADBE Light Layer") is3Dobj=true;
                    if ( !is3Dobj){
                        var numEff=lyr.property("Effects").numProperties;
                        if (numEff){
                            if (compName!=itm.name){
                                compName=itm.name;
                                tx+="\r---------------------------------\r";
                                tx+="["+compName+"]コンポ\r";
                            }
                               tx+="\r"+"    #" + lyr.index + " [" + lyr.name+"]レイヤー\r";
                            for(k=1;k<=numEff;k++){
                                var effName="("+lyr.property("Effects").property(k).matchName+") "+lyr.property("Effects").property(k).name;
                                tx+="     " + " : " + effName+"\r";
                                    allFxAr.push(effName);
                               }
                        }
                    }
                }
            }
        }

    f_arrayUnique(allFxAr);//重複削除

    allFxAr.sort(//番号順にソート
        function(a,b){
            if(a<b)return -1;
            if(a>b)return 1;
            return 0;
        }
    );
    tx+="\r\r全エフェクト一覧\r"+allFxAr.join("\r");


    fileObj.write(tx);
    greWin.close();
    fileObj.close();
    
    alert("aep使用エフェクト名一覧 - 書き出し完了");

}else{
    alert("ファイル保存取り消し");
}



//配列重複削除
function f_arrayUnique(ary){
    var i, j, len;
    i = 0;
    len = ary.length;
    while(i < len){
        j = i + 1;
        while(j < len){
            if(ary[j] === ary[i]){
                ary.splice(j, 2);
                len--;
            }else{
                j++;
            }
        }
        i++;
    }
}

出力されるファイル例

[sample.aep]
aep使用エフェクト名一覧
*---------------------------------
*[コンポジション名]
*---------------------------------
 (レイヤー番号):[レイヤー名]
   : エフェクト名1
   : エフェクト名2
  (以下エフェクト続く…)

[sample comp]コンポ
#8 [mask 2]レイヤー
   : (ADBE Angle Control) angle
   : (ADBE Checkbox Control) 上下反転
   : (ADBE Color Control) fill_color
   : (ADBE Color Control) strk_color

#10 [shape 2]レイヤー
   : (ADBE Checkbox Control) 縦書き
   : (ADBE Slider Control) n個で改行
   : (ADBE Slider Control) ズレX
   : (ADBE Slider Control) ズレY

全エフェクト一覧
(ADBE Angle Control) angle
(ADBE Checkbox Control) 上下反転
(ADBE Checkbox Control) 縦書き
(ADBE Color Control) fill_color
(ADBE Color Control) strk_color
(ADBE Slider Control) n個で改行
(ADBE Slider Control) ズレX
(ADBE Slider Control) ズレY

このようにコンポジションの構造もわかるように残していきます。

コンポジション名、レイヤー番号、レイヤー名、エフェクト、エフェクト名と個別表示に加え、最後に全エフェクト一覧を列挙します。

使用しているエフェクトを確認し、渡す相手のPCにないエフェクトを確認する際などに活躍します。

ダウンロード

使用フォント一覧をテキストファイル出力するスクリプト「exportFontName.jsx」前のページ

aep内全フッテージのファイルパス一覧をテキストファイル出力するスクリプト「exportFootagePath.jsx」次のページ

ピックアップ記事

  1. なぜ?After Effectsの操作を「スクリプト」で効率化
  2. なぜ?After Effectsのレイヤーをエクスプレッションで効率化
  3. フリーランスの開業届提出は開業freeeでとにかく簡単に

関連記事

  1. スクリプト

    レイヤーを自動で拡大・縮小させるスクリプト[auto]scaleAnimator.jsx

    選択レイヤーのインポイントからアウトポイントにかけて、指定した%サイズ…

  2. スクリプト

    オーディオのフェードイン・アウトを自動化するスクリプト「[auto]volfIn_fOut.jsx」…

    オーディオレイヤーの音量のフェードイン・フェードアウトをエクスプレッシ…

  3. スクリプト

    2つのレイヤー間に他レイヤーを整列するスクリプト「alignBetween2Layer.jsx」

    root(はじめに選んだ)レイヤーとgoal(最後に選んだ)レイヤーを…

  4. スクリプト

    選択レイヤーサイズのマスクをシェイプで描くスクリプト「addShapeMask@rect.jsx」

    テキストに合わせたサイズの、さらにサイズ追従するエクスプレッションを仕…

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA