added some bulk utility nodes

This commit is contained in:
David
2023-12-10 19:25:45 -08:00
parent 88ca9ae359
commit 8888420431
+121
View File
@@ -195,6 +195,40 @@ class KfConditioningAdd:
return (outv, )
class KfConditioningAddx10:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("CONDITIONING",)
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"cond_0": ("CONDITIONING",{"forceInput": True,}),
},
"optional": {
"cond_1": ("CONDITIONING",{"forceInput": True, "default": 0}),
"cond_2": ("CONDITIONING",{"forceInput": True, "default": 0}),
"cond_3": ("CONDITIONING",{"forceInput": True, "default": 0}),
"cond_4": ("CONDITIONING",{"forceInput": True, "default": 0}),
"cond_5": ("CONDITIONING",{"forceInput": True, "default": 0}),
"cond_6": ("CONDITIONING",{"forceInput": True, "default": 0}),
"cond_7": ("CONDITIONING",{"forceInput": True, "default": 0}),
"cond_8": ("CONDITIONING",{"forceInput": True, "default": 0}),
"cond_9": ("CONDITIONING",{"forceInput": True, "default": 0}),
},
}
def main(self, cond_0, **kwargs):
((cond_t_out, cond_d_out),) = deepcopy(cond_0)
for ((cond_t,cond_d),) in kwargs.values():
cond_t, cond_d = deepcopy(cond_t), deepcopy(cond_d)
cond_t_out = cond_t_out + cond_t
cond_d_out["pooled_output"] = cond_d_out["pooled_output"] + cond_d["pooled_output"]
return [((cond_t_out, cond_d_out),)] #((cond_t_out, cond_d_out),)
# class KfCurveInverse:
# CATEGORY = CATEGORY
# FUNCTION = "main"
@@ -340,6 +374,48 @@ class KfCurvesAdd:
return (curve_1 + curve_2, )
class KfCurvesAddx10:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("KEYFRAMED_CURVE",)
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve_0": ("KEYFRAMED_CURVE",{"forceInput": True,}),
},
"optional": {
"curve_1": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_2": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_3": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_4": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_5": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_6": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_7": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_8": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_9": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
},
}
def main(self, curve_0, curve_1, curve_2, curve_3, curve_4, curve_5, curve_6, curve_7, curve_8, curve_9):
#curve_1 = deepcopy(curve_1)
#curve_2 = deepcopy(curve_2)
#return (curve_1 + curve_2, )
curve_out = (
curve_0 +
curve_1 +
curve_2 +
curve_3 +
curve_4 +
curve_5 +
curve_6 +
curve_7 +
curve_8 +
curve_9)
return (curve_out,)
class KfCurvesSubtract:
CATEGORY = CATEGORY
FUNCTION = "main"
@@ -380,6 +456,48 @@ class KfCurvesMultiply:
return (curve_1 * curve_2, )
class KfCurvesMultiplyx10:
CATEGORY = CATEGORY
FUNCTION = "main"
RETURN_TYPES = ("KEYFRAMED_CURVE",)
@classmethod
def INPUT_TYPES(s):
return {
"required": {
"curve_0": ("KEYFRAMED_CURVE",{"forceInput": True,}),
},
"optional": {
"curve_1": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_2": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_3": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_4": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_5": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_6": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_7": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_8": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
"curve_9": ("KEYFRAMED_CURVE",{"forceInput": True, "default": 0}),
},
}
def main(self, curve_0, curve_1, curve_2, curve_3, curve_4, curve_5, curve_6, curve_7, curve_8, curve_9):
#curve_1 = deepcopy(curve_1)
#curve_2 = deepcopy(curve_2)
#return (curve_1 + curve_2, )
curve_out = (
curve_0 *
curve_1 *
curve_2 *
curve_3 *
curve_4 *
curve_5 *
curve_6 *
curve_7 *
curve_8 *
curve_9)
return (curve_out,)
## This seems to not be working properly. I think the issue is upstream in Keyframed
# TODO: set as experimental?
class KfCurvesDivide:
@@ -481,6 +599,9 @@ NODE_CLASS_MAPPINGS = {
"KfCurvesDivide": KfCurvesDivide,
"KfCurveConstant": KfCurveConstant,
#########################
"KfConditioningAddx10":KfConditioningAddx10,
"KfCurvesAddx10":KfCurvesAddx10,
"KfCurvesMultiplyx10":KfCurvesMultiplyx10,
}