Comments (19)
Oh it just a minor bug as it's related to how I implemented input/output expand stuff. It kinda annoying but hopefully easy to fix when I have time.
from comfyui-0246.
I also patched the code the bit, so make sure to update, otherwise the general workflow should works.
Currently Hub
only support batch primitive data, not COMBO
. I may plan to add BATCH support for COMBO probably.
Forgot to mentions the workflow is in the png.
from comfyui-0246.
Hm that looks weird. Maybe I could a look when I have time.
from comfyui-0246.
I think these are the new connections.
from comfyui-0246.
Oh I thought that we are talking about the first one. Maybe Jorge can try again. Yeah the one JLK mentions is the correct connection.
from comfyui-0246.
I've made a [ sampler x scheduler ] version of this workflow, with different hubs.
But when I load the workflow, the 2 hubs that use __BATCH_COMBO__
are allways disconnected.
Is this a bug, or am I doing something wrong ?
from comfyui-0246.
Actually with the recent Script
node you can create multiple batches then execute using cycle
mode from the ScriptPlan
which will iterate through every possible permutation ;)
Even better Hub
node can directly create batch without going through JunctionBatch
.
from comfyui-0246.
I haven't quite figured out these nodes yet, I'll be experimenting with them. There is not much information on how they work yet
from comfyui-0246.
Just pushed another update to support COMBO. I guess I should stop "small fixes" for now.
from comfyui-0246.
@Trung0246 can you update your workflow here ?
When in run the queue, I've got this error:
Error occurred when executing 0246.Script:
list index out of range
File "C:\Cui\cu_121_2\ComfyUI_windows_portable\ComfyUI\execution.py", line 141, in recursive_execute
input_data_all = get_input_data(inputs, class_def, unique_id, outputs, prompt, extra_data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Cui\cu_121_2\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-0246\utils.py", line 381, in new_func
res_value = old_func(*final_args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Cui\cu_121_2\ComfyUI_windows_portable\ComfyUI\execution.py", line 26, in get_input_data
obj = outputs[input_unique_id][output_index]
~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
from comfyui-0246.
Yes, it's working !
Just noticed, in the workflow image, that the [ script_excet_data ] output used to be in another node ...
from comfyui-0246.
I can replicate the noodles being detached on load.
Same from
- The PNG you posted
- A PNG workflow I exported after connecting
- The metadata saved in the PNG output of an image generated
- The workflow.json save
from comfyui-0246.
I was trying to make a version of the first workflow, with the Junction Batch nodes.
But I can't make new connections.
And if I unplug the old ones, they stop working !
For example, if I unplug this Junction Bach node from the Merge node, when I plug it again, the "COMBO" designation is gone, from the output and input connections.
There is only an [ * ] and the workflow is broken.
But if I connect from the Junction Bach node above, which still has the "COMBO" designation in the output, the connection is successful ( see bottom image ).
Is this a bug, or is there another way to make new connections ?
from comfyui-0246.
Using the CastReroute node, I'm able to create new output connections for "FLOAT" and "INT", in the Junction Bach node
Once I have the correct designation on the Junction Bach output, I can delete the CastReroute node.
But there is no option for "COMBO" in the CastReroute node ...
from comfyui-0246.
The problem is COMBO did not actually exist internally but instead it is an array of string which decay to just a single STRING when processed. So that a weird quirk I'm unsure about when I implementing CastReroute and Hub, therefore I decided to leave it as it is. The problem is we wants to retain COMBO type (which is the case for Hub) to make it possible to connect to nodes that are actually expecting that type. Your best bet is convert COMBO to STRING before actually connecting to JunctionBatch then recast to *
when connect to node that expecting COMBO.
All of this are why CastReroute exist in the first place, which is a tradeoff for being absurdly flexible.
from comfyui-0246.
I'm able to change the output to STRING in the Junction Batch nodes.
But it does not work with STRING or [ * ].
It only works with COMBO.
I'm only able to use the 8 nodes that @bananasss00 connected in his workflow, which already have the output connections as COMBO.
If I copy and paste these nodes or if I save them as a template, the connections are changed back to [ * ].
If there was a special trick to make this connection, he would probably have explained how to do this, when he shared his workflow, in the first post.
Perhaps there is not a trick, and this was working correctly when he made the workflow.
I noticed that in his workflow image, the Merge nodes had an option called "same".
This option does not exist anymore.
Maybe this was broken when this option was changed ?
from comfyui-0246.
I guess at one time I added COMBO to CastReroute but later deleted it since it's pointless. Probably have to take a look on how to handle this. Also weird I remembered wildcard *
works for anything including COMBO.
Also copy-paste is also iffy so that another bug to the list but honestly I think reverting to *
is expected behavior since the type resolving mechanism doesn't have a concrete input/output type to rely on.
Yeah same
no longer exist. It is now flat
probably. This is irrelevant btw.
from comfyui-0246.
I did find a trick to do this !
We can use other nodes with COMBO inputs instead of CastReroute.
When a Primitive it's connected to them, the connection output is turned in to COMBO.
And the same happens if we connect the JunctionBatch node, instead.
You could try to add COMBO to CastReroute again, because it's a more elegant solution.
There is a single unconnected CastReroute node ( set to INT ), the worflow from @bananasss00, but I guess he used this for all the connections types.
But, if you can make the [ * ] connections work correctly, it would be even better, because then we could copy / paste your nodes, and use them as templates.
Now, if the connection is [ * ], it gives this error:
Error occurred when executing 0246.JunctionBatch:
Type "*" of output "*:0" does not available in junction.
File "C:\Cui\cu_121_2\ComfyUI_windows_portable\ComfyUI\execution.py", line 151, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Cui\cu_121_2\ComfyUI_windows_portable\ComfyUI\execution.py", line 81, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Cui\cu_121_2\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-0246\utils.py", line 381, in new_func
res_value = old_func(*final_args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Cui\cu_121_2\ComfyUI_windows_portable\ComfyUI\execution.py", line 65, in map_node_over_list
results.append(getattr(obj, func)(**input_data_all))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Cui\cu_121_2\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-0246\nodes.py", line 1296, in execute
return junction_impl(self, _id, _prompt, _workflow, gather_junction_impl(_junc_in, _id), _offset, _in_mode = True, _out_mode = True, _offset_mode = True, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Cui\cu_121_2\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-0246\nodes.py", line 220, in junction_impl
raise Exception(f"Type \"{elem['type']}\" of output \"{elem['name']}\" does not available in junction.")
from comfyui-0246.
I also noticed that in some cases the *
seems to be able to replace COMBO, successfully.
Here I'm connecting a Merge node and Anything Everywhere? node.
The connection is named *
, and the AE? node is able to broadcast the data, to the Highway Bach node.
from comfyui-0246.
Related Issues (20)
- Uncaught TypeError: Cannot read properties of undefined (reading 'extra') HOT 3
- Error only when piping through Merge node. HOT 2
- .gitignore __pycache__ HOT 1
- I think the junction node has (OR HAD) a cache problem HOT 3
- Is it possible to pass the output of junction to a reroute node (Ideally from rgthree)? HOT 2
- Cannot connect anything to Highway nodes. HOT 1
- [REQUEST] Documentation/Tips on using the Looping Functions HOT 6
- Errror occurs when highway nodes are present HOT 6
- [BUG?] STRING widgets stick on screen HOT 3
- Multiline widget textboxes stick on screen HOT 2
- Got “\nodes.py", line 1405, in execute if Hold.HOLD_DB[_key_id]["mode"] == "save":” HOT 8
- Tutorials for the cloud node please :) HOT 2
- Some other custom nodes being incompatible HOT 14
- UnicodeEncodeError: 'gbk' codec can't encode character '\ufe0f' in position 15: illegal multibyte sequence HOT 1
- What does it mean "documentation can be shown directly in the UI if rgthree is installed" HOT 1
- [ Feature ] Add option to hide the Hub controls. HOT 1
- [FEATURE] Random Float Node
- Changing the input slot names, on the switch node, gives error HOT 2
- How to use LOOP and HOLD nodes to recursively add overlapping layers to base image? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from comfyui-0246.