-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathFrames to Layer Comps.jsx
37 lines (32 loc) · 1.11 KB
/
Frames to Layer Comps.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// written by Josh Stratton (2013) - [email protected]
function getFrameCount() {
for (var i = 1; i < 10000; i++) {
try {
jumpToFrame(i);
} catch (err) {
return i-1;
}
}
}
function jumpToFrame(frameNumber) {
var desc = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putIndex( stringIDToTypeID( "animationFrameClass" ), frameNumber );
desc.putReference( charIDToTypeID( "null" ), ref1 );
executeAction( charIDToTypeID( "slct" ), desc, DialogModes.NO );
}
// save off layer comp names
var layerCompNames = new Array();
for (var i = 0; i < app.activeDocument.layerComps.length; i++) {
layerCompNames.push(app.activeDocument.layerComps[i].name);
}
app.activeDocument.layerComps.removeAll();
var numFrames = getFrameCount();
for (var i = 0; i < numFrames; i++) {
jumpToFrame(i+1);
layerCompName = "layerComp" + (i + 1);
if (i < layerCompNames.length) {
layerCompName = layerCompNames[i];
}
app.activeDocument.layerComps.add(layerCompName, "", true, true, true);
}