aboutsummaryrefslogtreecommitdiff
path: root/modules/script_callbacks.py
diff options
context:
space:
mode:
authordiscus0434 <discus0434@gmail.com>2022-10-22 11:14:46 +0000
committerdiscus0434 <discus0434@gmail.com>2022-10-22 11:14:46 +0000
commitdcb45dfecfd0d7f2c268343d8a83fd33c276345b (patch)
tree001c8ebf9e0c7af692ae1237142206f568ff6903 /modules/script_callbacks.py
parent0e8ca8e7af05be22d7d2c07a47c3c7febe0f0ab6 (diff)
parent50b5504401e50b6c94eba41b37fe212b2f27b792 (diff)
Merge branch 'master' of upstream
Diffstat (limited to 'modules/script_callbacks.py')
-rw-r--r--modules/script_callbacks.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/modules/script_callbacks.py b/modules/script_callbacks.py
new file mode 100644
index 00000000..866b7acd
--- /dev/null
+++ b/modules/script_callbacks.py
@@ -0,0 +1,42 @@
+
+callbacks_model_loaded = []
+callbacks_ui_tabs = []
+
+
+def clear_callbacks():
+ callbacks_model_loaded.clear()
+ callbacks_ui_tabs.clear()
+
+
+def model_loaded_callback(sd_model):
+ for callback in callbacks_model_loaded:
+ callback(sd_model)
+
+
+def ui_tabs_callback():
+ res = []
+
+ for callback in callbacks_ui_tabs:
+ res += callback() or []
+
+ return res
+
+
+def on_model_loaded(callback):
+ """register a function to be called when the stable diffusion model is created; the model is
+ passed as an argument"""
+ callbacks_model_loaded.append(callback)
+
+
+def on_ui_tabs(callback):
+ """register a function to be called when the UI is creating new tabs.
+ The function must either return a None, which means no new tabs to be added, or a list, where
+ each element is a tuple:
+ (gradio_component, title, elem_id)
+
+ gradio_component is a gradio component to be used for contents of the tab (usually gr.Blocks)
+ title is tab text displayed to user in the UI
+ elem_id is HTML id for the tab
+ """
+ callbacks_ui_tabs.append(callback)
+