register batch and multi input in unit

This commit is contained in:
lllyasviel 2024-02-04 20:49:40 -08:00
parent 858bfc7a32
commit a433268db4
2 changed files with 30 additions and 26 deletions

View File

@ -586,6 +586,8 @@ class ControlNetUiGroup(object):
unit_args = (
self.input_mode,
self.use_preview_as_input,
self.batch_image_dir,
self.merge_gallery,
self.generated_image,
self.mask_image,
self.enabled,
@ -1054,32 +1056,32 @@ class ControlNetUiGroup(object):
)
def register_multi_images_upload(self):
# """Register callbacks on merge tab multiple images upload."""
# self.merge_clear_button.click(
# fn=lambda: [],
# inputs=[],
# outputs=[self.merge_gallery],
# ).then(
# fn=lambda x: gr.update(value=x + 1),
# inputs=[self.update_unit_counter],
# outputs=[self.update_unit_counter],
# )
#
# def upload_file(files, current_files):
# return {file_d["name"] for file_d in current_files} | {
# file.name for file in files
# }
#
# self.merge_upload_button.upload(
# upload_file,
# inputs=[self.merge_upload_button, self.merge_gallery],
# outputs=[self.merge_gallery],
# queue=False,
# ).then(
# fn=lambda x: gr.update(value=x + 1),
# inputs=[self.update_unit_counter],
# outputs=[self.update_unit_counter],
# )
"""Register callbacks on merge tab multiple images upload."""
self.merge_clear_button.click(
fn=lambda: [],
inputs=[],
outputs=[self.merge_gallery],
).then(
fn=lambda x: gr.update(value=x + 1),
inputs=[self.update_unit_counter],
outputs=[self.update_unit_counter],
)
def upload_file(files, current_files):
return {file_d["name"] for file_d in current_files} | {
file.name for file in files
}
self.merge_upload_button.upload(
upload_file,
inputs=[self.merge_upload_button, self.merge_gallery],
outputs=[self.merge_gallery],
queue=False,
).then(
fn=lambda x: gr.update(value=x + 1),
inputs=[self.update_unit_counter],
outputs=[self.update_unit_counter],
)
return
def register_core_callbacks(self):

View File

@ -150,6 +150,8 @@ InputImage = Union[Dict[str, InputImage], Tuple[InputImage, InputImage], InputIm
class UiControlNetUnit:
input_mode: InputMode = InputMode.SIMPLE
use_preview_as_input: bool = False,
batch_image_dir: str = '',
merge_gallery: list = [],
generated_image: Optional[np.ndarray] = None,
mask_image: Optional[np.ndarray] = None,
enabled: bool = True