// After Effects script - evenly spaces keyframes // By Julian Krick // 07 - 23 - 2009 var project = app.project; if (project) { var myComp = app.project.activeItem; if (myComp != null && (myComp instanceof CompItem)) { var selectedLayers = myComp.selectedLayers; if(selectedLayers.length == 1) { var myLayer = selectedLayers[0]; var selectedProps = myLayer.selectedProperties; if(selectedProps.length == 1) { var selectedProp = selectedProps[0]; if(selectedProp.numKeys > 1) { var undoStr = "Evenly Space Keyframes"; app.beginUndoGroup(undoStr); var keys = Array(); //copy all keyframe values into an array for (var i = 1; i <= selectedProp.numKeys; i++) keys[keys.length] = selectedProp.keyValue(i); //record the time of the first and last keyframe var first = selectedProp.keyTime(1); var last = selectedProp.keyTime(selectedProp.numKeys); //delete all keyframes while(selectedProp.numKeys) selectedProp.removeKey(1); //set new keyframes for(i = 1; i <= keys.length; i++) selectedProp.setValueAtTime(first + (last - first) / (keys.length - 1) * (i-1),keys[i-1]); app.endUndoGroup(); } else {alert("Property must have more than one keyframe");} } else {alert("Exactly one property must be selected");} } else {alert("Exactly one layer must be selected");} } else {alert("No comp");} } else {alert("No project");}