パラメータ順序の安全な変更
更新されたバージョンを使用するためにユーザーにそのプラグインのすべてのインスタンスを再適用することを強いることなく、プラグインのパラメータを追加または削除することができます。ただし、そのような変更を考慮するには、事前に計画を立てる必要があります。ユーザー (およびテクニカル サポート スタッフ) は、この取り組みに感謝するでしょう。
最初にパラメータ配列インデックスを作成する必要があります。 PF_Cmd_PARAM_SETUP 中に、単純な列挙を使用して、追加する各パラメーターにインデックス値を割り当てます。列挙の順序は、PF_Cmd_PARAM_SETUP 中にパラメータが登録される順序に対応し、これによりエフェクト コントロール パネルとタイムライン パネルにパラメータが表示される順序が決まります。
ディスク ID の別の列挙を作成します。この列挙の順序は変更してはなりませんが、リストの最後に追加することはできます。このリストの順序はパラメータ配列インデックスの順序と一致する必要がないことに注意してください。パラメータのディスク ID の範囲は 1 ~ 9999 である必要があります。なぜゼロではないのでしょうか?長い話…
After Effects プラグイン プログラミングの初期の「開拓時代」では、開発者が ID の設定を気にしないのがかなり一般的でした。 After Effects はこれに気づき、そのエフェクトによって追加された最初のパラメータの ID をチェックしました。これがゼロの場合は、プログラマがパラメータの ID をわざわざ作成しなかったと想定されます。 After Effects では、それぞれに独自の ID が割り当てられました。この仮定は、パラメータ ID を設定しない場合にはうまく機能しますが、ID に NULL から番号を付け始める場合にはうまく機能しません。だからこそ。
PF_ADD_PARAM() を呼び出す前に、PF_ParamDef.uu.id フィールドにディスク ID を指定します。値が指定されていない場合、After Effects はパラメータを 1 から順に作成します。パラメータの情報は保存時にこの ID でタグ付けされます。このようにすると、After Effects は、「Foabarocity」スライダーが 4 番目に渡されたパラメータであるにもかかわらず、2 番目に渡されたときと同じパラメータであることを引き続き理解できます。
再適用を強制せずにパラメータを削除するには、そのパラメータを作成するコードと、パラメータ配列インデックス リスト内のそのエントリを削除します。ただし、ディスク ID リストからそのエントリを削除しないでください。新しいパラメータを追加するには、パラメータ配列インデックス リストの適切な場所にエントリを追加し、パラメータ作成コードを追加して、ディスク ID 列挙の末尾にディスク ID を追加します。順序を変更するには、パラメーター配列のインデックス リストを変更し、パラメーター作成コードの順序を適切に変更します。
デフォルトを変更しますか? IDの変更そうしないと、誰かが古いデフォルトでプロジェクトを保存し、新しいエフェクトがインストールされた状態でそれを読み込んだ場合、そのパラメータは新しいデフォルト値に変更されます。
Section titled “デフォルトを変更しますか? IDの変更そうしないと、誰かが古いデフォルトでプロジェクトを保存し、新しいエフェクトがインストールされた状態でそれを読み込んだ場合、そのパラメータは新しいデフォルト値に変更されます。”プレスト!即時サポートコール。
これは、Parameter Flags からの PF_ParamFlag_USE_VALUE_FOR_OLD_PROJECTS のもう 1 つの主な使用例です。