Skip to main content
Participant
December 27, 2015
Answered

How do I write script that will do some event every frame?

  • December 27, 2015
  • 2 replies
  • 498 views

I basically need a loop that will, lets say add marker in every single frame.

example:

for(int i = 0; i<totalFrames;i++){

     addmarker();

}

This topic has been closed for replies.
Correct answer Alex White

This code will process each frame on one selected layer.

var myComp = app.project.activeItem,

    layer = app.project.activeItem.selectedLayers[0],

    inPoint = layer.inPoint,

    outPoint = layer.outPoint,

    frameDur = myComp.frameDuration,

    myMarker;

     app.beginUndoGroup("AddMarker");

for(var t = inPoint; t< outPoint; t+=frameDur){ // change outPoint to myComp.duration to process the whole composition

      myMarker = new MarkerValue(t);  // change marker value

      layer.property("Marker").setValueAtTime(t, myMarker);

    }

app.endUndoGroup(); 

2 replies

Participant
December 28, 2015

Thank you very much!

Alex White
Alex WhiteCorrect answer
Legend
December 28, 2015

This code will process each frame on one selected layer.

var myComp = app.project.activeItem,

    layer = app.project.activeItem.selectedLayers[0],

    inPoint = layer.inPoint,

    outPoint = layer.outPoint,

    frameDur = myComp.frameDuration,

    myMarker;

     app.beginUndoGroup("AddMarker");

for(var t = inPoint; t< outPoint; t+=frameDur){ // change outPoint to myComp.duration to process the whole composition

      myMarker = new MarkerValue(t);  // change marker value

      layer.property("Marker").setValueAtTime(t, myMarker);

    }

app.endUndoGroup();