reade.txt

このフォルダは自動ビルドの際に実行されるスクリプトおよびプリセットリソースの置き場です

プロジェクトファイルはテンプレートとして読み込まれるリソースです。
主にAE6.5の環境下でフォルダアイテムの作成の代用として使用されます

サブフォルダは定型処理リソースです
各フォルダの内容は以下の際に　適用/実行　されます。

/stageComp/
	ステージ作成時に実行されます
	主に、タイムシート適用/ステージカメラ設置/カメラコンポの作成 などが想定されます。
	サンプルでは上の３点に加えて出力コンポの作成がnasの機能で処理されています。

/clipWindow/
	nasの機能でカメラコンポを作成する時に実行されます
	主に、カメラ追従設定/定型処理の追加　などが想定されます。
	サンプルでは、ごく基本的なカメラ追従エクスプレッションを
	アニメーションプリセットで適用しています

/outputMedia/
	nasの機能で出力コンポを作成する時に実行されます
	主にソースのサイズ調整が想定されます。
	サンプルでは、ごく基本的なサイズ適用エクスプレッションを
	アニメーションプリセットで適用しています

/cellGroup/
	MAP構築の際にセルグループに対して適用されます。
	セルコンポのキー抜き/スムージング/他の定型処理　等が想定されます。
	サンプルでは　キー抜きのみをアニメーションプリセットで適用しています

/bgGroup/
	MAP構築の際にBGグループに対して適用されます。
	定型処理が存在すればこのフォルダで実行できます。
	サンプルでは　特に何も行なっていません

/psdBgGroup/
	MAP構築の際にpsdファイルをコンポとして読み込んだBGグループに対して適用されます。
	定型処理が存在すればこのフォルダで実行できます。
	サンプルでは　特に何も行なっていません

//
自動実行したいスクリプトやプリセットを各フォルダ中に冒頭が番号で開始されるファイル名で保存してください。
(番号は半角文字で。数字のみでもかまいません)

ファイルは番号順に適用/実行されます。

プリセットは対象コンポのレイヤのうち選択されているものすべてにＩＤの若い順に適用されます。
対象を限定する必要がある場合は適用前にスクリプトを使って選択状態を操作してください。

スクリプトはコンポのメソッドの一部として実行されます。
このフォルダのスクリプト内では、"this"プロパティが該当のコンポを指すので
コンポに対する操作は、事前準備なしで"this"に対して行なってください。

例）

○	var myNewLayer=this.layers.addSolid([1,1,1],"test",100,100,1);
×	var myNewLayer=app.project.activeItem.layers.addSolid([1,1,1],"test",100,100,1);//アイテムがアクティブとは限らないのでキケン

スクリプト実行時はFolder.currentにスクリプトのあるフォルダをセットしてあります。
外部ファイルをアクセスする場合は、スクリプトを基点とする相対パスが使えます。


複雑な操作が必要な場合は、スクリプトを介して操作を行なうのがお勧めです。

ファイル名が数字で始まらないファイルはフォルダ内にあっても自動実行は行なわれません。
ご自分のスクリプトでのみ使用するファイルは数字以外で始まるファイル名にするか
または更に内部にフォルダを作って配置してください。


この機能はnasライブラリをインストールすることによって使用できます。
自動ビルド以外にも以下のメソッドを使用してコンポの定型処理にお役立てください。

/*	CompItem.executeAction(Folder)

引数	実行したいリソースのあるフォルダ(オブジェクト)
戻値	特になし

コンポアイテムのメソッド
フォルダ内のリソースを順次実行する。

実行するリソースは現在の仕様では以下の通り

##*.ffx / ##*.jsx	(##は整数)

数字で開始されるファイル名を持つアニメーションプリセット、またはスクリプトをこのスクリプトのスコープで逐次実行します。
同じ番号を持つスクリプトとプリセットがあった場合はプリセットを先に適用します。
同じ番号のスクリプト・プリセット同士は昇順ソートで実行されます

スクリプトは、内容を読み込んでメソッド内でeval()されます。
メソッドのコードの一部となりますので、メソッド内のコードと同一の変数を使用すると誤動作を起こします。
メソッド内の制御変数は、オブジェクト"exAc"の配下にすべて置いてあります。
このオブジェクトをアクセスしないようご注意ください。
　
メソッド内部ではスクリプト実行の前後でundoGroupを設定しません。
このメソッドに与えるスクリプトは比較的単純なものにしてスクリプト内でundoGroupを設定する用に推奨します


スクリプト実行時にthisプロパティはコンポ自身を指すので　これをコードとして利用可能です。

プリセットは以下の順で適用されます

	アクティブなレイヤに順次
	アクティブなレイヤがない場合はコンポと同じサイズのソリッドを新規作成して適用（CompItem.applyPreset()をコール）

プリセットは内部でApplyPresetA()メソッドをコールしますのでAE7環境ではスクリプトのundoGroupが設定されます。
そのためメソッドを呼び出す側でundoGroupの設定を行なうとエラーが発生しやすくなりますのでご注意ください。


レイヤの選択状態に注意してください。
特定のレイヤを設定することが必要な場合は、プリセット実行前にスクリプトで選択状態を操作する必要があります。
複雑な操作になる場合は、プリセットをナンバなしでフォルダに保存してスクリプト内で適用するほうがよいかも知れません。

スクリプト内でのカレントフォルダは、ファイル保存位置に設定のうえ実行されます

フォルダの内容はエイリアスやショートカットでも動作します(←これまだ未実装　2009/10/29)


このメソッドは　AE7以前(AE65)の環境ではスクリプトの実行のみを行います。
*/
	
//この操作のために内部で使用される拡張メソッド

/*	CompItem.executeAction(actionFolder,skipUndo)
引数	actionFolder	Folder	アクションセットを内包したフォルダ
	skipUndo	boolean	undoGrooupの設定をスキップする。省略値は false

例
app.project.activeItem.executeAction(myFolder);

app.project.item(1).executeAction(myFolder,true);

指定されたフォルダオブジェクトをアクションフォルダとしてコンポアイテムのスコープで実行する。

フォルダの内包するファイルのうち数字から始まり数字以外の文字の名前を持つ
スクリプト(jsx)とアニメーションプリセット(ffx)を数字の順に実行・適用するメソッド

スクリプトはコンポのメソッドの一部として実行される。
実行時のカレントフォルダはアクションフォルダ

アニメーションプリセットはアクティブなレイヤすべてに対して順次 Layer.applyPresetA()メソッドに引き渡されて
適用が行われる。(applyPresetA()を参照)

アクティブなレイヤが一つもない場合は、新規調整レイヤを作成してそこに対して適用が行われます。

このメソッドはスクリプトやプリセット１本ごとにunodGroupを設定する。
これを抑制する場合は第二引数にtrueを指定する。
 ===============================================================================*/

/*	AVLayer.applyPresetA(myFfxFile,skipUndo)
引数	myFfxFile	File	プリセットファイル
	skipUndo	boolean	undoGrooupの設定をスキップする。省略値は false

例
app.project.activeItem.selectedLayers[0].applyPreset(myFfxFile);

app.project.item(1).applyPreset(myFfxFile,true);

レイヤにアニメーションプリセットを適用する
AE7での適用バグに対するラッパメソッド
オプションが与えられない場合はプリセットにundoGroupを設定してundoの混乱を回避する
スクリプト内で複雑なundoが発生する場合はskipUndoをtrueにすることを推奨

	えーっと　CompItemのapplyPreset()は放置しておく　私は使わないから…
	2009/10/24
*/