diff --git a/__init__.py b/__init__.py index 3fcf641..c71ac4e 100644 --- a/__init__.py +++ b/__init__.py @@ -8,6 +8,7 @@ from .endless_nodes import * NODE_CLASS_MAPPINGS = { "Endless Nodes Six Input Text Switch": EndlessNode_SixTextInputSwitch, + "Endless Nodes Eight Input Text Switch": EndlessNode_EightTextInputSwitch, "Endless Nodes Six Integer IO Switch": EndlessNode_SixIntIOSwitch, "Endless Nodes Six Integer IO Widget": EndlessNode_SixIntIOWidget, "Endless Nodes Parameterizer": EndlessNode_XLParameterizer, diff --git a/changlelog.md b/changlelog.md index 1c119cb..ab7811d 100644 --- a/changlelog.md +++ b/changlelog.md @@ -1,6 +1,7 @@ -Sep 8/23: Version 0.0 - Basic Flow for Six Input Text Switch -Sep 12/23: 0.05 - Added Six Input Number String -Sep 15/23: 0.1 - Added Six Input Number Widget, first release to GitHub -Sep 18/23: 0.12 - Added "Parameterizer", allows for parameters to be added to CLIP Encode (unreleased to GitHub) +Sep 20/23: 0.16 - Added Eight Input Number String +Sep 18/23: 0.15 - Added Combo Parameterizers to reduce number of nodes, allows for common resolution parameters to go to both pos/neg CLIP encode and adds separate pos/neg aesthetic score. Also has a version with pos/neg prompts Sep 18/23: 0.13 - Fixed Typo, added Paramaterizer with Prompt (unreleased to GitHub) -Sep 18/23: 0.15 - Added Combo Parameterizers to reduce number of nodes, allows for common resolution parameters to go to both pos/neg CLIP encode and adds separate pos/neg aesthetic score. Also has a version with pos/neg prompts \ No newline at end of file +Sep 18/23: 0.12 - Added "Parameterizer", allows for parameters to be added to CLIP Encode +Sep 15/23: 0.1 - Added Six Input Number Widget, first release to GitHub +Sep 12/23: 0.05 - Added Six Input Number String +Sep 8/23: Version 0.0 - Basic Flow for Six Input Text Switch \ No newline at end of file diff --git a/endless_nodes.py b/endless_nodes.py index 8c41a4b..5a4fab7 100644 --- a/endless_nodes.py +++ b/endless_nodes.py @@ -5,7 +5,7 @@ @description: A small set of nodes I created for various numerical and text inputs. """ -# Version 0.15 +# Version 0.16 - Add Eight Text Input #-------------------------------------- # Endless Sea of Stars Custom Node Collection #https://github.com/tusharbhutt/Endless-Nodes @@ -60,20 +60,71 @@ class EndlessNode_SixTextInputSwitch: FUNCTION = "six_text_switch" CATEGORY = "Endless" - def six_text_switch(self, Input, text1, text2=None, text3=None, text4=None, text5=None, text6=None): + def six_text_switch(self, Input, text1=None,text2=None,text3=None,text4=None,text5=None,text6=None): if Input == 1: - return (text1, ) + return (text1,) elif Input == 2: - return (text2, ) + return (text2,) elif Input == 3: - return (text3, ) + return (text3,) elif Input == 4: - return (text4, ) + return (text4,) elif Input == 5: - return (text5, ) + return (text5,) else: - return (text6, ) + return (text6,) + +#Eight Text Input Node for selection (needed more slots, what can I say) + + +class EndlessNode_EightTextInputSwitch: + def __init__(self): + pass + + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "Input": ("INT", {"default": 1, "min": 1, "max": 8, "step": 1, "display": "slider"}), +#I like the slider idea, it's better for a touch screen + "text1": ("STRING", {"forceInput": True}), + }, + "optional": { + "text2": ("STRING", {"forceInput": True}), + "text3": ("STRING", {"forceInput": True}), + "text4": ("STRING", {"forceInput": True}), + "text5": ("STRING", {"forceInput": True}), + "text6": ("STRING", {"forceInput": True}), + "text7": ("STRING", {"forceInput": True}), + "text8": ("STRING", {"forceInput": True}), + } + } + + RETURN_TYPES = ("STRING",) + RETURN_NAMES = ("Output",) + + FUNCTION = "eight_text_switch" + CATEGORY = "Endless" + + def eight_text_switch(self,Input,text1=None,text2=None,text3=None,text4=None,text5=None,text6=None,text7=None,text8=None,): + + if Input == 1: + return (text1,) + elif Input == 2: + return (text2,) + elif Input == 3: + return (text3,) + elif Input == 4: + return (text4,) + elif Input == 5: + return (text5,) + elif Input == 6: + return (text6,) + elif Input == 7: + return (text7,) + else: + return (text8,) #-------------------------------------- ##Six Integer Input and Output via connectors diff --git a/readme.md b/readme.md index 9117d8f..7fddfea 100644 --- a/readme.md +++ b/readme.md @@ -5,17 +5,21 @@ When using the [ComfyUI](https://github.com/comfyanonymous/ComfyUI) interface fo Rightly or wrongly, I am pretending to teach myself a bit of Python to get some nodes up and running to do what I'd like. There are no promises that these nodes will work for you or that I will maintain them. Feel free to do with them as you wish, according to the license model. +**UPDATE: Sep 20, 2023** + ++ Added and eight input number switch because I needed it + **UPDATE: Sep 18, 2023** -Added the Endless Nodes Parameterizer with Text_G and Text_L prompt box -Added the Parameterizer with a_score for both pos/neg -Added the Parameterizer with a_score for both pos/neg and Text_G and Text_L prompt box -Fixed some typos ++ Added the Endless Nodes Parameterizer with Text_G and Text_L prompt box ++ Added the Parameterizer with a_score for both pos/neg ++ Added the Parameterizer with a_score for both pos/neg and Text_G and Text_L prompt box ++ Fixed some typos **UPDATE: Sep 17, 2023** -Added the Endless Nodes Parameterizer ++ Added the Endless Nodes Parameterizer ## Install @@ -36,12 +40,15 @@ Allows the user to select between six text inputs and uses a slider to make the ![sixtext](./img/sixtext.png) +**NOT SHOWN: There is an eight input variant now too, as of Sep 20, 2023** ### Six Integer Input to Six Integer Output -I've seen a fair number of 3-, 4-, or more way text input and outputs, I wanted to do something for numbers as well. Use it as you wish. +I've seen a fair number of 3-, 4-, or more X-way text input and outputs, I wanted to do something for numbers as well. Use it as you wish. + ![sixintconnect](./img/sixintconnect.png) + ### Six Integer Widget As above, but with widgets for entry instead of connectors