Thanks a lot Xavier! That’s exactly what I did.
There is probably a better way, but this is what I got working:
//Selects Layers
var myLayer = app.project.activeItem.selectedLayers;
var myLayerIndex = new Array();
//Stores selected Layers in Array
for (i = 0; i < myLayer.length; i++) {
myLayerIndex.push(myLayer[i].index)
}
//Selects Layers in comp
var selLayers = app.project.activeItem.layers;
//Loops through deselecting them
for (var j = 1; j <= selLayers.length; j++) {
selLayers[j].selected = false;
}
//Selects targer layer from stored selection
var targetLayer = app.project.activeItem.layer(myLayerIndex[1]);
targetLayer.selected = true;
//Applies command to selected layer
app.executeCommand(10310);
app.executeCommand(20);
//updates targetLayer variable is now the newly created layer.
targetLayer = app.project.activeItem.layer(targetLayer.index - 1);
//mattedLayer is original second selected layer
var mattedLayer = app.project.activeItem.layer(myLayerIndex[0] + 1);
Thanks for your help!
James