|
|
@ -102,6 +102,34 @@ class ConditioningAverage :
|
|
|
|
out.append(n)
|
|
|
|
out.append(n)
|
|
|
|
return (out, )
|
|
|
|
return (out, )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class ConditioningConcat:
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
|
|
|
|
def INPUT_TYPES(s):
|
|
|
|
|
|
|
|
return {"required": {
|
|
|
|
|
|
|
|
"conditioning_to": ("CONDITIONING",),
|
|
|
|
|
|
|
|
"conditioning_from": ("CONDITIONING",),
|
|
|
|
|
|
|
|
}}
|
|
|
|
|
|
|
|
RETURN_TYPES = ("CONDITIONING",)
|
|
|
|
|
|
|
|
FUNCTION = "concat"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CATEGORY = "advanced/conditioning"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def concat(self, conditioning_to, conditioning_from):
|
|
|
|
|
|
|
|
out = []
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if len(conditioning_from) > 1:
|
|
|
|
|
|
|
|
print("Warning: ConditioningConcat conditioning_from contains more than 1 cond, only the first one will actually be applied to conditioning_to.")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
cond_from = conditioning_from[0][0]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for i in range(len(conditioning_to)):
|
|
|
|
|
|
|
|
t1 = conditioning_to[i][0]
|
|
|
|
|
|
|
|
tw = torch.cat((t1, cond_from),1)
|
|
|
|
|
|
|
|
n = [tw, conditioning_to[i][1].copy()]
|
|
|
|
|
|
|
|
out.append(n)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return (out, )
|
|
|
|
|
|
|
|
|
|
|
|
class ConditioningSetArea:
|
|
|
|
class ConditioningSetArea:
|
|
|
|
@classmethod
|
|
|
|
@classmethod
|
|
|
|
def INPUT_TYPES(s):
|
|
|
|
def INPUT_TYPES(s):
|
|
|
@ -1409,6 +1437,7 @@ NODE_CLASS_MAPPINGS = {
|
|
|
|
"SaveLatent": SaveLatent,
|
|
|
|
"SaveLatent": SaveLatent,
|
|
|
|
|
|
|
|
|
|
|
|
"ConditioningZeroOut": ConditioningZeroOut,
|
|
|
|
"ConditioningZeroOut": ConditioningZeroOut,
|
|
|
|
|
|
|
|
"ConditioningConcat": ConditioningConcat,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
NODE_DISPLAY_NAME_MAPPINGS = {
|
|
|
|
NODE_DISPLAY_NAME_MAPPINGS = {
|
|
|
|