Skip to main content
BLAXPHOTO
Participant
December 13, 2020
Question

Help with Slider code.

  • December 13, 2020
  • 1 reply
  • 229 views

Any chance I can get some help with a plugin I'm creating? Trying to stringify slider values and push to .jsx to manipulate Blendif values.

 

Here's what I have: 

 

HTML:

<input class="defaultInput" type="range" id="opacitySlider" style="left:20px;top:10px;width:245px;height:10px;" min="0" max="100" step="1" value="100" /> 

// Print out to make sure I return a value //

<span id="opacity"></span> 



JS:

This is where I'm lost. I don't know how to send the value of the slider to JSX .... I know I have to stringify, but I can't figure it out. I'm a noob.

var slider0 = document.getElementById("opacitySlider");
var output0 = document.getElementById("opacity");
output0.innerHTML = slider0.value;

slider0.oninput = function() {
output0.innerHTML = this.value
}



JSX:

I would love to be able to house the values and anytime the slider is changed, it would put that value into the BLEND options

function blendIf(opacity,darkGrey,darkRed,darkGreen,darkBlue,brightGrey,brightRed,brightGreen,brightBlue) {

var idset = stringIDToTypeID( "set" );


var desc110 = new ActionDescriptor();
var idnull = stringIDToTypeID( "null" );
var ref49 = new ActionReference();
var idlayer = stringIDToTypeID( "layer" );
var idordinal = stringIDToTypeID( "ordinal" );
var idtargetEnum = stringIDToTypeID( "targetEnum" );
ref49.putEnumerated( idlayer, idordinal, idtargetEnum );
desc110.putReference( idnull, ref49 );

var idto = stringIDToTypeID( "to" );

//opacity

var desc111 = new ActionDescriptor();
var idopacity = stringIDToTypeID( "opacity" );
var idpercentUnit = stringIDToTypeID( "percentUnit" );
desc111.putUnitDouble( idopacity, idpercentUnit, opacity );
var idblendRange = stringIDToTypeID( "blendRange" );
var list27 = new ActionList();

//gray

var desc112 = new ActionDescriptor();
var idchannel = stringIDToTypeID( "channel" );
var ref50 = new ActionReference();
var idchannel = stringIDToTypeID( "channel" );
var idchannel = stringIDToTypeID( "channel" );
var idgray = stringIDToTypeID( "gray" );
ref50.putEnumerated( idchannel, idchannel, idgray );
desc112.putReference( idchannel, ref50 );
var idsrcBlackMin = stringIDToTypeID( "srcBlackMin" );
desc112.putInteger( idsrcBlackMin, 0 );
var idsrcBlackMax = stringIDToTypeID( "srcBlackMax" );
desc112.putInteger( idsrcBlackMax, 0 );
var idsrcWhiteMin = stringIDToTypeID( "srcWhiteMin" );
desc112.putInteger( idsrcWhiteMin, brightGrey );
var idsrcWhiteMax = stringIDToTypeID( "srcWhiteMax" );
desc112.putInteger( idsrcWhiteMax, 255 );
var iddestBlackMin = stringIDToTypeID( "destBlackMin" );
desc112.putInteger( iddestBlackMin, 0 );
var iddestBlackMax = stringIDToTypeID( "destBlackMax" );
desc112.putInteger( iddestBlackMax, darkGrey );
var iddestWhiteMin = stringIDToTypeID( "destWhiteMin" );
desc112.putInteger( iddestWhiteMin, 255 );
var iddesaturate = stringIDToTypeID( "desaturate" );
desc112.putInteger( iddesaturate, 255 );


var idblendRange = stringIDToTypeID( "blendRange" );
list27.putObject( idblendRange, desc112 );

//red


var desc113 = new ActionDescriptor();
var idchannel = stringIDToTypeID( "channel" );
var ref51 = new ActionReference();
var idchannel = stringIDToTypeID( "channel" );
var idchannel = stringIDToTypeID( "channel" );
var idred = stringIDToTypeID( "red" );
ref51.putEnumerated( idchannel, idchannel, idred );
desc113.putReference( idchannel, ref51 );
var idsrcBlackMin = stringIDToTypeID( "srcBlackMin" );
desc113.putInteger( idsrcBlackMin, 0 );
var idsrcBlackMax = stringIDToTypeID( "srcBlackMax" );
desc113.putInteger( idsrcBlackMax, 0 );
var idsrcWhiteMin = stringIDToTypeID( "srcWhiteMin" );
desc113.putInteger( idsrcWhiteMin, brightRed );
var idsrcWhiteMax = stringIDToTypeID( "srcWhiteMax" );
desc113.putInteger( idsrcWhiteMax, 255 );
var iddestBlackMin = stringIDToTypeID( "destBlackMin" );
desc113.putInteger( iddestBlackMin, 0 );
var iddestBlackMax = stringIDToTypeID( "destBlackMax" );
desc113.putInteger( iddestBlackMax, darkRed );
var iddestWhiteMin = stringIDToTypeID( "destWhiteMin" );
desc113.putInteger( iddestWhiteMin, 255 );
var iddesaturate = stringIDToTypeID( "desaturate" );
desc113.putInteger( iddesaturate, 255 );


var idblendRange = stringIDToTypeID( "blendRange" );
list27.putObject( idblendRange, desc113 );

//green


var desc114 = new ActionDescriptor();
var idchannel = stringIDToTypeID( "channel" );
var ref52 = new ActionReference();
var idchannel = stringIDToTypeID( "channel" );
var idchannel = stringIDToTypeID( "channel" );
var idgrain = stringIDToTypeID( "grain" );
ref52.putEnumerated( idchannel, idchannel, idgrain );
desc114.putReference( idchannel, ref52 );
var idsrcBlackMin = stringIDToTypeID( "srcBlackMin" );
desc114.putInteger( idsrcBlackMin, 0 );
var idsrcBlackMax = stringIDToTypeID( "srcBlackMax" );
desc114.putInteger( idsrcBlackMax, 0 );
var idsrcWhiteMin = stringIDToTypeID( "srcWhiteMin" );
desc114.putInteger( idsrcWhiteMin, brightGreen );
var idsrcWhiteMax = stringIDToTypeID( "srcWhiteMax" );
desc114.putInteger( idsrcWhiteMax, 225 );
var iddestBlackMin = stringIDToTypeID( "destBlackMin" );
desc114.putInteger( iddestBlackMin, 0 );
var iddestBlackMax = stringIDToTypeID( "destBlackMax" );
desc114.putInteger( iddestBlackMax, darkGreen );
var iddestWhiteMin = stringIDToTypeID( "destWhiteMin" );
desc114.putInteger( iddestWhiteMin, 255 );
var iddesaturate = stringIDToTypeID( "desaturate" );
desc114.putInteger( iddesaturate, 255 );


var idblendRange = stringIDToTypeID( "blendRange" );
list27.putObject( idblendRange, desc114 );

//blue

var desc115 = new ActionDescriptor();
var idchannel = stringIDToTypeID( "channel" );
var ref53 = new ActionReference();
var idchannel = stringIDToTypeID( "channel" );
var idchannel = stringIDToTypeID( "channel" );
var idblue = stringIDToTypeID( "blue" );
ref53.putEnumerated( idchannel, idchannel, idblue );
desc115.putReference( idchannel, ref53 );
var idsrcBlackMin = stringIDToTypeID( "srcBlackMin" );
desc115.putInteger( idsrcBlackMin, 0 );
var idsrcBlackMax = stringIDToTypeID( "srcBlackMax" );
desc115.putInteger( idsrcBlackMax, 0 );
var idsrcWhiteMin = stringIDToTypeID( "srcWhiteMin" );
desc115.putInteger( idsrcWhiteMin, brightBlue );
var idsrcWhiteMax = stringIDToTypeID( "srcWhiteMax" );
desc115.putInteger( idsrcWhiteMax, 255 );
var iddestBlackMin = stringIDToTypeID( "destBlackMin" );
desc115.putInteger( iddestBlackMin, 0 );
var iddestBlackMax = stringIDToTypeID( "destBlackMax" );
desc115.putInteger( iddestBlackMax, darkBlue );
var iddestWhiteMin = stringIDToTypeID( "destWhiteMin" );
desc115.putInteger( iddestWhiteMin, 255 );
var iddesaturate = stringIDToTypeID( "desaturate" );
desc115.putInteger( iddesaturate, 255 );


var idblendRange = stringIDToTypeID( "blendRange" );
list27.putObject( idblendRange, desc115 );


desc111.putList( idblendRange, list27 );

var idlayer = stringIDToTypeID( "layer" );
desc110.putObject( idto, idlayer, desc111 );

executeAction( idset, desc110, DialogModes.NO );

}

 

 

This topic has been closed for replies.

1 reply

BLAXPHOTO
BLAXPHOTOAuthor
Participant
December 13, 2020

Something like this I'm sure, but I've been banging my head for too long.... 

LOL ... I know I need to use csInterface.evalScript to send it over, but this is above my head at this point. I can see some issues coming up.... like I'll need the slider to reset once I click off a layer.

function blendIf() {
	csInterface.evalScript("blendIf('opacity,darkgray,darkred,darkgreen,darkblue,brightgray,brightred,brightgreen,brightblue')");
}