diff --git a/alter-list.json b/alter-list.json index f165a67..e79915c 100644 --- a/alter-list.json +++ b/alter-list.json @@ -194,6 +194,11 @@ "id":"https://github.com/shiimizu/ComfyUI-TiledDiffusion", "tags":"multidiffusion", "description": "This extension provides custom nodes for [a/Mixture of Diffusers](https://github.com/albarji/mixture-of-diffusers) and [a/MultiDiffusion](https://github.com/omerbt/MultiDiffusion)" + }, + { + "id":"https://github.com/abyz22/image_control", + "tags":"BMAB", + "description": "This extension provides some alternative functionalities of the [a/sd-webui-bmab](https://github.com/portu-sim/sd-webui-bmab) extension." } ] } \ No newline at end of file diff --git a/custom-node-list.json b/custom-node-list.json index 0c381bb..56d4c25 100644 --- a/custom-node-list.json +++ b/custom-node-list.json @@ -4234,6 +4234,17 @@ "install_type": "git-clone", "description": "A bunch of nodes that can be useful to manipulate primitive types (numbers, text, ...) Also some helpers to generate text and timestamps." }, + { + "author": "abyz22", + "title": "image_control", + "reference": "https://github.com/abyz22/image_control", + "files": [ + "https://github.com/abyz22/image_control" + ], + "install_type": "git-clone", + "description": "Nodes:abyz22_Padding Image, abyz22_ImpactWildcardEncode, abyz22_setimageinfo, abyz22_SaveImage, abyz22_ImpactWildcardEncode_GetPrompt, abyz22_SetQueue, abyz22_drawmask, abyz22_FirstNonNull, abyz22_blendimages, abyz22_blend_onecolor" + }, + { "author": "Ser-Hilary", diff --git a/extension-node-map.json b/extension-node-map.json index 570803e..910662f 100644 --- a/extension-node-map.json +++ b/extension-node-map.json @@ -2714,6 +2714,26 @@ "title_aux": "ComfyUI-AudioScheduler" } ], + "https://github.com/abyz22/image_control": [ + [ + "abyz22_FirstNonNull", + "abyz22_FromBasicPipe_v2", + "abyz22_ImpactWildcardEncode", + "abyz22_ImpactWildcardEncode_GetPrompt", + "abyz22_Ksampler", + "abyz22_Padding Image", + "abyz22_SaveImage", + "abyz22_SetQueue", + "abyz22_ToBasicPipe", + "abyz22_blend_onecolor", + "abyz22_blendimages", + "abyz22_drawmask", + "abyz22_setimageinfo" + ], + { + "title_aux": "image_control" + } + ], "https://github.com/adieyal/comfyui-dynamicprompts": [ [ "DPCombinatorialGenerator", diff --git a/js/comfyui-manager.js b/js/comfyui-manager.js index 4ebc210..b0dd535 100644 --- a/js/comfyui-manager.js +++ b/js/comfyui-manager.js @@ -16,6 +16,7 @@ import { AlternativesInstaller } from "./a1111-alter-downloader.js"; import { SnapshotManager } from "./snapshot.js"; import { ModelInstaller } from "./model-downloader.js"; import { manager_instance, setManagerInstance, install_via_git_url, install_pip, rebootAPI, free_models } from "./common.js"; +import { save_as_component } from "./components-manager.js"; var docStyle = document.createElement('style'); docStyle.innerHTML = ` @@ -1184,6 +1185,14 @@ app.registerExtension({ const origGetExtraMenuOptions = node.prototype.getExtraMenuOptions; node.prototype.getExtraMenuOptions = function (_, options) { origGetExtraMenuOptions?.apply?.(this, arguments); + + if (node.comfyClass.startsWith('workflow/')) { + options.push({ + content: "Save As Component", + callback: (obj) => { save_as_component(node, app); } + }, null); + } + if (isOutputNode(node)) { const { potential_outputs } = getPotentialOutputsAndOutputNodes([this]); const hasOutput = potential_outputs.length > 0; diff --git a/node_db/new/custom-node-list.json b/node_db/new/custom-node-list.json index 9f63f16..13ca128 100644 --- a/node_db/new/custom-node-list.json +++ b/node_db/new/custom-node-list.json @@ -10,6 +10,16 @@ }, + { + "author": "abyz22", + "title": "image_control", + "reference": "https://github.com/abyz22/image_control", + "files": [ + "https://github.com/abyz22/image_control" + ], + "install_type": "git-clone", + "description": "Nodes:abyz22_Padding Image, abyz22_ImpactWildcardEncode, abyz22_setimageinfo, abyz22_SaveImage, abyz22_ImpactWildcardEncode_GetPrompt, abyz22_SetQueue, abyz22_drawmask, abyz22_FirstNonNull, abyz22_blendimages, abyz22_blend_onecolor" + }, { "author": "foxtrot-roger", "title": "RF Nodes", diff --git a/node_db/new/extension-node-map.json b/node_db/new/extension-node-map.json index 570803e..910662f 100644 --- a/node_db/new/extension-node-map.json +++ b/node_db/new/extension-node-map.json @@ -2714,6 +2714,26 @@ "title_aux": "ComfyUI-AudioScheduler" } ], + "https://github.com/abyz22/image_control": [ + [ + "abyz22_FirstNonNull", + "abyz22_FromBasicPipe_v2", + "abyz22_ImpactWildcardEncode", + "abyz22_ImpactWildcardEncode_GetPrompt", + "abyz22_Ksampler", + "abyz22_Padding Image", + "abyz22_SaveImage", + "abyz22_SetQueue", + "abyz22_ToBasicPipe", + "abyz22_blend_onecolor", + "abyz22_blendimages", + "abyz22_drawmask", + "abyz22_setimageinfo" + ], + { + "title_aux": "image_control" + } + ], "https://github.com/adieyal/comfyui-dynamicprompts": [ [ "DPCombinatorialGenerator",