Skip to main content
Geppetto Luis
Legend
May 7, 2021
Answered

Configure mixer brush tool

  • May 7, 2021
  • 2 replies
  • 5091 views

I have seen on the forum and have not found anything about it
I would like to configure the mixer brush tool with a script 

 

I wish I could set all these parameters


I hope it can be done since I use this tool a lot

 

Correct answer r-bin

I would like to configure the Crop tool with a script. 

I wish I could set all these parameters. . . Thank You Sir @c.pfaffenbichler 

 

 


var options = new ActionDescriptor(); 
var options2 = new ActionDescriptor();

options2.putEnumerated(stringIDToTypeID("cropAspectRatioModeClass"), stringIDToTypeID("cropAspectRatioModeClass"), stringIDToTypeID("pureAspectRatio")); //targetSize, originalProportions, etc...
options2.putDouble(stringIDToTypeID("aspectWidth"),  0);
options2.putDouble(stringIDToTypeID("aspectHeight"), 0);
options2.putDouble(charIDToTypeID("CrWV"),  0);
options2.putDouble(charIDToTypeID("CrHV"),  0);
options2.putInteger(charIDToTypeID("CrWS"), 0);
options2.putInteger(charIDToTypeID("CrHS"), 0);
options2.putInteger(charIDToTypeID("CrRV"), 0);
options2.putInteger(charIDToTypeID("CrRS"), 1);
options2.putInteger(stringIDToTypeID("cropOverlay"), 2);
options2.putInteger(stringIDToTypeID("CropOptionsShowOverlay"), 1);
options2.putInteger(stringIDToTypeID("orientation"), 0);

options2.putInteger(stringIDToTypeID("cropShieldColorMode"), 1);

var c = new ActionDescriptor();
c.putDouble(stringIDToTypeID("red"),  200);
c.putDouble(stringIDToTypeID("green"),  0);
c.putDouble(stringIDToTypeID("blue"),   0);
options2.putObject(stringIDToTypeID("cropColor"), stringIDToTypeID("RGBColor"), c);

options2.putInteger(stringIDToTypeID("cropOpacity"), 75);

options2.putBoolean(stringIDToTypeID("cropAutoLightenShield"), true);
options2.putBoolean(stringIDToTypeID("cropShowShield"), true);
options2.putBoolean(stringIDToTypeID("preview"), false);
options2.putBoolean(stringIDToTypeID("cropAutoCenterCropBox"), true);
options2.putBoolean(stringIDToTypeID("cropShowCroppedArea"), true);
options2.putBoolean(stringIDToTypeID("AutoFillOnCrop"), true);
options2.putBoolean(stringIDToTypeID("hides"), false);

options.putObject(charIDToTypeID("CrpO"), charIDToTypeID("CrOC"), options2);

var r = new ActionReference();
r.putClass(stringIDToTypeID("cropTool"));

var d = new ActionDescriptor();
d.putReference(stringIDToTypeID("null"), r);
d.putObject(stringIDToTypeID("to"), stringIDToTypeID("null"), options);

executeAction(stringIDToTypeID("set"), d, DialogModes.NO);

2 replies

Legend
May 7, 2021

 

#target photoshop;

var s2t = stringIDToTypeID,
options = {
    flow: 99,
    wetness: 99,
    dryness: 99,
    mix: 99,
    smooth: 99,
    autoFill: true,
    autoClean: true,
    sampleAllLayers: true
};

(r = new ActionReference()).putClass(s2t("wetBrushTool"));
(d = new ActionDescriptor()).putReference(s2t("target"), r);
d.putObject(s2t("to"), s2t("target"), objToDesc(options));
executeAction(s2t("set"), d, DialogModes.NO);


function objToDesc(o) {
    var d = new ActionDescriptor();
    for (var k in o) {
        var v = o[k];
        switch (typeof (v)) {
            case "boolean": d.putBoolean(s2t(k), v); break;
            case "string": d.putString(s2t(k), v); break;
            case "number": d.putInteger(s2t(k), v); break;
        }
    }
    return d;
}

 

 

 

This is a list of presetsIf you change any value using a scriptit will always be "custom" 

Legend
May 7, 2021

прикольный способ 

👍

Legend
May 7, 2021

Согласен 🙂 Причем через .putClass можно назначать параметры в любой момент (вне зависимости от активного в данный момент инструмента).

c.pfaffenbichler
Community Expert
Community Expert
May 7, 2021

You should be able to create Presets and select the Presets via Script. 

Geppetto Luis
Legend
May 7, 2021

i tried with scriptenlistener but it's not good.

c.pfaffenbichler
Community Expert
Community Expert
May 7, 2021

Done as you suggested
works well

however it is possible to do it with scripts

 


»however it is possible to do it with scripts«

Sorry; I do not understand what you are trying to say here.