Output nodes save their id in metadata:
- nodes can access their unique IDs - output nodes like SaveImage, SaveAudio, Preview... etc. utilize this to serialize ID in the metadata
This commit is contained in:
parent
3c60ecd7a8
commit
e0c5a8778a
|
@ -121,6 +121,7 @@ def insert_or_replace_vorbis_comment(flac_io, comment_dict):
|
|||
|
||||
class SaveAudio:
|
||||
def __init__(self):
|
||||
self.id: str
|
||||
self.output_dir = folder_paths.get_output_directory()
|
||||
self.type = "output"
|
||||
self.prefix_append = ""
|
||||
|
@ -151,6 +152,7 @@ class SaveAudio:
|
|||
if extra_pnginfo is not None:
|
||||
for x in extra_pnginfo:
|
||||
metadata[x] = json.dumps(extra_pnginfo[x])
|
||||
metadata["output_node_id"] = self.id
|
||||
|
||||
for (batch_number, waveform) in enumerate(audio["waveform"].cpu()):
|
||||
filename_with_batch_num = filename.replace("%batch_num%", str(batch_number))
|
||||
|
|
|
@ -287,6 +287,7 @@ def execute(server, dynprompt, caches, current_item, extra_data, executed, promp
|
|||
obj = caches.objects.get(unique_id)
|
||||
if obj is None:
|
||||
obj = class_def()
|
||||
obj.id = unique_id
|
||||
caches.objects.set(unique_id, obj)
|
||||
|
||||
if hasattr(obj, "check_lazy_status"):
|
||||
|
|
2
nodes.py
2
nodes.py
|
@ -1472,6 +1472,7 @@ class KSamplerAdvanced:
|
|||
|
||||
class SaveImage:
|
||||
def __init__(self):
|
||||
self.id: str
|
||||
self.output_dir = folder_paths.get_output_directory()
|
||||
self.type = "output"
|
||||
self.prefix_append = ""
|
||||
|
@ -1512,6 +1513,7 @@ class SaveImage:
|
|||
if extra_pnginfo is not None:
|
||||
for x in extra_pnginfo:
|
||||
metadata.add_text(x, json.dumps(extra_pnginfo[x]))
|
||||
metadata.add_text("output_node_id", self.id)
|
||||
|
||||
filename_with_batch_num = filename.replace("%batch_num%", str(batch_number))
|
||||
file = f"{filename_with_batch_num}_{counter:05}_.png"
|
||||
|
|
Loading…
Reference in New Issue