almost there

This commit is contained in:
FizzleDorf 2023-03-30 22:42:11 -04:00
commit 521a0eedb6
5 changed files with 29 additions and 6 deletions

1
.gitignore vendored
View File

@ -8,3 +8,4 @@ temp/
custom_nodes/ custom_nodes/
!custom_nodes/example_node.py.example !custom_nodes/example_node.py.example
extra_model_paths.yaml extra_model_paths.yaml
/.vs

View File

@ -5,9 +5,10 @@ const CONVERTED_TYPE = "converted-widget";
const VALID_TYPES = ["STRING", "combo", "number"]; const VALID_TYPES = ["STRING", "combo", "number"];
function isConvertableWidget(widget, config) { function isConvertableWidget(widget, config) {
return VALID_TYPES.includes(widget.type) || VALID_TYPES.includes(config[0]); return VALID_TYPES.includes(widget.type) || VALID_TYPES.includes(config[0]);
} }
function hideWidget(node, widget, suffix = "") { function hideWidget(node, widget, suffix = "") {
widget.origType = widget.type; widget.origType = widget.type;
widget.origComputeSize = widget.computeSize; widget.origComputeSize = widget.computeSize;
@ -23,7 +24,7 @@ function hideWidget(node, widget, suffix = "") {
return widget.value; return widget.value;
}; };
// Hide any linked widgets, e.g. seed+randomize // Hide any linked widgets, e.g. seed+seedControl
if (widget.linkedWidgets) { if (widget.linkedWidgets) {
for (const w of widget.linkedWidgets) { for (const w of widget.linkedWidgets) {
hideWidget(node, w, ":" + widget.name); hideWidget(node, w, ":" + widget.name);
@ -40,7 +41,7 @@ function showWidget(widget) {
delete widget.origComputeSize; delete widget.origComputeSize;
delete widget.origSerializeValue; delete widget.origSerializeValue;
// Hide any linked widgets, e.g. seed+randomize // Hide any linked widgets, e.g. seed+seedControl
if (widget.linkedWidgets) { if (widget.linkedWidgets) {
for (const w of widget.linkedWidgets) { for (const w of widget.linkedWidgets) {
showWidget(w); showWidget(w);
@ -172,6 +173,10 @@ app.registerExtension({
node.pos = pos; node.pos = pos;
node.connect(0, this, slot); node.connect(0, this, slot);
node.title = input.name; node.title = input.name;
if (node.title == "seed") {
node.widgets.addSeedControlWidget(node, node.widgets[0], "randomize");
value.widget.linkedWidgets = [seedControl];
}
// Prevent adding duplicates due to triple clicking // Prevent adding duplicates due to triple clicking
input[ignoreDblClick] = true; input[ignoreDblClick] = true;
@ -284,10 +289,17 @@ app.registerExtension({
} }
} }
<<<<<<< HEAD
if (widget.type === "combo") { if (widget.type === "combo") {
addSeedControlWidget(this, widget, "randomize"); addSeedControlWidget(this, widget, "randomize");
} }
=======
if (widget.type === "combo")
addSeedControlWidget(this, widget, "randomize");
>>>>>>> fbe3df1ec837d298aaab68bab81c967182d2bab6
// When our value changes, update other widgets to reflect our changes // When our value changes, update other widgets to reflect our changes
// e.g. so LoadImage shows correct image // e.g. so LoadImage shows correct image
const callback = widget.callback; const callback = widget.callback;

View File

@ -1,4 +1,4 @@
import { ComfyWidgets } from "./widgets.js"; import { addSeedControlWidget, ComfyWidgets } from "./widgets.js";
import { ComfyUI } from "./ui.js"; import { ComfyUI } from "./ui.js";
import { api } from "./api.js"; import { api } from "./api.js";
import { defaultGraph } from "./defaultGraph.js"; import { defaultGraph } from "./defaultGraph.js";
@ -771,6 +771,13 @@ class ComfyApp {
widget.value = widget.value.slice(7); widget.value = widget.value.slice(7);
} }
} }
if (widget.name == "seed control after generating") {
if (widget.value == true) {
widget.value = "randomize";
}
}
} }
if (widget.name == "seed control after generating") { if (widget.name == "seed control after generating") {
if (widget.value == true) { if (widget.value == true) {
@ -780,7 +787,6 @@ class ComfyApp {
} }
} }
} }
this.#invokeExtensions("loadedGraphNode", node); this.#invokeExtensions("loadedGraphNode", node);
} }
} }

View File

@ -54,7 +54,11 @@ export function addSeedControlWidget(node, targetWidget, defaultValue = "randomi
} }
function seedWidget(node, inputName, inputData) { function seedWidget(node, inputName, inputData) {
<<<<<<< HEAD
const seed = ComfyWidgets.COMBO(node, inputName, inputData); const seed = ComfyWidgets.COMBO(node, inputName, inputData);
=======
const seed = ComfyWidgets.INT(node, inputName, inputData);
>>>>>>> fbe3df1ec837d298aaab68bab81c967182d2bab6
const seedControl = addSeedControlWidget(node, seed.widget, "randomize"); const seedControl = addSeedControlWidget(node, seed.widget, "randomize");
seed.widget.linkedWidgets = [seedControl]; seed.widget.linkedWidgets = [seedControl];