如何将参数实际值更改/更新为 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>”

ASP.NET MVC - 输入值更改更新 URL 参数

将向量数组作为函数参数传递以更改原始值

QT 如何将一个UI的TEXTEDIT的值显示在另一个UI的TEXTEDIT里

在 R 中更改链式 selectInputs 后如何保持值?

如何通过另一个类更新/更改一个类初始化参数?