Could someone with CS3 please do me a favor?
Create an Action which creates a Curves Adjustment Layer with 3 points added to the curve.
Then another action which creates a Curves Adjustment Layer with points added to the RGB, red, green and blue curves.
A modular scripting tool.
-
Paul MR
A modular scripting tool.
These might be easier to read...
Code: Select all
function CurveLayer() {
var desc2 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putClass( charIDToTypeID('AdjL') );
desc2.putReference( charIDToTypeID('null'), ref1 );
var desc3 = new ActionDescriptor();
var desc4 = new ActionDescriptor();
desc4.putEnumerated( stringIDToTypeID('presetKind'), stringIDToTypeID('presetKindType'), stringIDToTypeID('presetKindCustom') );
var list1 = new ActionList();
var desc5 = new ActionDescriptor();
var ref2 = new ActionReference();
ref2.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Cmps') );
desc5.putReference( charIDToTypeID('Chnl'), ref2 );
var list2 = new ActionList();
//////////Must be in Horizontal order
var desc6 = new ActionDescriptor();
desc6.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc6.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc6 );
////////
var desc19 = new ActionDescriptor();
desc19.putDouble( charIDToTypeID('Hrzn'), 25.000000 );
desc19.putDouble( charIDToTypeID('Vrtc'), 45.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc19 );
////////
var desc9 = new ActionDescriptor();
desc9.putDouble( charIDToTypeID('Hrzn'), 125.000000 );
desc9.putDouble( charIDToTypeID('Vrtc'), 126.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc9 );
////////
var desc7 = new ActionDescriptor();
desc7.putDouble( charIDToTypeID('Hrzn'), 162.000000 );
desc7.putDouble( charIDToTypeID('Vrtc'), 165.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc7 );
////////
var desc8 = new ActionDescriptor();
desc8.putDouble( charIDToTypeID('Hrzn'), 205.000000 );
desc8.putDouble( charIDToTypeID('Vrtc'), 226.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc8 );
////////
var desc10 = new ActionDescriptor();
desc10.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc10.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc10 );
////////
desc5.putList( charIDToTypeID('Crv '), list2 );
list1.putObject( charIDToTypeID('CrvA'), desc5 );
desc4.putList( charIDToTypeID('Adjs'), list1 );
desc3.putObject( charIDToTypeID('Type'), charIDToTypeID('Crvs'), desc4 );
desc2.putObject( charIDToTypeID('Usng'), charIDToTypeID('AdjL'), desc3 );
executeAction( charIDToTypeID('Mk '), desc2, DialogModes.NO );
};
Code: Select all
function currvesRGB() {
var desc2 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putClass( charIDToTypeID('AdjL') );
desc2.putReference( charIDToTypeID('null'), ref1 );
var desc3 = new ActionDescriptor();
var desc4 = new ActionDescriptor();
desc4.putEnumerated( stringIDToTypeID('presetKind'), stringIDToTypeID('presetKindType'), stringIDToTypeID('presetKindCustom') );
var list1 = new ActionList();
//Red
var desc5 = new ActionDescriptor();
var ref2 = new ActionReference();
ref2.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Rd ') );
desc5.putReference( charIDToTypeID('Chnl'), ref2 );
var list2 = new ActionList();
var desc6 = new ActionDescriptor();
desc6.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc6.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc6 );
var desc7 = new ActionDescriptor();
desc7.putDouble( charIDToTypeID('Hrzn'), 226.000000 );
desc7.putDouble( charIDToTypeID('Vrtc'), 236.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc7 );
var desc8 = new ActionDescriptor();
desc8.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc8.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc8 );
desc5.putList( charIDToTypeID('Crv '), list2 );
list1.putObject( charIDToTypeID('CrvA'), desc5 );
//Green
var desc9 = new ActionDescriptor();
var ref3 = new ActionReference();
ref3.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Grn ') );
desc9.putReference( charIDToTypeID('Chnl'), ref3 );
var list3 = new ActionList();
var desc10 = new ActionDescriptor();
desc10.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc10.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list3.putObject( charIDToTypeID('Pnt '), desc10 );
var desc11 = new ActionDescriptor();
desc11.putDouble( charIDToTypeID('Hrzn'), 169.000000 );
desc11.putDouble( charIDToTypeID('Vrtc'), 159.000000 );
list3.putObject( charIDToTypeID('Pnt '), desc11 );
var desc12 = new ActionDescriptor();
desc12.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc12.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list3.putObject( charIDToTypeID('Pnt '), desc12 );
desc9.putList( charIDToTypeID('Crv '), list3 );
list1.putObject( charIDToTypeID('CrvA'), desc9 );
//Blue
var desc13 = new ActionDescriptor();
var ref4 = new ActionReference();
ref4.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Bl ') );
desc13.putReference( charIDToTypeID('Chnl'), ref4 );
var list4 = new ActionList();
var desc14 = new ActionDescriptor();
desc14.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc14.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list4.putObject( charIDToTypeID('Pnt '), desc14 );
var desc15 = new ActionDescriptor();
desc15.putDouble( charIDToTypeID('Hrzn'), 85.000000 );
desc15.putDouble( charIDToTypeID('Vrtc'), 70.000000 );
list4.putObject( charIDToTypeID('Pnt '), desc15 );
var desc16 = new ActionDescriptor();
desc16.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc16.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list4.putObject( charIDToTypeID('Pnt '), desc16 );
desc13.putList( charIDToTypeID('Crv '), list4 );
list1.putObject( charIDToTypeID('CrvA'), desc13 );
desc4.putList( charIDToTypeID('Adjs'), list1 );
desc3.putObject( charIDToTypeID('Type'), charIDToTypeID('Crvs'), desc4 );
desc2.putObject( charIDToTypeID('Usng'), charIDToTypeID('AdjL'), desc3 );
executeAction( charIDToTypeID('Mk '), desc2, DialogModes.NO );
};
Code: Select all
function CurveLayer() {
var desc2 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putClass( charIDToTypeID('AdjL') );
desc2.putReference( charIDToTypeID('null'), ref1 );
var desc3 = new ActionDescriptor();
var desc4 = new ActionDescriptor();
desc4.putEnumerated( stringIDToTypeID('presetKind'), stringIDToTypeID('presetKindType'), stringIDToTypeID('presetKindCustom') );
var list1 = new ActionList();
var desc5 = new ActionDescriptor();
var ref2 = new ActionReference();
ref2.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Cmps') );
desc5.putReference( charIDToTypeID('Chnl'), ref2 );
var list2 = new ActionList();
//////////Must be in Horizontal order
var desc6 = new ActionDescriptor();
desc6.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc6.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc6 );
////////
var desc19 = new ActionDescriptor();
desc19.putDouble( charIDToTypeID('Hrzn'), 25.000000 );
desc19.putDouble( charIDToTypeID('Vrtc'), 45.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc19 );
////////
var desc9 = new ActionDescriptor();
desc9.putDouble( charIDToTypeID('Hrzn'), 125.000000 );
desc9.putDouble( charIDToTypeID('Vrtc'), 126.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc9 );
////////
var desc7 = new ActionDescriptor();
desc7.putDouble( charIDToTypeID('Hrzn'), 162.000000 );
desc7.putDouble( charIDToTypeID('Vrtc'), 165.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc7 );
////////
var desc8 = new ActionDescriptor();
desc8.putDouble( charIDToTypeID('Hrzn'), 205.000000 );
desc8.putDouble( charIDToTypeID('Vrtc'), 226.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc8 );
////////
var desc10 = new ActionDescriptor();
desc10.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc10.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc10 );
////////
desc5.putList( charIDToTypeID('Crv '), list2 );
list1.putObject( charIDToTypeID('CrvA'), desc5 );
desc4.putList( charIDToTypeID('Adjs'), list1 );
desc3.putObject( charIDToTypeID('Type'), charIDToTypeID('Crvs'), desc4 );
desc2.putObject( charIDToTypeID('Usng'), charIDToTypeID('AdjL'), desc3 );
executeAction( charIDToTypeID('Mk '), desc2, DialogModes.NO );
};
Code: Select all
function currvesRGB() {
var desc2 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putClass( charIDToTypeID('AdjL') );
desc2.putReference( charIDToTypeID('null'), ref1 );
var desc3 = new ActionDescriptor();
var desc4 = new ActionDescriptor();
desc4.putEnumerated( stringIDToTypeID('presetKind'), stringIDToTypeID('presetKindType'), stringIDToTypeID('presetKindCustom') );
var list1 = new ActionList();
//Red
var desc5 = new ActionDescriptor();
var ref2 = new ActionReference();
ref2.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Rd ') );
desc5.putReference( charIDToTypeID('Chnl'), ref2 );
var list2 = new ActionList();
var desc6 = new ActionDescriptor();
desc6.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc6.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc6 );
var desc7 = new ActionDescriptor();
desc7.putDouble( charIDToTypeID('Hrzn'), 226.000000 );
desc7.putDouble( charIDToTypeID('Vrtc'), 236.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc7 );
var desc8 = new ActionDescriptor();
desc8.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc8.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc8 );
desc5.putList( charIDToTypeID('Crv '), list2 );
list1.putObject( charIDToTypeID('CrvA'), desc5 );
//Green
var desc9 = new ActionDescriptor();
var ref3 = new ActionReference();
ref3.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Grn ') );
desc9.putReference( charIDToTypeID('Chnl'), ref3 );
var list3 = new ActionList();
var desc10 = new ActionDescriptor();
desc10.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc10.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list3.putObject( charIDToTypeID('Pnt '), desc10 );
var desc11 = new ActionDescriptor();
desc11.putDouble( charIDToTypeID('Hrzn'), 169.000000 );
desc11.putDouble( charIDToTypeID('Vrtc'), 159.000000 );
list3.putObject( charIDToTypeID('Pnt '), desc11 );
var desc12 = new ActionDescriptor();
desc12.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc12.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list3.putObject( charIDToTypeID('Pnt '), desc12 );
desc9.putList( charIDToTypeID('Crv '), list3 );
list1.putObject( charIDToTypeID('CrvA'), desc9 );
//Blue
var desc13 = new ActionDescriptor();
var ref4 = new ActionReference();
ref4.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Bl ') );
desc13.putReference( charIDToTypeID('Chnl'), ref4 );
var list4 = new ActionList();
var desc14 = new ActionDescriptor();
desc14.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc14.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list4.putObject( charIDToTypeID('Pnt '), desc14 );
var desc15 = new ActionDescriptor();
desc15.putDouble( charIDToTypeID('Hrzn'), 85.000000 );
desc15.putDouble( charIDToTypeID('Vrtc'), 70.000000 );
list4.putObject( charIDToTypeID('Pnt '), desc15 );
var desc16 = new ActionDescriptor();
desc16.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc16.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list4.putObject( charIDToTypeID('Pnt '), desc16 );
desc13.putList( charIDToTypeID('Crv '), list4 );
list1.putObject( charIDToTypeID('CrvA'), desc13 );
desc4.putList( charIDToTypeID('Adjs'), list1 );
desc3.putObject( charIDToTypeID('Type'), charIDToTypeID('Crvs'), desc4 );
desc2.putObject( charIDToTypeID('Usng'), charIDToTypeID('AdjL'), desc3 );
executeAction( charIDToTypeID('Mk '), desc2, DialogModes.NO );
};
-
DaveWortley
A modular scripting tool.
I'm still finding these javascript quite difficult to edit, I want to combine those two so I have RGB points added and curve points added for red, green and blue it should be fairly simple but can't figure it out.
Got another example which does both?
Got another example which does both?
-
Paul MR
A modular scripting tool.
Hope this helps..
Code: Select all
function CurvesWithRGB() {
var desc2 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putClass( charIDToTypeID('AdjL') );
desc2.putReference( charIDToTypeID('null'), ref1 );
var desc3 = new ActionDescriptor();
var desc4 = new ActionDescriptor();
desc4.putEnumerated( stringIDToTypeID('presetKind'), stringIDToTypeID('presetKindType'), stringIDToTypeID('presetKindCustom') );
var list1 = new ActionList();
var desc5 = new ActionDescriptor();
var ref2 = new ActionReference();
ref2.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Cmps') );
desc5.putReference( charIDToTypeID('Chnl'), ref2 );
var list2 = new ActionList();
var desc6 = new ActionDescriptor();
desc6.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc6.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc6 );
var desc7 = new ActionDescriptor();
desc7.putDouble( charIDToTypeID('Hrzn'), 49.000000 );
desc7.putDouble( charIDToTypeID('Vrtc'), 50.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc7 );
var desc8 = new ActionDescriptor();
desc8.putDouble( charIDToTypeID('Hrzn'), 98.000000 );
desc8.putDouble( charIDToTypeID('Vrtc'), 101.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc8 );
var desc9 = new ActionDescriptor();
desc9.putDouble( charIDToTypeID('Hrzn'), 153.000000 );
desc9.putDouble( charIDToTypeID('Vrtc'), 155.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc9 );
var desc10 = new ActionDescriptor();
desc10.putDouble( charIDToTypeID('Hrzn'), 203.000000 );
desc10.putDouble( charIDToTypeID('Vrtc'), 203.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc10 );
var desc11 = new ActionDescriptor();
desc11.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc11.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc11 );
desc5.putList( charIDToTypeID('Crv '), list2 );
list1.putObject( charIDToTypeID('CrvA'), desc5 );
var desc12 = new ActionDescriptor();
var ref3 = new ActionReference();
ref3.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Rd ') );
desc12.putReference( charIDToTypeID('Chnl'), ref3 );
var list3 = new ActionList();
var desc13 = new ActionDescriptor();
desc13.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc13.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list3.putObject( charIDToTypeID('Pnt '), desc13 );
var desc14 = new ActionDescriptor();
desc14.putDouble( charIDToTypeID('Hrzn'), 61.000000 );
desc14.putDouble( charIDToTypeID('Vrtc'), 63.000000 );
list3.putObject( charIDToTypeID('Pnt '), desc14 );
var desc15 = new ActionDescriptor();
desc15.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc15.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list3.putObject( charIDToTypeID('Pnt '), desc15 );
desc12.putList( charIDToTypeID('Crv '), list3 );
list1.putObject( charIDToTypeID('CrvA'), desc12 );
var desc16 = new ActionDescriptor();
var ref4 = new ActionReference();
ref4.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Grn ') );
desc16.putReference( charIDToTypeID('Chnl'), ref4 );
var list4 = new ActionList();
var desc17 = new ActionDescriptor();
desc17.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc17.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list4.putObject( charIDToTypeID('Pnt '), desc17 );
var desc18 = new ActionDescriptor();
desc18.putDouble( charIDToTypeID('Hrzn'), 119.000000 );
desc18.putDouble( charIDToTypeID('Vrtc'), 114.000000 );
list4.putObject( charIDToTypeID('Pnt '), desc18 );
var desc19 = new ActionDescriptor();
desc19.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc19.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list4.putObject( charIDToTypeID('Pnt '), desc19 );
desc16.putList( charIDToTypeID('Crv '), list4 );
list1.putObject( charIDToTypeID('CrvA'), desc16 );
var desc20 = new ActionDescriptor();
var ref5 = new ActionReference();
ref5.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Bl ') );
desc20.putReference( charIDToTypeID('Chnl'), ref5 );
var list5 = new ActionList();
var desc21 = new ActionDescriptor();
desc21.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc21.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list5.putObject( charIDToTypeID('Pnt '), desc21 );
var desc22 = new ActionDescriptor();
desc22.putDouble( charIDToTypeID('Hrzn'), 165.000000 );
desc22.putDouble( charIDToTypeID('Vrtc'), 166.000000 );
list5.putObject( charIDToTypeID('Pnt '), desc22 );
var desc23 = new ActionDescriptor();
desc23.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc23.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list5.putObject( charIDToTypeID('Pnt '), desc23 );
desc20.putList( charIDToTypeID('Crv '), list5 );
list1.putObject( charIDToTypeID('CrvA'), desc20 );
desc4.putList( charIDToTypeID('Adjs'), list1 );
desc3.putObject( charIDToTypeID('Type'), charIDToTypeID('Crvs'), desc4 );
desc2.putObject( charIDToTypeID('Usng'), charIDToTypeID('AdjL'), desc3 );
executeAction( charIDToTypeID('Mk '), desc2, DialogModes.NO );
};
Code: Select all
function CurvesWithRGB() {
var desc2 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putClass( charIDToTypeID('AdjL') );
desc2.putReference( charIDToTypeID('null'), ref1 );
var desc3 = new ActionDescriptor();
var desc4 = new ActionDescriptor();
desc4.putEnumerated( stringIDToTypeID('presetKind'), stringIDToTypeID('presetKindType'), stringIDToTypeID('presetKindCustom') );
var list1 = new ActionList();
var desc5 = new ActionDescriptor();
var ref2 = new ActionReference();
ref2.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Cmps') );
desc5.putReference( charIDToTypeID('Chnl'), ref2 );
var list2 = new ActionList();
var desc6 = new ActionDescriptor();
desc6.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc6.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc6 );
var desc7 = new ActionDescriptor();
desc7.putDouble( charIDToTypeID('Hrzn'), 49.000000 );
desc7.putDouble( charIDToTypeID('Vrtc'), 50.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc7 );
var desc8 = new ActionDescriptor();
desc8.putDouble( charIDToTypeID('Hrzn'), 98.000000 );
desc8.putDouble( charIDToTypeID('Vrtc'), 101.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc8 );
var desc9 = new ActionDescriptor();
desc9.putDouble( charIDToTypeID('Hrzn'), 153.000000 );
desc9.putDouble( charIDToTypeID('Vrtc'), 155.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc9 );
var desc10 = new ActionDescriptor();
desc10.putDouble( charIDToTypeID('Hrzn'), 203.000000 );
desc10.putDouble( charIDToTypeID('Vrtc'), 203.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc10 );
var desc11 = new ActionDescriptor();
desc11.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc11.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list2.putObject( charIDToTypeID('Pnt '), desc11 );
desc5.putList( charIDToTypeID('Crv '), list2 );
list1.putObject( charIDToTypeID('CrvA'), desc5 );
var desc12 = new ActionDescriptor();
var ref3 = new ActionReference();
ref3.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Rd ') );
desc12.putReference( charIDToTypeID('Chnl'), ref3 );
var list3 = new ActionList();
var desc13 = new ActionDescriptor();
desc13.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc13.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list3.putObject( charIDToTypeID('Pnt '), desc13 );
var desc14 = new ActionDescriptor();
desc14.putDouble( charIDToTypeID('Hrzn'), 61.000000 );
desc14.putDouble( charIDToTypeID('Vrtc'), 63.000000 );
list3.putObject( charIDToTypeID('Pnt '), desc14 );
var desc15 = new ActionDescriptor();
desc15.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc15.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list3.putObject( charIDToTypeID('Pnt '), desc15 );
desc12.putList( charIDToTypeID('Crv '), list3 );
list1.putObject( charIDToTypeID('CrvA'), desc12 );
var desc16 = new ActionDescriptor();
var ref4 = new ActionReference();
ref4.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Grn ') );
desc16.putReference( charIDToTypeID('Chnl'), ref4 );
var list4 = new ActionList();
var desc17 = new ActionDescriptor();
desc17.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc17.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list4.putObject( charIDToTypeID('Pnt '), desc17 );
var desc18 = new ActionDescriptor();
desc18.putDouble( charIDToTypeID('Hrzn'), 119.000000 );
desc18.putDouble( charIDToTypeID('Vrtc'), 114.000000 );
list4.putObject( charIDToTypeID('Pnt '), desc18 );
var desc19 = new ActionDescriptor();
desc19.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc19.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list4.putObject( charIDToTypeID('Pnt '), desc19 );
desc16.putList( charIDToTypeID('Crv '), list4 );
list1.putObject( charIDToTypeID('CrvA'), desc16 );
var desc20 = new ActionDescriptor();
var ref5 = new ActionReference();
ref5.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Bl ') );
desc20.putReference( charIDToTypeID('Chnl'), ref5 );
var list5 = new ActionList();
var desc21 = new ActionDescriptor();
desc21.putDouble( charIDToTypeID('Hrzn'), 0.000000 );
desc21.putDouble( charIDToTypeID('Vrtc'), 0.000000 );
list5.putObject( charIDToTypeID('Pnt '), desc21 );
var desc22 = new ActionDescriptor();
desc22.putDouble( charIDToTypeID('Hrzn'), 165.000000 );
desc22.putDouble( charIDToTypeID('Vrtc'), 166.000000 );
list5.putObject( charIDToTypeID('Pnt '), desc22 );
var desc23 = new ActionDescriptor();
desc23.putDouble( charIDToTypeID('Hrzn'), 255.000000 );
desc23.putDouble( charIDToTypeID('Vrtc'), 255.000000 );
list5.putObject( charIDToTypeID('Pnt '), desc23 );
desc20.putList( charIDToTypeID('Crv '), list5 );
list1.putObject( charIDToTypeID('CrvA'), desc20 );
desc4.putList( charIDToTypeID('Adjs'), list1 );
desc3.putObject( charIDToTypeID('Type'), charIDToTypeID('Crvs'), desc4 );
desc2.putObject( charIDToTypeID('Usng'), charIDToTypeID('AdjL'), desc3 );
executeAction( charIDToTypeID('Mk '), desc2, DialogModes.NO );
};
-
DaveWortley
A modular scripting tool.
Thanks to Paul, I've been able to write a function which will take arrays of values and will build the curves.
Code: Select allfunction CurvesWithRGB(aRGB_X, aRGB_Y, aRed_X, aRed_Y, aGreen_X, aGreen_Y, aBlue_X, aBlue_Y)
{
var desc2 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putClass( charIDToTypeID('AdjL') );
desc2.putReference( charIDToTypeID('null'), ref1 );
var desc3 = new ActionDescriptor();
var desc4 = new ActionDescriptor();
desc4.putEnumerated( stringIDToTypeID('presetKind'), stringIDToTypeID('presetKindType'), stringIDToTypeID('presetKindCustom') );
var list1 = new ActionList();
//RGB
var desc5 = new ActionDescriptor();
var ref2 = new ActionReference();
ref2.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Cmps') );
desc5.putReference( charIDToTypeID('Chnl'), ref2 );
var list2 = new ActionList();
//Points
for (var i=0;i<aRGB_X.length;i++)
{
var desc6 = new ActionDescriptor();
desc6.putDouble( charIDToTypeID('Hrzn'), aRGB_X );
desc6.putDouble( charIDToTypeID('Vrtc'), aRGB_Y );
list2.putObject( charIDToTypeID('Pnt '), desc6 );
}
desc5.putList( charIDToTypeID('Crv '), list2 );
list1.putObject( charIDToTypeID('CrvA'), desc5 );
//Red
var desc12 = new ActionDescriptor();
var ref3 = new ActionReference();
ref3.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Rd ') );
desc12.putReference( charIDToTypeID('Chnl'), ref3 );
var list3 = new ActionList();
//Points
for (var i=0;i<aRed_X.length;i++)
{
var desc13 = new ActionDescriptor();
desc13.putDouble( charIDToTypeID('Hrzn'), aRed_X );
desc13.putDouble( charIDToTypeID('Vrtc'), aRed_Y );
list3.putObject( charIDToTypeID('Pnt '), desc13 );
}
desc12.putList( charIDToTypeID('Crv '), list3 );
list1.putObject( charIDToTypeID('CrvA'), desc12 );
//Green
var desc16 = new ActionDescriptor();
var ref4 = new ActionReference();
ref4.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Grn ') );
desc16.putReference( charIDToTypeID('Chnl'), ref4 );
var list4 = new ActionList();
//Points
for (var i=0;i<aGreen_X.length;i++)
{
var desc17 = new ActionDescriptor();
desc17.putDouble( charIDToTypeID('Hrzn'), aGreen_X );
desc17.putDouble( charIDToTypeID('Vrtc'), aGreen_Y );
list4.putObject( charIDToTypeID('Pnt '), desc17 );
}
desc16.putList( charIDToTypeID('Crv '), list4 );
list1.putObject( charIDToTypeID('CrvA'), desc16 );
//Blue
var desc20 = new ActionDescriptor();
var ref5 = new ActionReference();
ref5.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Bl ') );
desc20.putReference( charIDToTypeID('Chnl'), ref5 );
var list5 = new ActionList();
//Points
for (var i=0;i<aBlue_X.length;i++)
{
var desc21 = new ActionDescriptor();
desc21.putDouble( charIDToTypeID('Hrzn'), aBlue_X );
desc21.putDouble( charIDToTypeID('Vrtc'), aBlue_Y );
list5.putObject( charIDToTypeID('Pnt '), desc21 );
}
desc20.putList( charIDToTypeID('Crv '), list5 );
list1.putObject( charIDToTypeID('CrvA'), desc20 );
//add points
desc4.putList( charIDToTypeID('Adjs'), list1 );
desc3.putObject( charIDToTypeID('Type'), charIDToTypeID('Crvs'), desc4 );
desc2.putObject( charIDToTypeID('Usng'), charIDToTypeID('AdjL'), desc3 );
executeAction( charIDToTypeID('Mk '), desc2, DialogModes.NO );
};
aRGB_X = new Array(0,50,100,255);
aRGB_Y = new Array(0,50,100,255);
aRed_X = new Array(0,10,14,26,46,89,255);
aRed_Y = new Array(0,5,14,33,41,55,255);
aGreen_X = new Array(0,255);
aGreen_Y = new Array(0,255);
aBlue_X = new Array(0,255);
aBlue_Y = new Array(0,255);
CurvesWithRGB(aRGB_X, aRGB_Y, aRed_X, aRed_Y, aGreen_X, aGreen_Y, aBlue_X, aBlue_Y);
Code: Select allfunction CurvesWithRGB(aRGB_X, aRGB_Y, aRed_X, aRed_Y, aGreen_X, aGreen_Y, aBlue_X, aBlue_Y)
{
var desc2 = new ActionDescriptor();
var ref1 = new ActionReference();
ref1.putClass( charIDToTypeID('AdjL') );
desc2.putReference( charIDToTypeID('null'), ref1 );
var desc3 = new ActionDescriptor();
var desc4 = new ActionDescriptor();
desc4.putEnumerated( stringIDToTypeID('presetKind'), stringIDToTypeID('presetKindType'), stringIDToTypeID('presetKindCustom') );
var list1 = new ActionList();
//RGB
var desc5 = new ActionDescriptor();
var ref2 = new ActionReference();
ref2.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Cmps') );
desc5.putReference( charIDToTypeID('Chnl'), ref2 );
var list2 = new ActionList();
//Points
for (var i=0;i<aRGB_X.length;i++)
{
var desc6 = new ActionDescriptor();
desc6.putDouble( charIDToTypeID('Hrzn'), aRGB_X );
desc6.putDouble( charIDToTypeID('Vrtc'), aRGB_Y );
list2.putObject( charIDToTypeID('Pnt '), desc6 );
}
desc5.putList( charIDToTypeID('Crv '), list2 );
list1.putObject( charIDToTypeID('CrvA'), desc5 );
//Red
var desc12 = new ActionDescriptor();
var ref3 = new ActionReference();
ref3.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Rd ') );
desc12.putReference( charIDToTypeID('Chnl'), ref3 );
var list3 = new ActionList();
//Points
for (var i=0;i<aRed_X.length;i++)
{
var desc13 = new ActionDescriptor();
desc13.putDouble( charIDToTypeID('Hrzn'), aRed_X );
desc13.putDouble( charIDToTypeID('Vrtc'), aRed_Y );
list3.putObject( charIDToTypeID('Pnt '), desc13 );
}
desc12.putList( charIDToTypeID('Crv '), list3 );
list1.putObject( charIDToTypeID('CrvA'), desc12 );
//Green
var desc16 = new ActionDescriptor();
var ref4 = new ActionReference();
ref4.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Grn ') );
desc16.putReference( charIDToTypeID('Chnl'), ref4 );
var list4 = new ActionList();
//Points
for (var i=0;i<aGreen_X.length;i++)
{
var desc17 = new ActionDescriptor();
desc17.putDouble( charIDToTypeID('Hrzn'), aGreen_X );
desc17.putDouble( charIDToTypeID('Vrtc'), aGreen_Y );
list4.putObject( charIDToTypeID('Pnt '), desc17 );
}
desc16.putList( charIDToTypeID('Crv '), list4 );
list1.putObject( charIDToTypeID('CrvA'), desc16 );
//Blue
var desc20 = new ActionDescriptor();
var ref5 = new ActionReference();
ref5.putEnumerated( charIDToTypeID('Chnl'), charIDToTypeID('Chnl'), charIDToTypeID('Bl ') );
desc20.putReference( charIDToTypeID('Chnl'), ref5 );
var list5 = new ActionList();
//Points
for (var i=0;i<aBlue_X.length;i++)
{
var desc21 = new ActionDescriptor();
desc21.putDouble( charIDToTypeID('Hrzn'), aBlue_X );
desc21.putDouble( charIDToTypeID('Vrtc'), aBlue_Y );
list5.putObject( charIDToTypeID('Pnt '), desc21 );
}
desc20.putList( charIDToTypeID('Crv '), list5 );
list1.putObject( charIDToTypeID('CrvA'), desc20 );
//add points
desc4.putList( charIDToTypeID('Adjs'), list1 );
desc3.putObject( charIDToTypeID('Type'), charIDToTypeID('Crvs'), desc4 );
desc2.putObject( charIDToTypeID('Usng'), charIDToTypeID('AdjL'), desc3 );
executeAction( charIDToTypeID('Mk '), desc2, DialogModes.NO );
};
aRGB_X = new Array(0,50,100,255);
aRGB_Y = new Array(0,50,100,255);
aRed_X = new Array(0,10,14,26,46,89,255);
aRed_Y = new Array(0,5,14,33,41,55,255);
aGreen_X = new Array(0,255);
aGreen_Y = new Array(0,255);
aBlue_X = new Array(0,255);
aBlue_Y = new Array(0,255);
CurvesWithRGB(aRGB_X, aRGB_Y, aRed_X, aRed_Y, aGreen_X, aGreen_Y, aBlue_X, aBlue_Y);