Add element ids for script components and a few more in ui.py
This commit is contained in:
parent
bc43293c64
commit
5851bc839b
10 changed files with 63 additions and 46 deletions
|
@ -560,7 +560,7 @@ Requested path was: {f}
|
||||||
generation_info = None
|
generation_info = None
|
||||||
with gr.Column():
|
with gr.Column():
|
||||||
with gr.Row(elem_id=f"image_buttons_{tabname}"):
|
with gr.Row(elem_id=f"image_buttons_{tabname}"):
|
||||||
open_folder_button = gr.Button(folder_symbol, elem_id="hidden_element" if shared.cmd_opts.hide_ui_dir_config else 'open_folder')
|
open_folder_button = gr.Button(folder_symbol, elem_id="hidden_element" if shared.cmd_opts.hide_ui_dir_config else f'open_folder_{tabname}')
|
||||||
|
|
||||||
if tabname != "extras":
|
if tabname != "extras":
|
||||||
save = gr.Button('Save', elem_id=f'save_{tabname}')
|
save = gr.Button('Save', elem_id=f'save_{tabname}')
|
||||||
|
@ -576,13 +576,13 @@ Requested path was: {f}
|
||||||
|
|
||||||
if tabname != "extras":
|
if tabname != "extras":
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
download_files = gr.File(None, file_count="multiple", interactive=False, show_label=False, visible=False)
|
download_files = gr.File(None, file_count="multiple", interactive=False, show_label=False, visible=False, elem_id=f'download_files_{tabname}')
|
||||||
|
|
||||||
with gr.Group():
|
with gr.Group():
|
||||||
html_info = gr.HTML()
|
html_info = gr.HTML(elem_id=f'html_info_{tabname}')
|
||||||
html_log = gr.HTML()
|
html_log = gr.HTML(elem_id=f'html_log_{tabname}')
|
||||||
|
|
||||||
generation_info = gr.Textbox(visible=False)
|
generation_info = gr.Textbox(visible=False, elem_id=f'generation_info_{tabname}')
|
||||||
if tabname == 'txt2img' or tabname == 'img2img':
|
if tabname == 'txt2img' or tabname == 'img2img':
|
||||||
generation_info_button = gr.Button(visible=False, elem_id=f"{tabname}_generation_info_button")
|
generation_info_button = gr.Button(visible=False, elem_id=f"{tabname}_generation_info_button")
|
||||||
generation_info_button.click(
|
generation_info_button.click(
|
||||||
|
@ -624,9 +624,9 @@ Requested path was: {f}
|
||||||
)
|
)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
html_info_x = gr.HTML()
|
html_info_x = gr.HTML(elem_id=f'html_info_x_{tabname}')
|
||||||
html_info = gr.HTML()
|
html_info = gr.HTML(elem_id=f'html_info_{tabname}')
|
||||||
html_log = gr.HTML()
|
html_log = gr.HTML(elem_id=f'html_log_{tabname}')
|
||||||
|
|
||||||
parameters_copypaste.bind_buttons(buttons, result_gallery, "txt2img" if tabname == "txt2img" else None)
|
parameters_copypaste.bind_buttons(buttons, result_gallery, "txt2img" if tabname == "txt2img" else None)
|
||||||
return result_gallery, generation_info if tabname != "extras" else html_info_x, html_info, html_log
|
return result_gallery, generation_info if tabname != "extras" else html_info_x, html_info, html_log
|
||||||
|
|
|
@ -14,7 +14,9 @@ class Script(scripts.Script):
|
||||||
return cmd_opts.allow_code
|
return cmd_opts.allow_code
|
||||||
|
|
||||||
def ui(self, is_img2img):
|
def ui(self, is_img2img):
|
||||||
code = gr.Textbox(label="Python code", lines=1)
|
elem_prefix = ('i2i' if is_img2img else 't2i') + '_script_custom_code_'
|
||||||
|
|
||||||
|
code = gr.Textbox(label="Python code", lines=1, elem_id=elem_prefix + "code")
|
||||||
|
|
||||||
return [code]
|
return [code]
|
||||||
|
|
||||||
|
|
|
@ -126,24 +126,26 @@ class Script(scripts.Script):
|
||||||
return is_img2img
|
return is_img2img
|
||||||
|
|
||||||
def ui(self, is_img2img):
|
def ui(self, is_img2img):
|
||||||
|
elem_prefix = ('i2i' if is_img2img else 't2i') + '_script_i2i_alternative_test_'
|
||||||
|
|
||||||
info = gr.Markdown('''
|
info = gr.Markdown('''
|
||||||
* `CFG Scale` should be 2 or lower.
|
* `CFG Scale` should be 2 or lower.
|
||||||
''')
|
''')
|
||||||
|
|
||||||
override_sampler = gr.Checkbox(label="Override `Sampling method` to Euler?(this method is built for it)", value=True)
|
override_sampler = gr.Checkbox(label="Override `Sampling method` to Euler?(this method is built for it)", value=True, elem_id=elem_prefix + "override_sampler")
|
||||||
|
|
||||||
override_prompt = gr.Checkbox(label="Override `prompt` to the same value as `original prompt`?(and `negative prompt`)", value=True)
|
override_prompt = gr.Checkbox(label="Override `prompt` to the same value as `original prompt`?(and `negative prompt`)", value=True, elem_id=elem_prefix + "override_prompt")
|
||||||
original_prompt = gr.Textbox(label="Original prompt", lines=1)
|
original_prompt = gr.Textbox(label="Original prompt", lines=1, elem_id=elem_prefix + "original_prompt")
|
||||||
original_negative_prompt = gr.Textbox(label="Original negative prompt", lines=1)
|
original_negative_prompt = gr.Textbox(label="Original negative prompt", lines=1, elem_id=elem_prefix + "original_negative_prompt")
|
||||||
|
|
||||||
override_steps = gr.Checkbox(label="Override `Sampling Steps` to the same value as `Decode steps`?", value=True)
|
override_steps = gr.Checkbox(label="Override `Sampling Steps` to the same value as `Decode steps`?", value=True, elem_id=elem_prefix + "override_steps")
|
||||||
st = gr.Slider(label="Decode steps", minimum=1, maximum=150, step=1, value=50)
|
st = gr.Slider(label="Decode steps", minimum=1, maximum=150, step=1, value=50, elem_id=elem_prefix + "st")
|
||||||
|
|
||||||
override_strength = gr.Checkbox(label="Override `Denoising strength` to 1?", value=True)
|
override_strength = gr.Checkbox(label="Override `Denoising strength` to 1?", value=True, elem_id=elem_prefix + "override_strength")
|
||||||
|
|
||||||
cfg = gr.Slider(label="Decode CFG scale", minimum=0.0, maximum=15.0, step=0.1, value=1.0)
|
cfg = gr.Slider(label="Decode CFG scale", minimum=0.0, maximum=15.0, step=0.1, value=1.0, elem_id=elem_prefix + "cfg")
|
||||||
randomness = gr.Slider(label="Randomness", minimum=0.0, maximum=1.0, step=0.01, value=0.0)
|
randomness = gr.Slider(label="Randomness", minimum=0.0, maximum=1.0, step=0.01, value=0.0, elem_id=elem_prefix + "randomness")
|
||||||
sigma_adjustment = gr.Checkbox(label="Sigma adjustment for finding noise for image", value=False)
|
sigma_adjustment = gr.Checkbox(label="Sigma adjustment for finding noise for image", value=False, elem_id=elem_prefix + "sigma_adjustment")
|
||||||
|
|
||||||
return [
|
return [
|
||||||
info,
|
info,
|
||||||
|
|
|
@ -17,8 +17,10 @@ class Script(scripts.Script):
|
||||||
return is_img2img
|
return is_img2img
|
||||||
|
|
||||||
def ui(self, is_img2img):
|
def ui(self, is_img2img):
|
||||||
loops = gr.Slider(minimum=1, maximum=32, step=1, label='Loops', value=4)
|
elem_prefix = ('i2i' if is_img2img else 't2i') + '_script_loopback_'
|
||||||
denoising_strength_change_factor = gr.Slider(minimum=0.9, maximum=1.1, step=0.01, label='Denoising strength change factor', value=1)
|
|
||||||
|
loops = gr.Slider(minimum=1, maximum=32, step=1, label='Loops', value=4, elem_id=elem_prefix + "loops")
|
||||||
|
denoising_strength_change_factor = gr.Slider(minimum=0.9, maximum=1.1, step=0.01, label='Denoising strength change factor', value=1, elem_id=elem_prefix + "denoising_strength_change_factor")
|
||||||
|
|
||||||
return [loops, denoising_strength_change_factor]
|
return [loops, denoising_strength_change_factor]
|
||||||
|
|
||||||
|
|
|
@ -129,13 +129,15 @@ class Script(scripts.Script):
|
||||||
if not is_img2img:
|
if not is_img2img:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
elem_prefix = ('i2i' if is_img2img else 't2i') + '_script_outpainting_mk_2_'
|
||||||
|
|
||||||
info = gr.HTML("<p style=\"margin-bottom:0.75em\">Recommended settings: Sampling Steps: 80-100, Sampler: Euler a, Denoising strength: 0.8</p>")
|
info = gr.HTML("<p style=\"margin-bottom:0.75em\">Recommended settings: Sampling Steps: 80-100, Sampler: Euler a, Denoising strength: 0.8</p>")
|
||||||
|
|
||||||
pixels = gr.Slider(label="Pixels to expand", minimum=8, maximum=256, step=8, value=128)
|
pixels = gr.Slider(label="Pixels to expand", minimum=8, maximum=256, step=8, value=128, elem_id=elem_prefix + "pixels")
|
||||||
mask_blur = gr.Slider(label='Mask blur', minimum=0, maximum=64, step=1, value=8)
|
mask_blur = gr.Slider(label='Mask blur', minimum=0, maximum=64, step=1, value=8, elem_id=elem_prefix + "mask_blur")
|
||||||
direction = gr.CheckboxGroup(label="Outpainting direction", choices=['left', 'right', 'up', 'down'], value=['left', 'right', 'up', 'down'])
|
direction = gr.CheckboxGroup(label="Outpainting direction", choices=['left', 'right', 'up', 'down'], value=['left', 'right', 'up', 'down'], elem_id=elem_prefix + "direction")
|
||||||
noise_q = gr.Slider(label="Fall-off exponent (lower=higher detail)", minimum=0.0, maximum=4.0, step=0.01, value=1.0)
|
noise_q = gr.Slider(label="Fall-off exponent (lower=higher detail)", minimum=0.0, maximum=4.0, step=0.01, value=1.0, elem_id=elem_prefix + "noise_q")
|
||||||
color_variation = gr.Slider(label="Color variation", minimum=0.0, maximum=1.0, step=0.01, value=0.05)
|
color_variation = gr.Slider(label="Color variation", minimum=0.0, maximum=1.0, step=0.01, value=0.05, elem_id=elem_prefix + "color_variation")
|
||||||
|
|
||||||
return [info, pixels, mask_blur, direction, noise_q, color_variation]
|
return [info, pixels, mask_blur, direction, noise_q, color_variation]
|
||||||
|
|
||||||
|
|
|
@ -21,10 +21,12 @@ class Script(scripts.Script):
|
||||||
if not is_img2img:
|
if not is_img2img:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
pixels = gr.Slider(label="Pixels to expand", minimum=8, maximum=256, step=8, value=128)
|
elem_prefix = ('i2i' if is_img2img else 't2i') + '_script_poor_mans_outpainting_'
|
||||||
mask_blur = gr.Slider(label='Mask blur', minimum=0, maximum=64, step=1, value=4)
|
|
||||||
inpainting_fill = gr.Radio(label='Masked content', choices=['fill', 'original', 'latent noise', 'latent nothing'], value='fill', type="index")
|
pixels = gr.Slider(label="Pixels to expand", minimum=8, maximum=256, step=8, value=128, elem_id=elem_prefix + "pixels")
|
||||||
direction = gr.CheckboxGroup(label="Outpainting direction", choices=['left', 'right', 'up', 'down'], value=['left', 'right', 'up', 'down'])
|
mask_blur = gr.Slider(label='Mask blur', minimum=0, maximum=64, step=1, value=4, elem_id=elem_prefix + "mask_blur")
|
||||||
|
inpainting_fill = gr.Radio(label='Masked content', choices=['fill', 'original', 'latent noise', 'latent nothing'], value='fill', type="index", elem_id=elem_prefix + "inpainting_fill")
|
||||||
|
direction = gr.CheckboxGroup(label="Outpainting direction", choices=['left', 'right', 'up', 'down'], value=['left', 'right', 'up', 'down'], elem_id=elem_prefix + "direction")
|
||||||
|
|
||||||
return [pixels, mask_blur, inpainting_fill, direction]
|
return [pixels, mask_blur, inpainting_fill, direction]
|
||||||
|
|
||||||
|
|
|
@ -45,8 +45,10 @@ class Script(scripts.Script):
|
||||||
return "Prompt matrix"
|
return "Prompt matrix"
|
||||||
|
|
||||||
def ui(self, is_img2img):
|
def ui(self, is_img2img):
|
||||||
put_at_start = gr.Checkbox(label='Put variable parts at start of prompt', value=False)
|
elem_prefix = ('i2i' if is_img2img else 't2i') + '_script_prompt_matrix_'
|
||||||
different_seeds = gr.Checkbox(label='Use different seed for each picture', value=False)
|
|
||||||
|
put_at_start = gr.Checkbox(label='Put variable parts at start of prompt', value=False, elem_id=elem_prefix + "put_at_start")
|
||||||
|
different_seeds = gr.Checkbox(label='Use different seed for each picture', value=False, elem_id=elem_prefix + "different_seeds")
|
||||||
|
|
||||||
return [put_at_start, different_seeds]
|
return [put_at_start, different_seeds]
|
||||||
|
|
||||||
|
|
|
@ -112,11 +112,13 @@ class Script(scripts.Script):
|
||||||
return "Prompts from file or textbox"
|
return "Prompts from file or textbox"
|
||||||
|
|
||||||
def ui(self, is_img2img):
|
def ui(self, is_img2img):
|
||||||
checkbox_iterate = gr.Checkbox(label="Iterate seed every line", value=False)
|
elem_prefix = ('i2i' if is_img2img else 't2i') + '_script_prompt_from_file_'
|
||||||
checkbox_iterate_batch = gr.Checkbox(label="Use same random seed for all lines", value=False)
|
|
||||||
|
|
||||||
prompt_txt = gr.Textbox(label="List of prompt inputs", lines=1)
|
checkbox_iterate = gr.Checkbox(label="Iterate seed every line", value=False, elem_id=elem_prefix + "checkbox_iterate")
|
||||||
file = gr.File(label="Upload prompt inputs", type='bytes')
|
checkbox_iterate_batch = gr.Checkbox(label="Use same random seed for all lines", value=False, elem_id=elem_prefix + "checkbox_iterate_batch")
|
||||||
|
|
||||||
|
prompt_txt = gr.Textbox(label="List of prompt inputs", lines=1, elem_id=elem_prefix + "prompt_txt")
|
||||||
|
file = gr.File(label="Upload prompt inputs", type='bytes', elem_id=elem_prefix + "file")
|
||||||
|
|
||||||
file.change(fn=load_prompt_file, inputs=[file], outputs=[file, prompt_txt, prompt_txt])
|
file.change(fn=load_prompt_file, inputs=[file], outputs=[file, prompt_txt, prompt_txt])
|
||||||
|
|
||||||
|
|
|
@ -17,10 +17,12 @@ class Script(scripts.Script):
|
||||||
return is_img2img
|
return is_img2img
|
||||||
|
|
||||||
def ui(self, is_img2img):
|
def ui(self, is_img2img):
|
||||||
|
elem_prefix = ('i2i' if is_img2img else 't2i') + '_script_sd_upscale_'
|
||||||
|
|
||||||
info = gr.HTML("<p style=\"margin-bottom:0.75em\">Will upscale the image by the selected scale factor; use width and height sliders to set tile size</p>")
|
info = gr.HTML("<p style=\"margin-bottom:0.75em\">Will upscale the image by the selected scale factor; use width and height sliders to set tile size</p>")
|
||||||
overlap = gr.Slider(minimum=0, maximum=256, step=16, label='Tile overlap', value=64)
|
overlap = gr.Slider(minimum=0, maximum=256, step=16, label='Tile overlap', value=64, elem_id=elem_prefix + "overlap")
|
||||||
scale_factor = gr.Slider(minimum=1.0, maximum=4.0, step=0.05, label='Scale Factor', value=2.0)
|
scale_factor = gr.Slider(minimum=1.0, maximum=4.0, step=0.05, label='Scale Factor', value=2.0, elem_id=elem_prefix + "scale_factor")
|
||||||
upscaler_index = gr.Radio(label='Upscaler', choices=[x.name for x in shared.sd_upscalers], value=shared.sd_upscalers[0].name, type="index")
|
upscaler_index = gr.Radio(label='Upscaler', choices=[x.name for x in shared.sd_upscalers], value=shared.sd_upscalers[0].name, type="index", elem_id=elem_prefix + "upscaler_index")
|
||||||
|
|
||||||
return [info, overlap, upscaler_index, scale_factor]
|
return [info, overlap, upscaler_index, scale_factor]
|
||||||
|
|
||||||
|
|
|
@ -292,18 +292,19 @@ class Script(scripts.Script):
|
||||||
|
|
||||||
def ui(self, is_img2img):
|
def ui(self, is_img2img):
|
||||||
current_axis_options = [x for x in axis_options if type(x) == AxisOption or type(x) == AxisOptionImg2Img and is_img2img]
|
current_axis_options = [x for x in axis_options if type(x) == AxisOption or type(x) == AxisOptionImg2Img and is_img2img]
|
||||||
|
elem_prefix = ('i2i' if is_img2img else 't2i') + '_script_xy_grid_'
|
||||||
|
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
x_type = gr.Dropdown(label="X type", choices=[x.label for x in current_axis_options], value=current_axis_options[1].label, type="index", elem_id="x_type")
|
x_type = gr.Dropdown(label="X type", choices=[x.label for x in current_axis_options], value=current_axis_options[1].label, type="index", elem_id=elem_prefix + "x_type")
|
||||||
x_values = gr.Textbox(label="X values", lines=1)
|
x_values = gr.Textbox(label="X values", lines=1, elem_id=elem_prefix + "x_values")
|
||||||
|
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
y_type = gr.Dropdown(label="Y type", choices=[x.label for x in current_axis_options], value=current_axis_options[0].label, type="index", elem_id="y_type")
|
y_type = gr.Dropdown(label="Y type", choices=[x.label for x in current_axis_options], value=current_axis_options[0].label, type="index", elem_id=elem_prefix + "y_type")
|
||||||
y_values = gr.Textbox(label="Y values", lines=1)
|
y_values = gr.Textbox(label="Y values", lines=1, elem_id=elem_prefix + "y_values")
|
||||||
|
|
||||||
draw_legend = gr.Checkbox(label='Draw legend', value=True)
|
draw_legend = gr.Checkbox(label='Draw legend', value=True, elem_id=elem_prefix + "draw_legend")
|
||||||
include_lone_images = gr.Checkbox(label='Include Separate Images', value=False)
|
include_lone_images = gr.Checkbox(label='Include Separate Images', value=False, elem_id=elem_prefix + "include_lone_images")
|
||||||
no_fixed_seeds = gr.Checkbox(label='Keep -1 for seeds', value=False)
|
no_fixed_seeds = gr.Checkbox(label='Keep -1 for seeds', value=False, elem_id=elem_prefix + "no_fixed_seeds")
|
||||||
|
|
||||||
return [x_type, x_values, y_type, y_values, draw_legend, include_lone_images, no_fixed_seeds]
|
return [x_type, x_values, y_type, y_values, draw_legend, include_lone_images, no_fixed_seeds]
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue