diff --git a/javascript/progressbar.js b/javascript/progressbar.js index 1fcd544c..065f259b 100644 --- a/javascript/progressbar.js +++ b/javascript/progressbar.js @@ -24,15 +24,23 @@ onUiUpdate(function(){ img2img_preview.style.height = img2img_gallery.clientHeight + "px" } - window.setTimeout(requestProgress, 500) + window.setTimeout(requestMoreProgress, 500) }); mutationObserver.observe( progressbar, { childList:true, subtree:true }) } }) -function requestProgress(){ +function requestMoreProgress(){ btn = gradioApp().getElementById("check_progress"); if(btn==null) return; btn.click(); } + +function requestProgress(){ + btn = gradioApp().getElementById("check_progress_initial"); + if(btn==null) return; + + btn.click(); +} + diff --git a/javascript/ui.js b/javascript/ui.js index e649dc6e..c39e96a1 100644 --- a/javascript/ui.js +++ b/javascript/ui.js @@ -37,7 +37,7 @@ function extract_image_from_gallery_extras(gallery){ function submit(){ // this calls a function from progressbar.js - window.setTimeout(requestProgress, 500) + requestProgress() res = [] for(var i=0;i{time.time()}

{progressbar}

", preview_visibility, image +def check_progress_call_initial(): + shared.state.job_count = -1 + + return check_progress_call() + + def roll_artist(prompt): allowed_cats = set([x for x in shared.artist_db.categories() if len(opts.random_artist_categories)==0 or x in opts.random_artist_categories]) artist = random.choice([x for x in shared.artist_db.artists if x.category in allowed_cats]) @@ -303,14 +308,30 @@ def create_toprow(is_img2img): prompt_style_apply = gr.Button('Apply style', elem_id="style_apply") save_style = gr.Button('Create style', elem_id="style_create") - check_progress = gr.Button('Check progress', elem_id="check_progress", visible=False) + return prompt, roll, prompt_style, negative_prompt, prompt_style2, submit, interrogate, prompt_style_apply, save_style - return prompt, roll, prompt_style, negative_prompt, prompt_style2, submit, interrogate, prompt_style_apply, save_style, check_progress + +def setup_progressbar(progressbar, preview): + check_progress = gr.Button('Check progress', elem_id="check_progress", visible=False) + check_progress.click( + fn=check_progress_call, + show_progress=False, + inputs=[], + outputs=[progressbar, preview, preview], + ) + + check_progress_initial = gr.Button('Check progress (first)', elem_id="check_progress_initial", visible=False) + check_progress_initial.click( + fn=check_progress_call_initial, + show_progress=False, + inputs=[], + outputs=[progressbar, preview, preview], + ) def create_ui(txt2img, img2img, run_extras, run_pnginfo): with gr.Blocks(analytics_enabled=False) as txt2img_interface: - txt2img_prompt, roll, txt2img_prompt_style, txt2img_negative_prompt, txt2img_prompt_style2, submit, _, txt2img_prompt_style_apply, txt2img_save_style, check_progress = create_toprow(is_img2img=False) + txt2img_prompt, roll, txt2img_prompt_style, txt2img_negative_prompt, txt2img_prompt_style2, submit, _, txt2img_prompt_style_apply, txt2img_save_style = create_toprow(is_img2img=False) with gr.Row().style(equal_height=False): with gr.Column(variant='panel'): @@ -343,6 +364,8 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo): txt2img_preview = gr.Image(elem_id='txt2img_preview', visible=False) txt2img_gallery = gr.Gallery(label='Output', elem_id='txt2img_gallery').style(grid=4) + setup_progressbar(progressbar, txt2img_preview) + with gr.Group(): with gr.Row(): save = gr.Button('Save') @@ -379,19 +402,13 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo): txt2img_gallery, generation_info, html_info - ] + ], + show_progress=False, ) txt2img_prompt.submit(**txt2img_args) submit.click(**txt2img_args) - check_progress.click( - fn=check_progress_call, - show_progress=False, - inputs=[], - outputs=[progressbar, txt2img_preview, txt2img_preview], - ) - interrupt.click( fn=lambda: shared.state.interrupt(), inputs=[], @@ -424,7 +441,7 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo): ) with gr.Blocks(analytics_enabled=False) as img2img_interface: - img2img_prompt, roll, img2img_prompt_style, img2img_negative_prompt, img2img_prompt_style2, submit, img2img_interrogate, img2img_prompt_style_apply, img2img_save_style, check_progress = create_toprow(is_img2img=True) + img2img_prompt, roll, img2img_prompt_style, img2img_negative_prompt, img2img_prompt_style2, submit, img2img_interrogate, img2img_prompt_style_apply, img2img_save_style = create_toprow(is_img2img=True) with gr.Row().style(equal_height=False): with gr.Column(variant='panel'): @@ -480,6 +497,8 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo): img2img_preview = gr.Image(elem_id='img2img_preview', visible=False) img2img_gallery = gr.Gallery(label='Output', elem_id='img2img_gallery').style(grid=4) + setup_progressbar(progressbar, img2img_preview) + with gr.Group(): with gr.Row(): save = gr.Button('Save') @@ -584,7 +603,8 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo): img2img_gallery, generation_info, html_info - ] + ], + show_progress=False, ) img2img_prompt.submit(**img2img_args) @@ -596,13 +616,6 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo): outputs=[img2img_prompt], ) - check_progress.click( - fn=check_progress_call, - show_progress=False, - inputs=[], - outputs=[progressbar, img2img_preview, img2img_preview], - ) - interrupt.click( fn=lambda: shared.state.interrupt(), inputs=[], @@ -611,7 +624,7 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo): save.click( fn=wrap_gradio_call(save_files), - _js = "(x, y, z) => [x, y, selected_gallery_index()]", + _js="(x, y, z) => [x, y, selected_gallery_index()]", inputs=[ generation_info, img2img_gallery,