Errors — After Effects SDK Guide 22.0.0 documentation

常に、常に、常に(常に!)main()からPF_Errを返してください。プラグインは、すべてのエラーをAfter Effectsに返す必要があります。

エラー(コールバックやPICAスイートから返される)を処理しない限り、After Effectsに渡すことが極めて重要である。

正しいエラーコードを返すこと、割り当てたメモリを破棄することに注意してください。

本当です。私たちは本気です。

エラーコード

Error Meaning
PF_Err_NONE 成功です。
PF_Err_OUT_OF_MEMORY メモリの割り当てに失敗しました。
なお、RAMプレビューでこの状態になるため、After Effectsはプラグインからこのエラーを受け取ることを想定しています。
PF_Err_INTERNAL_STRUCT_DAMAGED データ構造を利用した問題。
PF_Err_INVALID_INDEX 配列のメンバーを見つける/使用する際の問題。
PF_Err_UNRECOGNIZED_PARAM_TYPE パラメータデータに問題がある。
PF_Err_INVALID_CALLBACK ポインタを介して関数にアクセスする際の問題
PF_Err_BAD_CALLBACK_PARAM コールバックに渡されたパラメータを使用する問題。
PF_Interrupt_CANCEL エフェクトとAEGPの両方のコールバックは、ユーザーアクションがレンダーを中止した場合、エフェクトにこれを返すことができます。
エフェクトがコールバックからこのエラーを取得した場合、フレームの処理を停止し、ホストにエラーを返す必要があります。
エラーバックを行わないと、誤ってレンダリングされたフレームがキャッシュされる可能性があります。
PF_Err_CANNOT_PARSE_KEYFRAME_TEXT クリップボードからキーフレームデータへの解析に問題が発生した場合、PF_Arbitrary_SCAN_FUNCからこれを返します。

エラーレポートポリシー

After Effectsでは、エラー処理に一貫したポリシーがありますので、それに従ってください。

プラグインのコードにエラーが発生した場合、プラグインからAfter Effectsに戻る前に、すぐにユーザーに報告してください。

After Effectsでは、プラグインの実行中に発生したオペレーティングシステムからのエラーは、お客様のものであるとみなします。

私たちのコールバック関数からエラーコードが返ってきた場合は、それをAfter Effectsに戻してください。

メモリ不足のエラーは、After Effectsによって報告されることはありません。RAMプレビュー中、およびAfter Effectsが-nouiモードで実行されている場合、エラー報告は常に抑制されます。

プラグイン内でエラーを報告するには、PF_OutFlag_DISPLAY_ERROR_MESSAGEを設定し、PF_OutData>return_msgにエラーを記述してください。

そうすることで、レンダーログにエラーが記録され、レンダーエンジンやスクリプトで駆動されるレンダーのシステムハングを防ぐことができます。

ディグ・イン!

さて、エフェクトプラグインの基本を理解し、実際のコードを使って実験を始める準備ができました。さあ、さっそく始めてみましょう

プラグインの基本的な設定を終えた後、再利用可能なコード、高度な機能、高速化のためのコードの最適化方法などについて、いくつか質問があるかもしれません。

そのため、After Effectsでは、内部機能の膨大な部分をファンクションスイートで公開しています。