mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-02-10 21:42:37 +08:00
Add additional accumulation nodes
Most of the work is thanks to @PGadoury in this PR: https://github.com/guill/ComfyUI/pull/1 I've just made some minor modifications.
This commit is contained in:
parent
95c8e22fae
commit
dbb5a3122a
@ -110,16 +110,84 @@ class ListToAccumulationNode:
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
RETURN_TYPES = ("*",)
|
RETURN_TYPES = ("ACCUMULATION",)
|
||||||
INPUT_IS_LIST = (True,)
|
INPUT_IS_LIST = (True,)
|
||||||
|
|
||||||
FUNCTION = "list_to_accumulation"
|
FUNCTION = "list_to_accumulation"
|
||||||
|
|
||||||
CATEGORY = "InversionDemo Nodes/Lists"
|
CATEGORY = "InversionDemo Nodes/Lists"
|
||||||
|
|
||||||
def accumulation_to_list(self, list):
|
def list_to_accumulation(self, list):
|
||||||
return ({"accum": list},)
|
return ({"accum": list},)
|
||||||
|
|
||||||
|
class AccumulationGetLengthNode:
|
||||||
|
def __init__(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def INPUT_TYPES(cls):
|
||||||
|
return {
|
||||||
|
"required": {
|
||||||
|
"accumulation": ("ACCUMULATION",),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
RETURN_TYPES = ("INT",)
|
||||||
|
|
||||||
|
FUNCTION = "accumlength"
|
||||||
|
|
||||||
|
CATEGORY = "InversionDemo Nodes/Lists"
|
||||||
|
|
||||||
|
def accumlength(self, accumulation):
|
||||||
|
return (len(accumulation['accum']),)
|
||||||
|
|
||||||
|
class AccumulationGetItemNode:
|
||||||
|
def __init__(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def INPUT_TYPES(cls):
|
||||||
|
return {
|
||||||
|
"required": {
|
||||||
|
"accumulation": ("ACCUMULATION",),
|
||||||
|
"index": ("INT", {"default":0, "step":1})
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
RETURN_TYPES = ("*",)
|
||||||
|
|
||||||
|
FUNCTION = "get_item"
|
||||||
|
|
||||||
|
CATEGORY = "InversionDemo Nodes/Lists"
|
||||||
|
|
||||||
|
def get_item(self, accumulation, index):
|
||||||
|
return (accumulation['accum'][index],)
|
||||||
|
|
||||||
|
class AccumulationSetItemNode:
|
||||||
|
def __init__(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def INPUT_TYPES(cls):
|
||||||
|
return {
|
||||||
|
"required": {
|
||||||
|
"accumulation": ("ACCUMULATION",),
|
||||||
|
"index": ("INT", {"default":0, "step":1}),
|
||||||
|
"value": ("*",),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
RETURN_TYPES = ("ACCUMULATION",)
|
||||||
|
|
||||||
|
FUNCTION = "set_item"
|
||||||
|
|
||||||
|
CATEGORY = "InversionDemo Nodes/Lists"
|
||||||
|
|
||||||
|
def set_item(self, accumulation, index, value):
|
||||||
|
new_accum = accumulation['accum'][:]
|
||||||
|
new_accum[index] = value
|
||||||
|
return ({"accum": new_accum},)
|
||||||
|
|
||||||
class IntMathOperation:
|
class IntMathOperation:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
pass
|
pass
|
||||||
@ -312,6 +380,9 @@ UTILITY_NODE_CLASS_MAPPINGS = {
|
|||||||
"AccumulationTailNode": AccumulationTailNode,
|
"AccumulationTailNode": AccumulationTailNode,
|
||||||
"AccumulationToListNode": AccumulationToListNode,
|
"AccumulationToListNode": AccumulationToListNode,
|
||||||
"ListToAccumulationNode": ListToAccumulationNode,
|
"ListToAccumulationNode": ListToAccumulationNode,
|
||||||
|
"AccumulationGetLengthNode": AccumulationGetLengthNode,
|
||||||
|
"AccumulationGetItemNode": AccumulationGetItemNode,
|
||||||
|
"AccumulationSetItemNode": AccumulationSetItemNode,
|
||||||
"ForLoopOpen": ForLoopOpen,
|
"ForLoopOpen": ForLoopOpen,
|
||||||
"ForLoopClose": ForLoopClose,
|
"ForLoopClose": ForLoopClose,
|
||||||
"IntMathOperation": IntMathOperation,
|
"IntMathOperation": IntMathOperation,
|
||||||
@ -324,6 +395,9 @@ UTILITY_NODE_DISPLAY_NAME_MAPPINGS = {
|
|||||||
"AccumulationTailNode": "Accumulation Tail",
|
"AccumulationTailNode": "Accumulation Tail",
|
||||||
"AccumulationToListNode": "Accumulation to List",
|
"AccumulationToListNode": "Accumulation to List",
|
||||||
"ListToAccumulationNode": "List to Accumulation",
|
"ListToAccumulationNode": "List to Accumulation",
|
||||||
|
"AccumulationGetLengthNode": "Accumulation Get Length",
|
||||||
|
"AccumulationGetItemNode": "Accumulation Get Item",
|
||||||
|
"AccumulationSetItemNode": "Accumulation Set Item",
|
||||||
"ForLoopOpen": "For Loop Open",
|
"ForLoopOpen": "For Loop Open",
|
||||||
"ForLoopClose": "For Loop Close",
|
"ForLoopClose": "For Loop Close",
|
||||||
"IntMathOperation": "Int Math Operation",
|
"IntMathOperation": "Int Math Operation",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user