Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
77cee9b67a | ||
|
|
42bd46d43b | ||
|
|
2f80c25ed1 | ||
|
|
73e53627b0 | ||
|
|
36c6527cd4 | ||
|
|
0c3068ee6d |
@@ -129,6 +129,16 @@ image.
|
||||
This is very much alpha software. If you see a problem, or opportunities for improvement, please open an issue and make
|
||||
a pull request. I am also open to adding some contributors to this project, and it's companion.
|
||||
|
||||
# Publishing this node.
|
||||
This note is currently only for the current developer, yours truly, but ...
|
||||
To publish on comfy.org,
|
||||
```
|
||||
. L:\environments\python311_64bit_comfy_01\Scripts\Activate.ps1
|
||||
Set-Location <bla-bla>\comfyui_custom_nodes\image_transceiver
|
||||
# copy API key to clipboard and paste it when prompted. Ignore warning about workspace.
|
||||
comfy node publish
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
[MIT](https://choosealicense.com/licenses/mit/)
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
|
||||
# Synchronize with value in image_transceiver_controller.js and in gimp_comfyui.py */
|
||||
# Version must have exactly three fields, with period as delimiter.
|
||||
__version__ = "0.7.10"
|
||||
__version__ = "0.7.11"
|
||||
|
||||
# Image Transceiver Module
|
||||
|
||||
|
||||
@@ -230,7 +230,7 @@ class ImageTransceiver:
|
||||
RETURN_TYPES (`tuple`):
|
||||
The type of each element in the output tuple.
|
||||
RETURN_NAMES (`tuple`):
|
||||
Optional: The name of each output in the output tuple.
|
||||
Optional. The name of each output in the output tuple.
|
||||
FUNCTION (`str`):
|
||||
The name of the entry-point method. For example, if `FUNCTION = "execute"` then it will run Example().execute()
|
||||
OUTPUT_NODE ([`bool`]):
|
||||
|
||||
@@ -27,6 +27,27 @@
|
||||
import { app } from "../../scripts/app.js";
|
||||
import { api } from "../../scripts/api.js";
|
||||
|
||||
function getNativeClass(obj) {
|
||||
/**
|
||||
JavaScript implements prototype-based object orientation, so "class name" is often not useful.
|
||||
Accordingly, this function is not very useful, because most instances are just an Object.
|
||||
**/
|
||||
if (typeof obj === "undefined") return "undefined";
|
||||
if (obj === null) return "null";
|
||||
return Object.prototype.toString.call(obj).match(/^\[object\s(.*)\]$/)[1];
|
||||
}
|
||||
|
||||
function getAnyClass(obj) {
|
||||
/**
|
||||
JavaScript implements prototype-based object orientation, so "class name" is often not useful.
|
||||
This function MIGHT be useful for identifying instances, or might not.
|
||||
**/
|
||||
if (typeof obj === "undefined") return "undefined";
|
||||
if (obj === null) return "null";
|
||||
return obj.constructor.name;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Controller for browser view and python model. Holds state so callbacks like renderTransceiverViewNode() can draw
|
||||
* the node with its canvasRenderingContext2D.
|
||||
@@ -62,7 +83,7 @@ class ImageTransceiverController {
|
||||
/** @type {string} */
|
||||
static TRANSCEIVER_MSG_KEY = "TRANSCEIVER_MSG";
|
||||
/** @type {string} The version of this class. Synchronize with value in __init__.py and in gimp_comfyui.py */
|
||||
static VERSION = "0.7.10"
|
||||
static VERSION = "0.7.11"
|
||||
|
||||
/**
|
||||
* The content to draw in the node. Should be a base64 encoded data url.
|
||||
@@ -332,11 +353,9 @@ class ImageTransceiverController {
|
||||
const SHRINKER = 0.93;
|
||||
const NODE_X_INSET = 10 * SHRINKER;
|
||||
const NODE_Y_INSET = 55 * SHRINKER;
|
||||
// JavaScript implements prototype-based object orientation, so "class name" is rarely useful.
|
||||
const MY_DERIVED_CLASS_NAME = getAnyClass(this);
|
||||
|
||||
if (!Object.hasOwn(this.transceiverViewNode, "pos")) {
|
||||
throw new TypeError("transceiverViewNode has no pos property.");
|
||||
return;
|
||||
}
|
||||
const node_width = this.transceiverViewNode.size[0] - NODE_X_INSET;
|
||||
const node_height = this.transceiverViewNode.size[1] - NODE_Y_INSET;
|
||||
const miniframe_top_left_x = NODE_X_INSET;
|
||||
|
||||
+15
-2
@@ -2,9 +2,22 @@
|
||||
name = "image_transceiver"
|
||||
description = "ImageTransceiver is a custom node that enables image generating clients to connect directly to ComfyUI, and send those images in near real-time. For example, an image manipulation program like GIMP can connect an image to a workflow in ComfyUI, and every time the image changes in GIMP, the changes are immediately made in the workflow. Cloning"
|
||||
# Version must have exactly three fields, with period as delimiter.
|
||||
version = "0.7.10"
|
||||
version = "0.7.12"
|
||||
license = {file = "LICENSE"}
|
||||
|
||||
readme = "README.md"
|
||||
authors = [
|
||||
{ name = "Charlweed" }
|
||||
]
|
||||
|
||||
requires-python = ">=3.8"
|
||||
dependencies = [
|
||||
"numpy",
|
||||
"torch",
|
||||
"Pillow",
|
||||
"websockets",
|
||||
]
|
||||
|
||||
[project.urls]
|
||||
Repository = "https://github.com/Charlweed/image_transceiver"
|
||||
# Used by Comfy Registry https://comfyregistry.org
|
||||
@@ -12,4 +25,4 @@ Repository = "https://github.com/Charlweed/image_transceiver"
|
||||
[tool.comfy]
|
||||
PublisherId = "charlweed"
|
||||
DisplayName = "image_transceiver"
|
||||
Icon = "https://github.com/Charlweed/image_transceiver/blob/2ba3d544d0d974e787d49a847bd6bf9c85fbb2f8/illustrations/transceiver_256sq.png"
|
||||
Icon = "https://raw.githubusercontent.com/Charlweed/image_transceiver/main/illustrations/transceiver_256sq.png"
|
||||
|
||||
Reference in New Issue
Block a user