Skip to main content
Participant
January 2, 2024
解決済み

Premiere Pro scripting keyframe interpolation

  • January 2, 2024
  • 返信数 1.
  • 1314 ビュー

Hi to all.
I'm struggling with adding keyframe interpolation in PP.

here is simplyfied code below, I want to interpolate a keyfreme, there are several types of interpolation, but I can't make it work with any of them.

var position = app.project.activeSequence.getSelection()[1].components[1].properties[0];
var currentTime = app.project.activeSequence.getPlayerPosition();
position.setTimeVarying(true);
position.addKey(currentTime);
position.setValueAtKey(currentTime, [0.5,0.5]);
position.setInterpolationTypeAtKey(currentTime, kfInterpMode_Bezier,1);

this script adding a keyframe but at last line it gives me an error.
HELP!!!

解決に役立った回答 MrDruz

Thank you, Brusce, that helped.
Here is code which gave me eased key:

var position = app.project.activeSequence.getSelection()[0].components[1].properties[0];
var currentTime = app.project.activeSequence.getPlayerPosition();
position.setTimeVarying(true);
position.addKey(currentTime);
position.setValueAtKey(currentTime, [0.5,0.5]);
var interpol = 5;
position.setInterpolationTypeAtKey(currentTime, interpol,1);


Also if I set var interpol = 4; it give me hold keyframe.
interpolation 1, 2, 3, marked as obsolete didn't work for me.

 

返信数 1

Bruce Bullis
Community Manager
Community Manager
January 2, 2024

Probably a documentation bug. [Mea culpa.]

In the PProPanel sample, I see:

var KF_Interp_Mode_Bezier = 5;
Try passing '5' instead of "kfInterpMode_Bezier".
MrDruz作成者解決!
Participant
January 2, 2024

Thank you, Brusce, that helped.
Here is code which gave me eased key:

var position = app.project.activeSequence.getSelection()[0].components[1].properties[0];
var currentTime = app.project.activeSequence.getPlayerPosition();
position.setTimeVarying(true);
position.addKey(currentTime);
position.setValueAtKey(currentTime, [0.5,0.5]);
var interpol = 5;
position.setInterpolationTypeAtKey(currentTime, interpol,1);


Also if I set var interpol = 4; it give me hold keyframe.
interpolation 1, 2, 3, marked as obsolete didn't work for me.

 

Bruce Bullis
Community Manager
Community Manager
January 2, 2024

Here are valid values, defined in PProPanel (I also cheated, and looked at our source; these are used):