Suzie1 / ComfyUI_Comfyroll_CustomNodes

Custom nodes for SDXL and SD1.5 including Multi-ControlNet, LoRA, Aspect Ratio, Process Switches, and many more nodes.
https://civitai.com/models/183551/comfyui-comfyroll-custom-nodes
502 stars 68 forks source link

Add CR_ListProduct node #124

Open WeeBull opened 4 months ago

WeeBull commented 4 months ago

This PR creates a node that will take two lists, and run the python function product() on them then unzip the resulting list of tuples into two lists. The purpose is to get two lists which when consumed together go through all the combinations of the two original lists. This is very useful for generating XY-Plots in a single queued job on absolutely anything when used along side the CR_TextList, CR_IntegerRangeList, CR_FloatRangeList & CR_ImageGrid node. The span output gives the X dimension of the plot so that that can drive the max_columns input of the image grid.

An example crossing the checkpoint and CFG

Also fixed a couple of issues.

  1. CR_Textlist had been recently updated to take a loops parameter, but it had no widget. Broke the node, so added the widget.
  2. CR_SelectFont failed with a FileNotFound exception on my system as no truetype directory existed under /usr/share/fonts. Used the standard library glob() function to search for .ttf files from the /usr/share/fonts level instead.
WeeBull commented 4 months ago

Looks like my change to CR_SelectFont is also fixed in #123, #111 and #117, and the loops problem is being discussed in #121 and #116.

Don't care if you take my changes on those or do something better. I was just fixing them for me whilst I was in the code.