outputs have to be singular since comfy lists force per item iteration
COMFYUI Nodes for procedural masking, live composition and video manipulation
JOVIMETRIX IS ONLY GUARANTEED TO SUPPORT COMFYUI 0.1.3+ and FRONTEND 1.2.40+
IF YOU NEED AN OLDER VERSION, PLEASE DO NOT UPDATE.
IF YOU NEED AN OLDER VERSION, PLEASE DO NOT UPDATE.
SPONSORSHIP
Please consider sponsoring me if you enjoy the results of my work, code or documentation or otherwise. A good way to keep code development open and free is through sponsorship.
HIGHLIGHTS
- 30 function
BLENDnode -- subtract, multiply and overlay like the best - Vector support for 2, 3, 4 size tuples of integer or float type
- Specific RGB/RGBA color vector support that provides a color picker
- All Image inputs support RGBA, RGB or pure MASK input
- GLSL shader support
-
GLSL Nodeprovides raw access to Vertex and Fragment shaders
-
Dynamic GLSLdynamically convert existing GLSL scripts file into ComfyUI nodes at runtime
-
- Over 20+ Hand written GLSL nodes to speed up specific tasks better done on the GPU (10x speedup in most cases)
STREAM READERnode to capture monitor, webcam or url mediaSTREAM WRITERnode to export media to a HTTP/HTTPS server for OBS or other 3rd party streaming softwareSPOUTstreaming support WINDOWS ONLYMIDI READERCaptures MIDI messages from an external MIDI device or controllerMIDI MESSAGEProcesses MIDI messages received from an external MIDI controller or deviceMIDI FILTER(advanced filter) to select messages from MIDI streams and devicesMIDI FILTER EZsimpler interface to filter single messages from MIDI streams and devices- Full Text generation support using installed system fonts
- Basic parametric shape (Circle, Square, Polygon) generator
COLOR BLINDcheck supportCOLOR MATCHagainst existing images or create a custom LUT- Generate
COLOR THEORYspreads from an existing image COLOR MEANSto generate palettes for existing images to keep other images in the same tonal rangesPIXEL SPLITseparate the channels of an image to manipulate andPIXEL MERGEthem back togetherSTACKa series of images into a new single image vertically, horizontally or in a grid- Or
FLATTENa batch of images into a single image with each image subsequently added on top (slap comp) VALUENode has conversion support for all ComfyUI types and some 3rd party types (2DCoords, Mixlab Layers)LERPnode to linear interpolate all ComfyUI and Jovimetrix value types- Automatic conversion of Mixlab Layer types into Image types
- Generic
ARRAYthat can Merge, Split, Select, Slice or Randomize a list of ANY type STRINGERnode to perform specific string manipulation operations: Split, Join, Replace, Slice.- A
QUEUENode that supports recursing directories, filtering multiple file types and batch loading - Use the
OP UNARYandOP BINARYnodes to perform single and double type functions across all ComfyUI and Jovimetrix value types - Manipulate vectors with the
SWIZZLEnode to swap their XYZW positions DELAYexecution at certain parts in a workflow, with or without a timeout- Generate curve data with the
TICKandWAVE GENnodes - Help System for ALL NODES that will auto-parse unknown knows for their type data and descriptions
- Colorization for ALL NODES using their own node settings, their node group or via regex pattern matching
HELP SYSTEM
The built-in help system will dynamically parse any nodes found at the ComfyUI API endpoint:
<comfyui_web_root>/object_info
If those nodes have descriptions written in HTML or Markdown, they will be converted into HTML for presentation in the panel.
NODE COLORS
You can colorize nodes via their title background, node body or title text. This can be done to the node's category as well, so you can quickly color groups of nodes.
UPDATES
2024/02/17 @1.7.20:
- changed to newer conversion logic on frontend 1.10.3+ --
VECTORtypes will auto-switch to conversion logic based on version - Fix for
VALUE NODEto properly output vector data -- node in deprecation mode - Added explcit
VECTOR2 / INT,VECTOR3 / INT,VECTOR4 / INTnodes for value input - Restructure to remove old UX hide/show widget features for compatibility with frontend (1.10.3+)
- Added
BATCHoutput toTICK NODEso you can get a normal comfyui list (top output) and a Jovimetrix list (BATCH)
2024/02/14 @1.7.17:
- cleaning up image support before split into Jovi_Comp
2024/02/14 @1.7.15:
- forced "OFF" the auto-scan for web cameras. Kept defaulting to on regardless of setting. reference issue 80
2024/02/10 @1.7.13:
- cleared serialization bug
- better "docker" environment check
- cleaner type hints
2024/02/08 @1.7.9:
- moved to proper semantic version numbers
- PyOpenGL-accelerate updated to 3.1.9
- better versioning in requirements around numpy
- cleaner 2024/02/07 @1.7.08:
JOV_SCAN_DEVICESreset to default off.
2024/02/06 @1.7.06:
RESIZE_MATTEoption updated to allow transparent mattes
2024/02/06 @1.7.05:
- updated
QUEUEandQUEUE TOOprogress while loading all images as "batch"
2024/02/05 @1.7.02:
- polish on regex parsing for uniforms -- supports are much more lenient on spacing
2024/02/05 @1.7.0:
- regex entries default to [5] fields
- issue #4 value in uniforms for
GLSL nodeswere cancelling values being set
INSTALLATION
Please see the wiki for advanced use of the environment variables used during startup
COMFYUI MANAGER
If you have ComfyUI Manager installed, simply search for Jovimetrix and install from the manager's database.
MANUAL INSTALL
Clone the repository into your ComfyUI custom_nodes directory. You can clone the repository with the command:
git clone https://github.com/Amorano/Jovimetrix.git
You can then install the requirements by using the command:
.\python_embed\python.exe -s -m pip install -r requirements.txt
If you are using a virtual environment (venv), make sure it is activated before installation. Then install the requirements with the command:
pip install -r requirements.txt