Skip to main content
Participating Frequently
Feb 13, 2025 3:06 AM UTC
Answered

How to modify parameters such as color temperature through api

I need to control component parameters like color temperature by calling the api and trying property.setValue but that doesn't seem to work. The strange thing is that setValue can control the motion position, how should I implement this function?

function _getSelectedClip() {
var selection = app.project.activeSequence.getSelection();
for (var i = 0; i < selection.length; i++) {
var clip = selection[i];
if (clip.mediaType === "Video") {
return clip;
}
}
return null;
}
var clip = _getSelectedClip();
$.writeln(clip.name);
// 查找组件
function findComponent(clip, matchName) {
var components = clip.components;
for (var i = 0; i < components.numItems; i++) {
if (components[i].matchName === matchName) {
return components[i];
}
}
return null;
}
// 查找属性
function findProperty(clip, matchName, propertyIndex) {
var component = findComponent(clip, matchName);
if (!component) return null;
var properties = component.properties,
property = properties[propertyIndex];
// return component.properties[propertyIndex];
return property;
}
var property = findProperty (clip, 'AE.ADBE Motion', 0);
var value = 0;
if(typeof property.getValue() == 'object') {
value = property.getValue()[0] + 1;
}

property.setValue([value,value]);
$.writeln(property.displayName + ':'+property.getValue());

Bruce Bullis
Bruce BullisCorrect answer
Legend
Feb 13, 2025 2:06 PM UTC

While motion uses simple data types for its parameters, many effects (including Lumetri) use 'arbitrary data type' parameters; valid param values cannot be generated from outside the effect.

5 replies

Community Expert
Feb 13, 2025 7:59 AM UTC

setValue seems to work for Motion properties, but not for Lumetri properties,

need to edit your script ... property.setValue([value,value]) in Lumetri you don't have value,value,

Lumetri properties are different form position and scale that have x,y etc...

And I think instead of calling AE.ADBE Motion, you should be calling 'Lumetri'

or something like that...

Translate
Bruce Bullis
Bruce BullisCorrect answer
Legend
Feb 13, 2025 2:06 PM UTC

While motion uses simple data types for its parameters, many effects (including Lumetri) use 'arbitrary data type' parameters; valid param values cannot be generated from outside the effect.

Translate
Participating Frequently
Feb 14, 2025 1:58 AM UTC

Sorry, I am a new cep developer and don't quite understand what you mean. Is there any example code for me to learn

Translate