From ec5adf5f62ccceb413453aec07e6d2f4ff485416 Mon Sep 17 00:00:00 2001 From: kijai Date: Fri, 27 Oct 2023 16:17:01 +0300 Subject: [PATCH] Update nodes.py --- nodes.py | 128 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 104 insertions(+), 24 deletions(-) diff --git a/nodes.py b/nodes.py index 2c87f90..2d1b626 100644 --- a/nodes.py +++ b/nodes.py @@ -500,7 +500,8 @@ class ConditioningSetMaskAndCombine: "negative_2": ("CONDITIONING", ), "mask_1": ("MASK", ), "mask_2": ("MASK", ), - "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "mask_1_strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "mask_2_strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), "set_cond_area": (["default", "mask bounds"],), } } @@ -510,7 +511,7 @@ class ConditioningSetMaskAndCombine: FUNCTION = "append" CATEGORY = "KJNodes" - def append(self, positive_1, negative_1, positive_2, negative_2, mask_1, mask_2, set_cond_area, strength): + def append(self, positive_1, negative_1, positive_2, negative_2, mask_1, mask_2, set_cond_area, mask_1_strength, mask_2_strength): c = [] c2 = [] set_area_to_bounds = False @@ -521,13 +522,13 @@ class ConditioningSetMaskAndCombine: if len(mask_2.shape) < 3: mask_2 = mask_2.unsqueeze(0) for t in positive_1: - append_helper(t, mask_1, c, set_area_to_bounds, strength) + append_helper(t, mask_1, c, set_area_to_bounds, mask_1_strength) for t in positive_2: - append_helper(t, mask_2, c, set_area_to_bounds, strength) + append_helper(t, mask_2, c, set_area_to_bounds, mask_2_strength) for t in negative_1: - append_helper(t, mask_1, c2, set_area_to_bounds, strength) + append_helper(t, mask_1, c2, set_area_to_bounds, mask_1_strength) for t in negative_2: - append_helper(t, mask_2, c2, set_area_to_bounds, strength) + append_helper(t, mask_2, c2, set_area_to_bounds, mask_2_strength) return (c, c2) class ConditioningSetMaskAndCombine3: @@ -544,7 +545,9 @@ class ConditioningSetMaskAndCombine3: "mask_1": ("MASK", ), "mask_2": ("MASK", ), "mask_3": ("MASK", ), - "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "mask_1_strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "mask_2_strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "mask_3_strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), "set_cond_area": (["default", "mask bounds"],), } } @@ -554,7 +557,7 @@ class ConditioningSetMaskAndCombine3: FUNCTION = "append" CATEGORY = "KJNodes" - def append(self, positive_1, negative_1, positive_2, positive_3, negative_2, negative_3, mask_1, mask_2, mask_3, set_cond_area, strength): + def append(self, positive_1, negative_1, positive_2, positive_3, negative_2, negative_3, mask_1, mask_2, mask_3, set_cond_area, mask_1_strength, mask_2_strength, mask_3_strength): c = [] c2 = [] set_area_to_bounds = False @@ -567,17 +570,17 @@ class ConditioningSetMaskAndCombine3: if len(mask_3.shape) < 3: mask_3 = mask_3.unsqueeze(0) for t in positive_1: - append_helper(t, mask_1, c, set_area_to_bounds, strength) + append_helper(t, mask_1, c, set_area_to_bounds, mask_1_strength) for t in positive_2: - append_helper(t, mask_2, c, set_area_to_bounds, strength) + append_helper(t, mask_2, c, set_area_to_bounds, mask_2_strength) for t in positive_3: - append_helper(t, mask_3, c, set_area_to_bounds, strength) + append_helper(t, mask_3, c, set_area_to_bounds, mask_3_strength) for t in negative_1: - append_helper(t, mask_1, c2, set_area_to_bounds, strength) + append_helper(t, mask_1, c2, set_area_to_bounds, mask_1_strength) for t in negative_2: - append_helper(t, mask_2, c2, set_area_to_bounds, strength) + append_helper(t, mask_2, c2, set_area_to_bounds, mask_2_strength) for t in negative_3: - append_helper(t, mask_3, c2, set_area_to_bounds, strength) + append_helper(t, mask_3, c2, set_area_to_bounds, mask_3_strength) return (c, c2) class ConditioningSetMaskAndCombine4: @@ -597,7 +600,10 @@ class ConditioningSetMaskAndCombine4: "mask_2": ("MASK", ), "mask_3": ("MASK", ), "mask_4": ("MASK", ), - "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "mask_1_strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "mask_2_strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "mask_3_strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "mask_4_strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), "set_cond_area": (["default", "mask bounds"],), } } @@ -607,7 +613,7 @@ class ConditioningSetMaskAndCombine4: FUNCTION = "append" CATEGORY = "KJNodes" - def append(self, positive_1, negative_1, positive_2, positive_3, positive_4, negative_2, negative_3, negative_4, mask_1, mask_2, mask_3, mask_4, set_cond_area, strength): + def append(self, positive_1, negative_1, positive_2, positive_3, positive_4, negative_2, negative_3, negative_4, mask_1, mask_2, mask_3, mask_4, set_cond_area, mask_1_strength, mask_2_strength, mask_3_strength, mask_4_strength): c = [] c2 = [] set_area_to_bounds = False @@ -622,21 +628,93 @@ class ConditioningSetMaskAndCombine4: if len(mask_4.shape) < 3: mask_4 = mask_4.unsqueeze(0) for t in positive_1: - append_helper(t, mask_1, c, set_area_to_bounds, strength) + append_helper(t, mask_1, c, set_area_to_bounds, mask_1_strength) for t in positive_2: - append_helper(t, mask_2, c, set_area_to_bounds, strength) + append_helper(t, mask_2, c, set_area_to_bounds, mask_2_strength) for t in positive_3: - append_helper(t, mask_3, c, set_area_to_bounds, strength) + append_helper(t, mask_3, c, set_area_to_bounds, mask_3_strength) for t in positive_4: - append_helper(t, mask_4, c, set_area_to_bounds, strength) + append_helper(t, mask_4, c, set_area_to_bounds, mask_4_strength) for t in negative_1: - append_helper(t, mask_1, c2, set_area_to_bounds, strength) + append_helper(t, mask_1, c2, set_area_to_bounds, mask_1_strength) for t in negative_2: - append_helper(t, mask_2, c2, set_area_to_bounds, strength) + append_helper(t, mask_2, c2, set_area_to_bounds, mask_2_strength) for t in negative_3: - append_helper(t, mask_3, c2, set_area_to_bounds, strength) + append_helper(t, mask_3, c2, set_area_to_bounds, mask_3_strength) for t in negative_4: - append_helper(t, mask_4, c2, set_area_to_bounds, strength) + append_helper(t, mask_4, c2, set_area_to_bounds, mask_4_strength) + return (c, c2) + +class ConditioningSetMaskAndCombine5: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "positive_1": ("CONDITIONING", ), + "negative_1": ("CONDITIONING", ), + "positive_2": ("CONDITIONING", ), + "negative_2": ("CONDITIONING", ), + "positive_3": ("CONDITIONING", ), + "negative_3": ("CONDITIONING", ), + "positive_4": ("CONDITIONING", ), + "negative_4": ("CONDITIONING", ), + "positive_5": ("CONDITIONING", ), + "negative_5": ("CONDITIONING", ), + "mask_1": ("MASK", ), + "mask_2": ("MASK", ), + "mask_3": ("MASK", ), + "mask_4": ("MASK", ), + "mask_5": ("MASK", ), + "mask_1_strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "mask_2_strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "mask_3_strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "mask_4_strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "mask_5_strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "set_cond_area": (["default", "mask bounds"],), + } + } + + RETURN_TYPES = ("CONDITIONING","CONDITIONING",) + RETURN_NAMES = ("combined_positive", "combined_negative",) + FUNCTION = "append" + CATEGORY = "KJNodes" + + def append(self, positive_1, negative_1, positive_2, positive_3, positive_4, positive_5, negative_2, negative_3, negative_4, negative_5, mask_1, mask_2, mask_3, mask_4, mask_5, set_cond_area, mask_1_strength, mask_2_strength, mask_3_strength, mask_4_strength, mask_5_strength): + c = [] + c2 = [] + set_area_to_bounds = False + if set_cond_area != "default": + set_area_to_bounds = True + if len(mask_1.shape) < 3: + mask_1 = mask_1.unsqueeze(0) + if len(mask_2.shape) < 3: + mask_2 = mask_2.unsqueeze(0) + if len(mask_3.shape) < 3: + mask_3 = mask_3.unsqueeze(0) + if len(mask_4.shape) < 3: + mask_4 = mask_4.unsqueeze(0) + if len(mask_5.shape) < 3: + mask_5 = mask_5.unsqueeze(0) + for t in positive_1: + append_helper(t, mask_1, c, set_area_to_bounds, mask_1_strength) + for t in positive_2: + append_helper(t, mask_2, c, set_area_to_bounds, mask_2_strength) + for t in positive_3: + append_helper(t, mask_3, c, set_area_to_bounds, mask_3_strength) + for t in positive_4: + append_helper(t, mask_4, c, set_area_to_bounds, mask_4_strength) + for t in positive_5: + append_helper(t, mask_5, c, set_area_to_bounds, mask_5_strength) + for t in negative_1: + append_helper(t, mask_1, c2, set_area_to_bounds, mask_1_strength) + for t in negative_2: + append_helper(t, mask_2, c2, set_area_to_bounds, mask_2_strength) + for t in negative_3: + append_helper(t, mask_3, c2, set_area_to_bounds, mask_3_strength) + for t in negative_4: + append_helper(t, mask_4, c2, set_area_to_bounds, mask_4_strength) + for t in negative_5: + append_helper(t, mask_5, c2, set_area_to_bounds, mask_5_strength) return (c, c2) class VRAM_Debug: @@ -677,6 +755,7 @@ NODE_CLASS_MAPPINGS = { "ConditioningSetMaskAndCombine": ConditioningSetMaskAndCombine, "ConditioningSetMaskAndCombine3": ConditioningSetMaskAndCombine3, "ConditioningSetMaskAndCombine4": ConditioningSetMaskAndCombine4, + "ConditioningSetMaskAndCombine5": ConditioningSetMaskAndCombine5, "GrowMaskWithBlur": GrowMaskWithBlur, "ColorToMask": ColorToMask, "CreateGradientMask": CreateGradientMask, @@ -692,6 +771,7 @@ NODE_DISPLAY_NAME_MAPPINGS = { "ConditioningSetMaskAndCombine": "ConditioningSetMaskAndCombine", "ConditioningSetMaskAndCombine3": "ConditioningSetMaskAndCombine3", "ConditioningSetMaskAndCombine4": "ConditioningSetMaskAndCombine4", + "ConditioningSetMaskAndCombine5": "ConditioningSetMaskAndCombine5", "GrowMaskWithBlur": "GrowMaskWithBlur", "ColorToMask": "ColorToMask", "CreateGradientMask": "CreateGradientMask",