checking types instead of names, WIP

This commit is contained in:
Julien Lubimiv 2023-04-09 12:43:01 -04:00
parent 530456e859
commit f938b3da37

View File

@ -14,100 +14,55 @@ export function addValueControlWidget(node, targetWidget, defaultValue = "random
const valueControl = node.addWidget("combo", "control_after_generate", defaultValue, function (v) { }, { const valueControl = node.addWidget("combo", "control_after_generate", defaultValue, function (v) { }, {
values: ["fixed", "increment", "decrement", "randomize"], values: ["fixed", "increment", "decrement", "randomize"],
serialize: false, // Don't include this in prompt. serialize: false, // Don't include this in prompt.
}) });
valueControl.afterQueued = () => { valueControl.afterQueued = () => {
var v = valueControl.value; var v = valueControl.value;
var w = targetWidget.name; var w = targetWidget.type;
let min = 0.0; let min = targetWidget.options?.min;
let max = targetWidget.options?.max; let max = targetWidget.options?.max;
let range = Math.max(min, max); let range = Math.max(min, max);
//adjust values based on valueControl Behaviour //adjust values based on valueControl Behaviour
switch (v) { switch (v) {
case ("fixed"): case "fixed":
console.log("fixed");
break; break;
case ("increment"): case "increment":
if (min != null || max != null) { if (min != null && max != null) {
/*if (max) { //loop to lowest and continue batch
targetWidget.value = 0;
console.log("increment");
} else {
targetWidget.value += 1;
console.log("increment");
}
} else {*/
if (max) { if (max) {
if (w == "denoise") { targetWidget.value += targetWidget.options?.increment;
targetWidget.value += 0.1;
console.log("denoise decrement");
} else if (w == "cfg") {
targetWidget.value += 0.5;
console.log("cfg increment");
} else if (w == "width" || w == "height") {
targetWidget.value += 64;
console.log("width/height decrement");
} else {
targetWidget.value += 1.0;
console.log("decrement");
}
} }
} }
break; break;
case ("decrement"): case "decrement":
if (min != null || max != null) { if (min != null && max != null) {
/*if (min) { //Loop to highest and continue batch
targetWidget.value = 1125899906842624;
console.log("decrement");
} else {
targetWidget.value -= 1;
console.log("decrement");
} else {*/
if (max) { if (max) {
if (w == "denoise") { targetWidget.value -= targetWidget.options?.increment;
targetWidget.value -= 0.1;
console.log("denoise decrement");
} else if (w == "cfg") {
targetWidget.value -= 0.5;
console.log("cfg decrement");
} else if (w == "width" || w == "height") {
targetWidget.value -= 64;
console.log("width/height decrement");
} else {
targetWidget.value -= 1.0;
console.log("decrement");
}
} }
} }
break; break;
case ("randomize"): case "randomize":
if (min != null || max != null) { if (min != null && max != null) {
switch (w) { switch (w) {
case ("cfg"): case "FLOAT":
case ("denoise"):
console.log("random denoise");
targetWidget.value = parseFloat((Math.floor(Math.random() * ((range * 100) + 1)) / 100).toFixed(2)); targetWidget.value = parseFloat((Math.floor(Math.random() * ((range * 100) + 1)) / 100).toFixed(2));
break; break;
case ("height"): case "INT":
case ("width"): if (targetWidget.name == "width" || targetWidget.name == "height") {
targetWidget.value = Math.floor(Math.random() * range) * 64 + min; targetWidget.value = Math.floor(Math.random() * range) * 64 + min;
console.log("Random resolution"); } else {
break;
default:
targetWidget.value = Math.floor(Math.random() * range); targetWidget.value = Math.floor(Math.random() * range);
console.log("Random"); }
break;
default:
break; break;
} }
} }
break; break;
default: default:
console.log("default (failed to detect input!)");
break; break;
} }
/*check if values are over or under their respective /*check if values are over or under their respective
* ranges and set them to min or max.*/ * ranges and set them to min or max.*/
if (targetWidget.value < min) if (targetWidget.value < min)