6 Commits
Author SHA1 Message Date
Deft Developer 77cee9b67a Corrected and update pyproject.toml file. Now should have correct authors, requirements, and icon. 2026-05-22 21:56:07 -07:00
Deft Developer 42bd46d43b Removed extra import. 2025-01-06 14:22:43 -08:00
Deft Developer 2f80c25ed1 Punctuation. 2025-01-06 11:21:39 -08:00
Deft Developer 73e53627b0 Removed check for "pos" property. It does not exist in ImageTransceiverController, and was not used.
Updated version number.
Added functions to try and guess the JavaScript "class name", though that is not a very useful value, and might be misleading.
2024-12-27 13:05:16 -08:00
Deft Developer 36c6527cd4 Corrected typos and added code formatting. 2024-11-12 17:13:54 -08:00
Deft Developer 0c3068ee6d Notes on publishing via cli. 2024-11-12 17:10:26 -08:00
5 changed files with 51 additions and 9 deletions
+10
View File
@@ -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
View File
@@ -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
+1 -1
View File
@@ -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`]):
+24 -5
View File
@@ -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
View File
@@ -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"