Unverified Commit 01a1fee8 authored by AUTOMATIC1111's avatar AUTOMATIC1111 Committed by GitHub
Browse files

Merge pull request #6329 from Kryptortio/add_even_more_element_ids

Add additional elem_id/HTML ids (again)
parents 42fcc79b f185baeb
Loading
Loading
Loading
Loading
+8 −8
Original line number Diff line number Diff line
@@ -560,7 +560,7 @@ Requested path was: {f}
            generation_info = None
            with gr.Column():
                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":
                        save = gr.Button('Save', elem_id=f'save_{tabname}')
@@ -576,13 +576,13 @@ Requested path was: {f}

                if tabname != "extras":
                    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():
                        html_info = gr.HTML()
                        html_log = gr.HTML()
                        html_info = gr.HTML(elem_id=f'html_info_{tabname}')
                        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':
                            generation_info_button = gr.Button(visible=False, elem_id=f"{tabname}_generation_info_button")
                            generation_info_button.click(
@@ -624,9 +624,9 @@ Requested path was: {f}
                        )

                else:
                    html_info_x = gr.HTML()
                    html_info = gr.HTML()
                    html_log = gr.HTML()
                    html_info_x = gr.HTML(elem_id=f'html_info_x_{tabname}')
                    html_info = gr.HTML(elem_id=f'html_info_{tabname}')
                    html_log = gr.HTML(elem_id=f'html_log_{tabname}')

                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
+6 −1
Original line number Diff line number Diff line
@@ -3,18 +3,23 @@ import gradio as gr

from modules.processing import Processed
from modules.shared import opts, cmd_opts, state
import re

class Script(scripts.Script):

    def title(self):
        return "Custom code"

    def elem_id(self, item_id):
        gen_elem_id = ('img2img' if self.is_img2img else 'txt2txt') + '_script_' + re.sub(r'\s', '_', self.title().lower()) + '_' + item_id
        gen_elem_id = re.sub(r'[^a-z_0-9]', '', gen_elem_id)
        return gen_elem_id

    def show(self, is_img2img):
        return cmd_opts.allow_code

    def ui(self, is_img2img):
        code = gr.Textbox(label="Python code", lines=1)
        code = gr.Textbox(label="Python code", lines=1, elem_id=self.elem_id("code"))

        return [code]

+17 −11
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ import k_diffusion as K
from PIL import Image
from torch import autocast
from einops import rearrange, repeat
import re


def find_noise_for_image(p, cond, uncond, cfg_scale, steps):
@@ -122,6 +123,11 @@ class Script(scripts.Script):
    def title(self):
        return "img2img alternative test"

    def elem_id(self, item_id):
        gen_elem_id = ('img2img' if self.is_img2img else 'txt2txt') + '_script_' + re.sub(r'\s', '_', self.title().lower()) + '_' + item_id
        gen_elem_id = re.sub(r'[^a-z_0-9]', '', gen_elem_id)
        return gen_elem_id

    def show(self, is_img2img):
        return is_img2img

