- Se reimplementó `LoadVideoWithSourceAudio` para envolver adecuadamente `VHS_LoadVideo`, añadiendo la directiva de UI "video_upload", y métodos para la verificación de cambios (IS_CHANGED, VALIDATE_INPUTS) mientras se conserva el widget de UI. - Se ha expuesto explícitamente `INPUT_IS_LIST = False` en `IncrementalVideoStitcher` para forzar el tratamiento de imágenes como tensores puros. - El passthrough de audio en `IncrementalVideoStitcher` ya funciona correctamente de forma predeterminada sin cambios adicionales. - Se agregó el nuevo alias de nodo en `__init__.py` para su registro en ComfyUI.
31 lines
1.2 KiB
Python
31 lines
1.2 KiB
Python
__version__ = "1.0.0" # Subimos a versión 1.0 ya que es una arquitectura nueva
|
|
|
|
NODE_CLASS_MAPPINGS = {}
|
|
NODE_DISPLAY_NAME_MAPPINGS = {}
|
|
|
|
def register_node(c, display_name=None):
|
|
assert not isinstance(c.RETURN_TYPES, str), "Error: string found instead of tuple."
|
|
assert not isinstance(c.RETURN_NAMES, str), "Error: string found instead of tuple."
|
|
NODE_CLASS_MAPPINGS[c.__name__] = c
|
|
NODE_DISPLAY_NAME_MAPPINGS[c.__name__] = display_name or c.__name__
|
|
return c
|
|
|
|
from . import image, loop, video
|
|
|
|
# Display name mappings with emojis
|
|
NODE_DISPLAY_NAME_MAPPINGS.update({
|
|
# Image (Memoria de Sesión)
|
|
"SessionImageReceiver": "📥 Session Image Receiver",
|
|
"SessionImageSender": "📤 Session Image Sender",
|
|
|
|
# Video (Ensamblaje y Validación)
|
|
"IncrementalVideoStitcher": "🎞️ Incremental Auto-Stitcher",
|
|
"LoadVideoWithSourceAudio": "🎥 Load Video + Source Audio",
|
|
"WanFrameValidator": "🛡️ Wan Frame Validator",
|
|
|
|
# Loop (Orquestación Autónoma)
|
|
"SequentialLoopStart": "🏁 Loop Start (Index)",
|
|
"SequentialLoopTrigger": "🚀 Loop Trigger (Auto-Queue)",
|
|
})
|
|
|
|
__all__ = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAME_MAPPINGS'] |