Commit a0d721e1 authored by AUTOMATIC1111's avatar AUTOMATIC1111
Browse files

make live preview display work independently from progress bar

parent 499cef3c
Loading
Loading
Loading
Loading
+18 −10
Original line number Diff line number Diff line
@@ -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);
}
+2 −1
Original line number Diff line number Diff line
@@ -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()