@@ -130,20 +136,20 @@ class Script(scripts.Script):
        * `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=self.elem_id("override_sampler"))

        override_prompt = gr.Checkbox(label="Override `prompt` to the same value as `original prompt`?(and `negative prompt`)", value=True)
        original_prompt = gr.Textbox(label="Original prompt", lines=1)
        original_negative_prompt = gr.Textbox(label="Original negative prompt", lines=1)
        override_prompt = gr.Checkbox(label="Override `prompt` to the same value as `original prompt`?(and `negative prompt`)", value=True, elem_id=self.elem_id("override_prompt"))
        original_prompt = gr.Textbox(label="Original prompt", lines=1, elem_id=self.elem_id("original_prompt"))
        original_negative_prompt = gr.Textbox(label="Original negative prompt", lines=1, elem_id=self.elem_id("original_negative_prompt"))

        override_steps = gr.Checkbox(label="Override `Sampling Steps` to the same value as `Decode steps`?", value=True)
        st = gr.Slider(label="Decode steps", minimum=1, maximum=150, step=1, value=50)
        override_steps = gr.Checkbox(label="Override `Sampling Steps` to the same value as `Decode steps`?", value=True, elem_id=self.elem_id("override_steps"))
        st = gr.Slider(label="Decode steps", minimum=1, maximum=150, step=1, value=50, elem_id=self.elem_id("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=self.elem_id("override_strength"))

        cfg = gr.Slider(label="Decode CFG scale", minimum=0.0, maximum=15.0, step=0.1, value=1.0)
        randomness = gr.Slider(label="Randomness", minimum=0.0, maximum=1.0, step=0.01, value=0.0)
        sigma_adjustment = gr.Checkbox(label="Sigma adjustment for finding noise for image", value=False)
        cfg = gr.Slider(label="Decode CFG scale", minimum=0.0, maximum=15.0, step=0.1, value=1.0, elem_id=self.elem_id("cfg"))
        randomness = gr.Slider(label="Randomness", minimum=0.0, maximum=1.0, step=0.01, value=0.0, elem_id=self.elem_id("randomness"))
        sigma_adjustment = gr.Checkbox(label="Sigma adjustment for finding noise for image", value=False, elem_id=self.elem_id("sigma_adjustment"))

        return [
            info, 
+10 −3
Original line number Diff line number Diff line
@@ -8,17 +8,24 @@ from modules import processing, shared, sd_samplers, images
from modules.processing import Processed
from modules.sd_samplers import samplers
from modules.shared import opts, cmd_opts, state
import re


class Script(scripts.Script):
    def title(self):
        return "Loopback"

    def elem_id(self, item_id):
        gen_elem_id = ('img2img' if self.is_img2img else 'txt2txt') + '_script_' + re.sub(r'\s', '_', self.title().lower()) + '_' + item_id
        gen_elem_id = re.sub(r'[^a-z_0-9]', '', gen_elem_id)
        return gen_elem_id

    def show(self, is_img2img):
        return is_img2img

    def ui(self, is_img2img):        
        loops = gr.Slider(minimum=1, maximum=32, step=1, label='Loops', value=4)
        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=self.elem_id("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=self.elem_id("denoising_strength_change_factor"))

        return [loops, denoising_strength_change_factor]

+11 −5
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ from PIL import Image, ImageDraw
from modules import images, processing, devices
from modules.processing import Processed, process_images
from modules.shared import opts, cmd_opts, state
import re


# this function is taken from https://github.com/parlance-zz/g-diffuser-bot
@@ -122,6 +123,11 @@ class Script(scripts.Script):
    def title(self):
        return "Outpainting mk2"

    def elem_id(self, item_id):
        gen_elem_id = ('img2img' if self.is_img2img else 'txt2txt') + '_script_' + re.sub(r'\s', '_', self.title().lower()) + '_' + item_id
        gen_elem_id = re.sub(r'[^a-z_0-9]', '', gen_elem_id)
        return gen_elem_id

    def show(self, is_img2img):
        return is_img2img

@@ -131,11 +137,11 @@ class Script(scripts.Script):

        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)
        mask_blur = gr.Slider(label='Mask blur', minimum=0, maximum=64, step=1, value=8)
        direction = gr.CheckboxGroup(label="Outpainting direction", choices=['left', 'right', 'up', 'down'], value=['left', 'right', 'up', 'down'])
        noise_q = gr.Slider(label="Fall-off exponent (lower=higher detail)", minimum=0.0, maximum=4.0, step=0.01, value=1.0)
        color_variation = gr.Slider(label="Color variation", minimum=0.0, maximum=1.0, step=0.01, value=0.05)
        pixels = gr.Slider(label="Pixels to expand", minimum=8, maximum=256, step=8, value=128, elem_id=self.elem_id("pixels"))
        mask_blur = gr.Slider(label='Mask blur', minimum=0, maximum=64, step=1, value=8, elem_id=self.elem_id("mask_blur"))
        direction = gr.CheckboxGroup(label="Outpainting direction", choices=['left', 'right', 'up', 'down'], value=['left', 'right', 'up', 'down'], elem_id=self.elem_id("direction"))
        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=self.elem_id("noise_q"))
        color_variation = gr.Slider(label="Color variation", minimum=0.0, maximum=1.0, step=0.01, value=0.05, elem_id=self.elem_id("color_variation"))

        return [info, pixels, mask_blur, direction, noise_q, color_variation]

Loading