Skip to content

エントリポイント

After Effects とエフェクトプラグインの通信は、すべてホスト側(After Effects)から開始されます。
ホストは、プラグインが公開する単一のエントリポイント関数を呼び出して処理を指示します。

エフェクトプラグインのエントリポイントは、次のシグネチャを持つ必要があります。

PF_Err EffectMain(
PF_Cmd cmd,
PF_InData *in_data,
PF_OutData *out_data,
PF_ParamDef *params[],
PF_LayerDef *output,
void *extra
)

ここでは関数名を EffectMain としていますが、実際の名前は PiPL Resources で指定したものを使えます。

After Effects は呼び出しのたびに PF_InDataPF_ParamDef[](パラメータ配列)を更新します。
プラグインから戻ると、After Effects は PF_OutData の内容を確認し、必要に応じて output に書き込まれた画像を利用します。


引数説明
cmd実行する処理種別を示す コマンドセレクター です。
in_dataアプリケーション状態や、今回の処理対象に関する入力情報です。各種インターフェイス関数や画像処理関数へのポインタも含まれます。
out_dataプラグインから After Effects へ返す情報を設定します。
paramsin_data->current_time 時点のパラメータ配列です。params[0] は入力画像(PF_EffectWorld / PF_LayerDef)です。利用可能なセレクターは 呼び出しシーケンス を参照してください。詳細は PF_ParamDef も参照してください。
outputエフェクトプラグインがレンダリング結果を書き込む出力画像です。利用可能なセレクターは限定されます。
extracmd に応じて意味が変わる追加引数です。PF_Cmd_EVENT の場合は イベント種別 を表します。主にイベント処理と パラメータ監視 で使用します。