Javascript to flatten/merge/rasterize specifically named subgroups
Hi, I currently have a "flatten.js" javascript that will merge any visible layers in top level groups to a be 1 layer flattened. However, I need it to go through the photoshop file and only flatten nested subgroups with specific prefix's. So for example of the folder structure I have P: Main > BOG: Play > B: Play > then multiple folders= A1: Play, S1: Play, N1: Play. I need those last 3 folders to be flat but stay seperate layers. This is the current script I have, but it is buggy with Photoshop 2021. A new script that works would be very helpful. Thank you
Flatten.js:
var doc;
if(documents.length > 0) {
doc = activeDocument;
recurse(doc);
alert("Flattening complete!");
}
function recurse(psdoc) {
for(var i = 0; i < psdoc.layers.length; i++) {
if(psdoc.layers[i].name == "guides" || psdoc.layers[i].name == "background") {
continue;
} else if(psdoc.layers[i].name.match(/^div:/)) {
if(psdoc.layers[i].layers) {
alert("recurse");
recurse(psdoc.layers[i]);
}
} else {
// flatten
psdoc.layers[i].mergeDown();
}
}
}
