Make a Curves Adjustment Layer with acv. preset
Hello,
I'm trying to load a Curves Adjustment Layer with an acv.preset (named: Enhancement), but the ScriptListener doesn't recognize the selection of Curves presets:
// =======================================================
var idMk = charIDToTypeID( "Mk " );
var desc151 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref127 = new ActionReference();
var idAdjL = charIDToTypeID( "AdjL" );
ref127.putClass( idAdjL );
desc151.putReference( idnull, ref127 );
var idUsng = charIDToTypeID( "Usng" );
var desc152 = new ActionDescriptor();
var idNm = charIDToTypeID( "Nm " );
desc152.putString( idNm, """Colour Enhancement""" );
var idMd = charIDToTypeID( "Md " );
var idBlnM = charIDToTypeID( "BlnM" );
var idClr = charIDToTypeID( "Clr " );
desc152.putEnumerated( idMd, idBlnM, idClr );
var idClr = charIDToTypeID( "Clr " );
var idClr = charIDToTypeID( "Clr " );
var idRd = charIDToTypeID( "Rd " );
desc152.putEnumerated( idClr, idClr, idRd );
var idType = charIDToTypeID( "Type" );
var desc153 = new ActionDescriptor();
var idpresetKind = stringIDToTypeID( "presetKind" );
var idpresetKindType = stringIDToTypeID( "presetKindType" );
var idpresetKindDefault = stringIDToTypeID( "presetKindEnhancement" );
desc153.putEnumerated( idpresetKind, idpresetKindType, idpresetKindDefault );
var idCrvs = charIDToTypeID( "Crvs" );
desc152.putObject( idType, idCrvs, desc153 );
var idAdjL = charIDToTypeID( "AdjL" );
desc151.putObject( idUsng, idAdjL, desc152 );
executeAction( idMk, desc151, DialogModes.NO );
I tried this script, which I was able to find on PS Scripting, but it doesn't seem to work either:
function makeCurvesAdjustmentLayerFromAcvFile (acvFilePath)
{
var desc8 = new ActionDescriptor ();
var ref2 = new ActionReference ();
ref2.putClass (stringIDToTypeID ("adjustmentLayer"));
desc8.putReference (stringIDToTypeID ("target"), ref2);
var desc9 = new ActionDescriptor ();
var desc10 = new ActionDescriptor ();
desc10.putEnumerated (stringIDToTypeID ("presetKind"), stringIDToTypeID ("presetKindType"), stringIDToTypeID ("presetKindUserDefined"));
desc10.putPath (stringIDToTypeID ("using"), new File (acvFilePath));
desc9.putObject (stringIDToTypeID ("type"), stringIDToTypeID ("curves"), desc10);
desc8.putObject (stringIDToTypeID ("using"), stringIDToTypeID ("adjustmentLayer"), desc9);
executeAction (stringIDToTypeID ("make"), desc8, DialogModes.NO);
}
makeCurvesAdjustmentLayerFromAcvFile ("~/Desktop/Enhancement.acv");
I catch an error an error on this line:
executeAction (stringIDToTypeID ("make"), desc8, DialogModes.NO);
Any and all help would be greatly appreciated!
Thanks,
-Eric