diff --git a/readme.md b/readme.md index 3b66c15..b6b9950 100644 --- a/readme.md +++ b/readme.md @@ -69,4 +69,4 @@ To install the extension go to 'Extensions' tab in [Automatic1111 web-ui](https: * Added an option to save resulting frames into a folder alongside the video. * Added ability to export current parameters in a human readable form as a json. * Interpolation mode in the flow-applying stage is set to ‘nearest’ to reduce overtime image blurring. - +* Added ControlNet to txt2vid mode as well as fixing #86 issue, thanks to [@mariaWitch](https://github.com/mariaWitch) diff --git a/scripts/base_ui.py b/scripts/base_ui.py index 0608f4f..b51b5ee 100644 --- a/scripts/base_ui.py +++ b/scripts/base_ui.py @@ -114,7 +114,8 @@ def inputs_ui(): with gr.Row(): t2v_length = gr.Slider(label='Length (in frames)', minimum=10, maximum=2048, step=10, value=40, interactive=True) t2v_fps = gr.Slider(label='Video FPS', minimum=4, maximum=64, step=4, value=12, interactive=True) - with FormRow(elem_id="txt2vid_override_settings_row") as row: + + with FormRow(elem_id="txt2vid_override_settings_row") as row: t2v_override_settings = create_override_settings_dropdown("txt2vid", row) with FormGroup(elem_id=f"script_container"): @@ -229,7 +230,11 @@ def on_ui_tabs(): components['glo_save_frames_check'] = save_frames_check # Define parameters for the action methods. - method_inputs = [components[name] for name in utils.get_component_names()] + components['v2v_custom_inputs'] + utils.shared.v2v_custom_inputs_size = len(components['v2v_custom_inputs']) + utils.shared.t2v_custom_inputs_size = len(components['t2v_custom_inputs']) + #print('v2v_custom_inputs', len(components['v2v_custom_inputs']), components['v2v_custom_inputs']) + #print('t2v_custom_inputs', len(components['t2v_custom_inputs']), components['t2v_custom_inputs']) + method_inputs = [components[name] for name in utils.get_component_names()] + components['v2v_custom_inputs'] + components['t2v_custom_inputs'] method_outputs = [ sp_progress, diff --git a/scripts/core/utils.py b/scripts/core/utils.py index 2a95d34..c44420b 100644 --- a/scripts/core/utils.py +++ b/scripts/core/utils.py @@ -1,5 +1,7 @@ class shared: is_interrupted = False + v2v_custom_inputs_size = 0 + t2v_custom_inputs_size = 0 def get_component_names(): components_list = [ @@ -97,13 +99,16 @@ def args_to_dict(*args): # converts list of argumets into dictionary for better args = list(args) for i in range(len(args_list)): - if (args[i] is None) and (args_list[i] in args_dict): - args[i] = args_dict[args_list[i]] - else: - args_dict[args_list[i]] = args[i] + if (args[i] is None) and (args_list[i] in args_dict): + #args[i] = args_dict[args_list[i]] + pass + else: + args_dict[args_list[i]] = args[i] - args_dict['v2v_script_inputs'] = args[len(args_list):] - args_dict['t2v_script_inputs'] = args[len(args_list):] #do it for both + args_dict['v2v_script_inputs'] = args[len(args_list):len(args_list)+shared.v2v_custom_inputs_size] + #print('v2v_script_inputs', args_dict['v2v_script_inputs']) + args_dict['t2v_script_inputs'] = args[len(args_list)+shared.v2v_custom_inputs_size:] + #print('t2v_script_inputs', args_dict['t2v_script_inputs']) return args_dict def get_mode_args(mode, args_dict):