Nodes Browser

ADJUST (JOV) πŸ•ΈοΈ
AKASHIC (JOV) πŸ““
ARRAY (JOV) πŸ“š
BIT SPLIT (JOV) β­„
BLEND (JOV) βš—οΈ
COLOR BLIND (JOV) πŸ‘β€πŸ—¨
COLOR MATCH (JOV) πŸ’ž
COLOR MEANS (JOV) 〰️
COLOR THEORY (JOV) πŸ›ž
COMPARISON (JOV) πŸ•΅πŸ½
CONSTANT (JOV) πŸŸͺ
CROP (JOV) βœ‚οΈ
DELAY (JOV) βœ‹πŸ½
EXPORT (JOV) πŸ“½
FILTER MASK (JOV) 🀿
FLATTEN (JOV) ⬇️
GLSL (JOV) 🍩
GLSL BLEND LINEAR (JOV) πŸ§™πŸ½
GLSL COLOR CONVERSION (JOV) πŸ§™πŸ½
GLSL COLOR PALETTE (JOV) πŸ§™πŸ½
GLSL CONICAL GRADIENT (JOV) πŸ§™πŸ½
GLSL DIRECTIONAL WARP (JOV) πŸ§™πŸ½
GLSL FILTER RANGE (JOV) πŸ§™πŸ½
GLSL GRAYSCALE (JOV) πŸ§™πŸ½
GLSL HSV ADJUST (JOV) πŸ§™πŸ½
GLSL INVERT (JOV) πŸ§™πŸ½
GLSL NORMAL (JOV) πŸ§™πŸ½
GLSL NORMAL BLEND (JOV) πŸ§™πŸ½
GLSL POSTERIZE (JOV) πŸ§™πŸ½
GLSL TRANSFORM (JOV) πŸ§™πŸ½
GRADIENT MAP (JOV) πŸ‡²πŸ‡Ί
GRAPH (JOV) πŸ“ˆ
IMAGE INFO (JOV) πŸ“š
LERP (JOV) πŸ”°
MIDI FILTER (JOV) ✳️
MIDI FILTER EZ (JOV) ❇️
MIDI MESSAGE (JOV) πŸŽ›οΈ
MIDI READER (JOV) 🎹
OP BINARY (JOV) 🌟
OP UNARY (JOV) 🎲
PIXEL MERGE (JOV) πŸ«‚
PIXEL SPLIT (JOV) πŸ’”
PIXEL SWAP (JOV) πŸ”ƒ
QUEUE (JOV) πŸ—ƒ
QUEUE TOO (JOV) πŸ—ƒ
ROUTE (JOV) 🚌
SAVE OUTPUT (JOV) πŸ’Ύ
SHAPE GEN (JOV) ✨
SPOUT WRITER (JOV) πŸŽ₯
STACK (JOV) βž•
STEREOGRAM (JOV) πŸ“»
STEREOSCOPIC (JOV) πŸ•ΆοΈ
STREAM READER (JOV) πŸ“Ί
STREAM WRITER (JOV) 🎞️
STRINGER (JOV) πŸͺ€
SWIZZLE (JOV) 😡
TEXT GEN (JOV) πŸ“
THRESHOLD (JOV) πŸ“‰
TICK (JOV) ⏱
TRANSFORM (JOV) 🏝️
VALUE (JOV) 🧬
WAVE GEN (JOV) 🌊

ComfyDeploy: How Jovimetrix Composition Nodes works in ComfyUI?

What is Jovimetrix Composition Nodes?

Webcam, MIDI, Spout and GLSL shader support. Animation via tick. Parameter manipulation with wave generator. Math operations, universal value converstion, shape mask generation, image channel ops, batch splitting/merging/randomizing, load image/video from URL, Dynamic bus routing, support for GIPHY, save output anywhere! flatten, crop, transform; check color blindness, make stereograms or stereoscopic images, and much more.

How to install it in ComfyDeploy?

Head over to the machine page

  1. Click on the "Create a new machine" button
  2. Select the Edit build steps
  3. Add a new step -> Custom Node
  4. Search for Jovimetrix Composition Nodes and select it
  5. Close the build step dialig and then click on the "Save" button to rebuild the machine
<picture> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/Amorano/Jovimetrix-examples/blob/master/res/logo-jovimetrix.png"> <source media="(prefers-color-scheme: light)" srcset="https://github.com/Amorano/Jovimetrix-examples/blob/master/res/logo-jovimetrix-light.png"> <img alt="ComfyUI Nodes for procedural masking, live composition and video manipulation"> </picture> <h2><div align="center"> <a href="https://github.com/comfyanonymous/ComfyUI">COMFYUI</a> Nodes for procedural masking, live composition and video manipulation </div></h2> <h3><div align="center"> JOVIMETRIX IS ONLY GUARANTEED TO SUPPORT <a href="https://github.com/comfyanonymous/ComfyUI">COMFYUI 0.1.3+</a> and <a href="https://github.com/Comfy-Org/ComfyUI_frontend">FRONTEND 1.2.40+</a><br> IF YOU NEED AN OLDER VERSION, PLEASE DO NOT UPDATE. </div></h3> <h2><div align="center">

