readme.txt

*MAPオブジェクトの実装実験によるプロジェクト自動ビルド
このフォルダのファイルはタイトルのとおり、AEにおけるMAPオブジェクトの試験的な実装です。
nas-MAPオブジェクトを実装するにあたり、現在の(未完成の)仕様のXPSのままで機能するMAPを作って

動作の検証　および　仕様の調整を行ないます

MAPはカットに使用する素材および基礎情報を格納するデータオブジェクトなので
それをAE上で実装するに当たり可能な限りAE上のオブジェクトそのものを参照する形態で実装をすることにしました。

具体的には
１．AEプロジェクト内にMAPに対応する情報を格納する"MAP"フォルダオブジェクトを作成する
	"[MAP]"フォルダを作成、この配下の情報は基本的にはスクリプト側で作成・管理する
	ただし、nas環境のない状態でも編集作業は可能な仕様は保持
２．プロジェクト内の情報は以下の形で保管する
	MAPオブジェクトの配下にあるオブジェクトを[MAP]フォルダ配下のフォルダアイテムにカテゴリで分類する
		[CELL][CAERAWORK][SYETEM][SOUND][EFFECT]
			これらのプロパティはMAP上ではグループプロパティであるが、フォルダわけを使用してこのプロパティを記録する
	各カテゴリ配下には、グループオブジェクトに相当するコンポジションを作成する。
		コンポジション名＝グループラベル
		ジオメトリののみ存在するグループエントリ＞そのジオメトリをもつSolidSource AVLayer
		テキストデータを持つグループエントリ＞TextLayer
		ファイルパスを持つグループエントリ＞ファイルソースを持つFileSource AVLayer
			等に割り付けて情報を保持する
		AEのオブジェクトに記録できないプロパティが存在する場合は、各オブジェクトのコメントにJSONで埋め込む
			（埋め込み識別が必要？）

基本カットフォルダの構成

	レタスの作るフォルダに順ずる
現行普及しているツールの使い勝手を考慮して少なくともレタスの標準カットフォルダの構成はサポートする

	シート先付け
XPSおよびサポート範囲のシートを先行記述することによって、その情報からMAPデータをビルドして
プロジェクトのオートビルドを行う。

オートビルドの範囲は
	フッテージインポート
	セルの前処理
	セルコンポの組み上げ
		セル並べなおし
		タイムシート適用
	BGコンポの組み上げ（BGがマルチレイヤのpsdであった場合はそのままコンポとしてインポート）

などなど
細部は後ほど

"_(アンダーバー)"または".(ドット)"を先付けしたフォルダは基本的に
フッテージスキャン対象外とする

ただし以下の予約名称フォルダには機能を持たせるので、例外的に素材スキャンを行う
手動でインポートされるファイルはこの限りではない。（関知しない）
このフォルダ名を参照するのはあくまでオートビルダである

予約フォルダ名は以下の通り

_lo	レイアウト類を格納 サブフォルダはスキャンしない
_bg	背景等を格納
_frame	撮影指示等を格納
_etc	設定ドキュメント管理ファイル等を格納
_key(_keyframe)	原画を格納するフォルダ　この下はカットフォルダと同構造となる場合がある（_lo _bg _etc等がある）
_draw(_drawing)	動画を格納するフォルダ　この下はカットフォルダと同構造となる場合がある（_lo _bg _etc等がある）
_scan(_capture)	取り込みセルを格納するフォルダ　この下はカットフォルダと同構造となる場合がある（_lo _bg _etc等がある）
_paint(_cell)	セルを格納するフォルダ　この下はカットフォルダと同構造となる場合がある（_lo _bg _etc等がある）
_sfx	特殊効果素材を格納するフォルダ　ブラシセル　兼用素材　等の主に標準外の素材を格納

A B C D　等々通常の名前を与えられたフォルダはその内部を再帰検索してフッテージを取得する。

入れ子の　素材管理は認められる。
フォルダの深さは限定されない

|-[A]
|  |-[A-a]
|  |   Aa00001.tiff
|  |   Aa00002.tiff
|  |   Aa00003.tiff
|  |   Aa00004.tiff
|  |-[A-b]
|  |   Ab00001.tiff
|
|-[B]
   B0001.tif

これらのファイルは認識されなくてはならない。

予約フォルダの配下のデータは予約内容に従ってフッテージの検索を行う
特に _key _draw _scan _paint 等の準カットフォルダは各行程の作業内容を保存するため
通常さらに配下のカットフォルダを持たないことをのぞいては親カットフォルダと同等の構造をもつ

データ構造に注意


発見されたフッテージは以下の規則の元に名前付けされてMapObjectとして登録される。（従来の規則に順ずる＝ライブラリ使用）

音声フッテージ
	指定形式の音声ファイル
	一般的な音声フォーマットに加えて、準音声ファイルとしてダイアログおよび音楽指定ファイルを含む（一考）
ムービーフッテージ
	指定形式のムービーファイル
連番動画フッテージ
	指定形式の画像ファイルで静止画として指定された名前を持つ画像ファイルを除いた物の中から
	同一フォルダ内に同一プレフィックスをもって指定のポストフィックスを除いた部分が数値で終わるファイル名の一群の(複数の)ファイル
	または
	フォルダ内に配置されたそのフォルダ名をプレフィックスにもつ指定のポストフィックスを除いた部分が数値で終わる単独のファイル
静止画フッテージ
	指定形式の画像ファイルで上記連番画像に該当しない静止画
	および静止画として指定された名前を持つ画像ファイル




セルのプリコンポ行う
シートと１対１の対比を可能な限り行うため　XPSベースでセルのプリコンポを行う
　シート記述のあるセルを空のコンポジションで作成
　サイズはデフォルト・継続時間は枚数とフレーム数を一致
　検索したフッテージとレイヤラベルを比較してもっともふさわしいと判断した素材を基準レイヤとして設定
　レイヤとコンポのサイズが異なる場合はレイヤにサイズを合致させる
　標準的なレイヤの上セル・合成セルはこの時点で乗せる
　必要ならばセルコンポに事前処理をかける（スムージング等）

ここでできるコンポはタイムシート上の番号と一致した論理セルの実装となる
これにステージ上でタイミングを割り振る

シートのタイムラインひとつにつきこのコンポをひとつ作成する。
タイムラインに記述のない場合はそのコンポをスキップする
コンポに最適なフッテージが存在しない場合はダミーレイヤを作成してて注意喚起テキストを表示する

タイムシートにせりふの記述がある場合は、これを準音声オブジェクトとして配置する？

最初に指定されたタイムシートはXPSに変換のうえ_etcフォルダにテキストレイヤで保管する。
以降は再ビルドをこのシートを元に行う…　（機能停止オプションをつける）

今回の基礎コンポ
フッテージはシートに合わせてタイムラインごとに組む。（良くあるセルコンポってやつ）
セルコンポを組んだステージを作る
素材の中でもっとも大きいサイズにあわせたステージとする(最大ステージ設定値を越えていたらそこまでで打ち止め）
タイムシートは適用する(XPSの記述は無視してカラセルをタイムリマップから展開してエクスプレッションで処理)


ニューカラセル

	セルの継続時間の中点をタイムリマップにふる
	セルの継続時間いっぱいまたは値０をカラセルに割り当てる
	不透明度、またはワイプエフェクトでカラをつける

//マット設定エフェクトの反転マットでカラをつけるエクスプレッション
//このエクスプレッションは乙女以外のリマップツールだと悪さする可能性が高いので注意
((timeRemap=<0)||(timeRemap=<thisLayer.source.duration))?0:1;
