如何将参数实际值更改/更新为 UI 参数值? (后效SDK,C++)
Posted
技术标签:
【中文标题】如何将参数实际值更改/更新为 UI 参数值? (后效SDK,C++)【英文标题】:How do I change/update the parameter actual value to UI parameter value? (after effects sdk, c++) 【发布时间】:2021-10-09 21:25:41 【问题描述】:如何将参数实际值更改/更新为 UI 参数值? (后效SDK)。当我去测试插件时,我将 AUDIOSLIDER1 的值更改为大于 5 的数字。然后,AUDIOSLIDER2 实际值更改(在代码内部)但不会在用户界面。
RUNTIME AUDIOSLIDER2 ACTUAL VALUE IS 45
RUNTIME USER INTERFACE AUDIOSLIDER2 VALUE DID NOT CHANGE and should be 45
后效 SDK: https://ae-plugins.docsforadobe.dev/index.html
static PF_Err
paramChanged(
PF_InData* in_data,
PF_OutData* out_data,
PF_ParamDef* params[],
PF_SmartRenderExtra* extra)
PF_Err err = PF_Err_NONE;
int test = 100;
if (params[SKELETON_AUDiosLIDER1]->u.fs_d.value > 5.0f)
//the slider value will be set to 45.2
params[SKELETON_AUDIOSLIDER2]->u.fs_d.value = 45.2f;
//how to change the slider UI to reflect this change
return err;
【问题讨论】:
【参考方案1】:查看示例项目“Supervisor”:
params[SUPER_SLIDER]->u.sd.value = INT2FIX(50);
params[SUPER_SLIDER]->uu.change_flags = PF_ChangeFlag_CHANGED_VALUE;
你必须传递一个标志,告诉 AE UI 已被修改
【讨论】:
以上是关于如何将参数实际值更改/更新为 UI 参数值? (后效SDK,C++)的主要内容,如果未能解决你的问题,请参考以下文章
更新 PromiseKit 后出错:无法将“PMKFinalizer”类型的值转换为预期的参数类型“Promise<Void>”
QT 如何将一个UI的TEXTEDIT的值显示在另一个UI的TEXTEDIT里