@ -51,6 +51,11 @@ class UiTrainTabParams:
self . txt2img_preview_params = txt2img_preview_params
self . txt2img_preview_params = txt2img_preview_params
class ImageGridLoopParams :
def __init__ ( self , img ) :
self . img = img
ScriptCallback = namedtuple ( " ScriptCallback " , [ " script " , " callback " ] )
ScriptCallback = namedtuple ( " ScriptCallback " , [ " script " , " callback " ] )
callback_map = dict (
callback_map = dict (
callbacks_app_started = [ ] ,
callbacks_app_started = [ ] ,
@ -63,6 +68,7 @@ callback_map = dict(
callbacks_cfg_denoiser = [ ] ,
callbacks_cfg_denoiser = [ ] ,
callbacks_before_component = [ ] ,
callbacks_before_component = [ ] ,
callbacks_after_component = [ ] ,
callbacks_after_component = [ ] ,
callbacks_image_grid_loop = [ ] ,
)
)
@ -154,6 +160,12 @@ def after_component_callback(component, **kwargs):
except Exception :
except Exception :
report_exception ( c , ' after_component_callback ' )
report_exception ( c , ' after_component_callback ' )
def image_grid_loop_callback ( component , * * kwargs ) :
for c in callback_map [ ' callbacks_image_grid_loop ' ] :
try :
c . callback ( component , * * kwargs )
except Exception :
report_exception ( c , ' image_grid_loop ' )
def add_callback ( callbacks , fun ) :
def add_callback ( callbacks , fun ) :
stack = [ x for x in inspect . stack ( ) if x . filename != __file__ ]
stack = [ x for x in inspect . stack ( ) if x . filename != __file__ ]
@ -255,3 +267,11 @@ def on_before_component(callback):
def on_after_component ( callback ) :
def on_after_component ( callback ) :
""" register a function to be called after a component is created. See on_before_component for more. """
""" register a function to be called after a component is created. See on_before_component for more. """
add_callback ( callback_map [ ' callbacks_after_component ' ] , callback )
add_callback ( callback_map [ ' callbacks_after_component ' ] , callback )
def on_image_grid_loop ( callback ) :
""" register a function to be called inside the image grid loop.
The callback is called with one argument :
- params : ImageGridLoopParams - parameters to be used inside the image grid loop .
"""
add_callback ( callback_map [ ' callbacks_image_grid_loop ' ] , callback )