跳转到内容

改变参数顺序

以优雅的方式改变参数顺序

可以在不强制用户重新应用该插件的所有实例的情况下,向插件添加或删除参数。然而,为了允许这样的更改,您需要进行一些提前规划。您的用户(以及技术支持人员)会感谢您的努力。

首先,您必须创建一个参数数组索引。在 PF_Cmd_PARAM_SETUP 期间,使用简单的枚举为每个参数分配索引值。枚举的顺序对应于在 PF_Cmd_PARAM_SETUP 期间注册参数的顺序,这反过来决定了它们在效果控制和时间轴面板中显示的顺序。

为磁盘 ID 创建另一个枚举。此枚举的顺序不能更改,尽管您可以在列表末尾添加新项。请注意,此列表的顺序不必与参数数组索引的顺序一致。参数磁盘 ID 的范围应为 1 到 9999。为什么不从零开始?说来话长…

在 After Effects 插件编程的早期“狂野西部”时代,开发者通常不费心设置 ID。After Effects 意识到这一点后,会检查该效果添加的第一个参数的 ID;如果为零,则假定程序员没有费心为参数设置 ID;然后 After Effects 会为每个参数分配自己的 ID。如果您从未设置参数 ID,这种假设是有效的,但如果您从 NULL 开始编号,就不那么好了。这就是原因。

在调用 PF_ADD_PARAM() 之前,请在 PF_ParamDef.uu.id 字段中指定磁盘 ID。如果未指定值,After Effects 会从 1 开始顺序分配参数。保存时,参数的信息会与此 ID 一起标记。通过这种方式,After Effects 仍然可以理解,尽管您的“Foobarocity”滑块现在是传递的第四个参数,但它与之前作为第二个参数时是相同的参数。

要在不强制重新应用的情况下删除参数,请删除创建它的代码及其在参数数组索引列表中的条目。但是,不要删除其在磁盘 ID 列表中的条目。要添加新参数,请在参数数组索引列表中的适当位置添加条目,添加参数创建代码,并将磁盘 ID 附加到磁盘 ID 枚举的末尾。要重新排序,请更改参数数组索引列表并适当重新排序参数创建代码。


更改默认值?更改 ID

如果不这样做,如果有人使用旧的默认值保存项目,然后使用安装的新效果读取它,该参数将更改为新的默认值。

瞧!立即引发支持电话。

这是 参数标志PF_ParamFlag_USE_VALUE_FOR_OLD_PROJECTS 的另一个主要用例。