mirror of
				https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
				synced 2025-11-03 19:44:27 +00:00 
			
		
		
		
	make live preview display work independently from progress bar
This commit is contained in:
		
							parent
							
								
									499cef3c2b
								
							
						
					
					
						commit
						a0d721e109
					
				@ -93,8 +93,8 @@ function requestProgress(id_task, progressbarContainer, gallery, atEnd, onProgre
 | 
			
		||||
        atEnd();
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    var fun = function(id_task, id_live_preview) {
 | 
			
		||||
        request("./internal/progress", {id_task: id_task, id_live_preview: id_live_preview}, function(res) {
 | 
			
		||||
    var funProgress = function(id_task) {
 | 
			
		||||
        request("./internal/progress", {id_task: id_task, live_preview: false}, function(res) {
 | 
			
		||||
            if (res.completed) {
 | 
			
		||||
                removeProgressBar();
 | 
			
		||||
                return;
 | 
			
		||||
@ -119,7 +119,6 @@ function requestProgress(id_task, progressbarContainer, gallery, atEnd, onProgre
 | 
			
		||||
                progressText += " ETA: " + formatTime(res.eta);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            setTitle(progressText);
 | 
			
		||||
 | 
			
		||||
            if (res.textinfo && res.textinfo.indexOf("\n") == -1) {
 | 
			
		||||
@ -142,7 +141,20 @@ function requestProgress(id_task, progressbarContainer, gallery, atEnd, onProgre
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (onProgress) {
 | 
			
		||||
                onProgress(res);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            setTimeout(() => {
 | 
			
		||||
                funProgress(id_task, res.id_live_preview);
 | 
			
		||||
            }, opts.live_preview_refresh_period || 500);
 | 
			
		||||
        }, function() {
 | 
			
		||||
            removeProgressBar();
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    var funLivePreview = function(id_task, id_live_preview) {
 | 
			
		||||
        request("./internal/progress", {id_task: id_task, id_live_preview: id_live_preview}, function(res) {
 | 
			
		||||
            if (res.live_preview && gallery) {
 | 
			
		||||
                rect = gallery.getBoundingClientRect();
 | 
			
		||||
                if (rect.width) {
 | 
			
		||||
@ -160,18 +172,14 @@ function requestProgress(id_task, progressbarContainer, gallery, atEnd, onProgre
 | 
			
		||||
                img.src = res.live_preview;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            if (onProgress) {
 | 
			
		||||
                onProgress(res);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            setTimeout(() => {
 | 
			
		||||
                fun(id_task, res.id_live_preview);
 | 
			
		||||
                funLivePreview(id_task, res.id_live_preview);
 | 
			
		||||
            }, opts.live_preview_refresh_period || 500);
 | 
			
		||||
        }, function() {
 | 
			
		||||
            removeProgressBar();
 | 
			
		||||
        });
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    fun(id_task, 0);
 | 
			
		||||
    funProgress(id_task, 0);
 | 
			
		||||
    funLivePreview(id_task, 0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -48,6 +48,7 @@ def add_task_to_queue(id_job):
 | 
			
		||||
class ProgressRequest(BaseModel):
 | 
			
		||||
    id_task: str = Field(default=None, title="Task ID", description="id of the task to get progress for")
 | 
			
		||||
    id_live_preview: int = Field(default=-1, title="Live preview image ID", description="id of last received last preview image")
 | 
			
		||||
    live_preview: bool = Field(default=True, title="Include live preview", description="boolean flag indicating whether to include the live preview image")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class ProgressResponse(BaseModel):
 | 
			
		||||
@ -91,7 +92,7 @@ def progressapi(req: ProgressRequest):
 | 
			
		||||
 | 
			
		||||
    id_live_preview = req.id_live_preview
 | 
			
		||||
    shared.state.set_current_image()
 | 
			
		||||
    if opts.live_previews_enable and shared.state.id_live_preview != req.id_live_preview:
 | 
			
		||||
    if opts.live_previews_enable and req.live_preview and shared.state.id_live_preview != req.id_live_preview:
 | 
			
		||||
        image = shared.state.current_image
 | 
			
		||||
        if image is not None:
 | 
			
		||||
            buffered = io.BytesIO()
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user