KNIVES! FORKS!

</div></h2> <!---------------------------------------------------------------------------->

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.

<div align="center">

BE A GITHUB SPONSOR ❀️

DIRECTLY SUPPORT ME VIA PAYPAL

PATREON SUPPORTER

SUPPORT ME ON KO-FI!

</div>

HIGHLIGHTS

  • 30 function BLEND node -- 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 Node provides raw access to Vertex and Fragment shaders
    • Dynamic GLSL dynamically 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 READER node to capture monitor, webcam or url media
  • STREAM WRITER node to export media to a HTTP/HTTPS server for OBS or other 3rd party streaming software
  • SPOUT streaming support WINDOWS ONLY
  • MIDI device read support with MIDI FILTER and MIDI FILTER EZ nodes to drive other node parameters
  • Full Text generation support using installed system fonts
  • Basic parametric shape (Circle, Square, Polygon) generator
  • COLOR BLIND check support
  • COLOR MATCH against existing images or create a custom LUT
  • Generate COLOR THEORY spreads from an existing image
  • COLOR MEANS to generate palettes for existing images to keep other images in the same tonal ranges
  • PIXEL SPLIT separate the channels of an image to manipulate and PIXEL MERGE them back together
  • STACK a series of images into a new single image vertically, horizontally or in a grid
  • Or FLATTEN a batch of images into a single image with each image subsequently added on top (slap comp)
  • VALUE Node has conversion support for all ComfyUI types and some 3rd party types (2DCoords, Mixlab Layers)
  • LERP node to linear interpolate all ComfyUI and Jovimetrix value types
  • Automatic conversion of Mixlab Layer types into Image types
  • Generic ARRAY that can Merge, Split, Select, Slice or Randomize a list of ANY type
  • STRINGER node to perform specific string manipulation operations: Split, Join, Replace, Slice.
  • A QUEUE Node that supports recursing directories, filtering multiple file types and batch loading
  • Use the OP UNARY and OP BINARY nodes to perform single and double type functions across all ComfyUI and Jovimetrix value types
  • Manipulate vectors with the SWIZZLE node to swap their XYZW positions
  • DELAY execution at certain parts in a workflow, with or without a timeout
  • Generate curve data with the TICK and WAVE GEN nodes
  • 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.

<div align="center"> <img src="https://github.com/user-attachments/assets/075f6f9b-b27b-4a6f-84da-a6db486446ff" alt="Clicking Nodes for Help" width="512"/> </div>

NODE COLORS

You can colorize nodes via their title or body. This can be done to the node's category as well, so you can quickly color groups of nodes.

<div align="center"> <img src="https://github.com/user-attachments/assets/8de9561a-b231-4a49-a63a-4fd5fdba64d9" alt="node color panel" width="512"/> </div>

UPDATES

2024/12/30 @1.2.57:

  • fixed composition problem in FLATTEN -- was returning alpha 0 channel
  • better queue filtering
  • removed goofy control hiding in Q nodes -- make better later
  • no pre-load for "video" in Q nodes -- let something else load it

2024/12/29 @1.2.56:

  • added a filter to the top so you can find the nodes easier
  • better "theme" supported highlights for major node packs and their sub-cateogories

2024/12/27 @1.2.55:

  • updated GLSL programs/libs to match new breakout repository
  • explicit requirements loosened
  • PyOpenGL-accelerate allowed for python 3.11 and older

2024/12/12 @1.2.54:

  • reduced convoluted logic for ROUTE node
  • rolled back PILLOW requirement to 10.2.0
  • fixed requirements for opengl-accelerate

2024/12/05 @1.2.53:

  • rolled back pillow requirement to 10.2.0 or above
  • akashic node now sizes and reports correct outputs for all inputs (with labels)
  • NEW VERSION REQUIREMENTS (only guarenteed to work 100% with):
    • ComfyUI 0.3.6 or greater
    • ComfyUI Frontend 1.5.3 or greater

2024/12/04 @1.2.52:

  • vector widget updated to use new events by webfiltered
  • colorpicker updated to pop in place (Chrome only atm) by webfiltered

2024/12/04 @1.2.51:

  • attempt to fix string field length being shrunk AKASHIC node.
  • version up requirements for aiohttp, glfw, matplotlib, mss, pillow, pywin32, scikit-learn

2024/12/03 @1.2.50:

  • parse_param updated for GLSL nodes
  • bug: GLSL nodes were not parsing LIST as an animation LIST
  • removed skip_list mechanism for parameters

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 <code>virtual environment</code> (<code><i>venv</i></code>), make sure it is activated before installation. Then install the requirements with the command:

pip install -r requirements.txt

WHERE TO FIND ME

You can find me on DISCORD.