mirror of
https://github.com/LostRuins/koboldcpp.git
synced 2026-08-27 01:04:19 +00:00
clear old preview when aborted
This commit is contained in:
parent
ad2b22a41d
commit
eb6c7376a1
1 changed files with 20 additions and 1 deletions
|
|
@ -173,6 +173,7 @@ struct {
|
|||
int steps = 0;
|
||||
bool preview_requested = false;
|
||||
bool preview_enabled = false;
|
||||
bool aborted = false;
|
||||
gendata_st gendata;
|
||||
} geninfo;
|
||||
|
||||
|
|
@ -313,6 +314,9 @@ static void progress_callback(int step, int steps, float time, void* data)
|
|||
const char* phase = "Encoding";
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(geninfo.mux);
|
||||
if (geninfo.aborted) {
|
||||
return;
|
||||
}
|
||||
if (geninfo.gendata.status == 2 && geninfo.preview_requested && !geninfo.preview_enabled) {
|
||||
geninfo.preview_enabled = true;
|
||||
set_preview_images(2);
|
||||
|
|
@ -1064,6 +1068,15 @@ static std::string upscale_image_to_png_base64(upscaler_ctx_t* upscaler_ctx, con
|
|||
}
|
||||
|
||||
void sdtype_abort_generation() {
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(geninfo.mux);
|
||||
geninfo.aborted = true;
|
||||
geninfo.gendata.status = 0;
|
||||
geninfo.gendata.preview = "";
|
||||
geninfo.preview_requested = false;
|
||||
geninfo.preview_enabled = false;
|
||||
}
|
||||
set_preview_images(0);
|
||||
sd_cancel_generation(sd_ctx, SD_CANCEL_ALL);
|
||||
}
|
||||
|
||||
|
|
@ -1074,8 +1087,10 @@ sd_generation_outputs sdtype_generate(const sd_generation_inputs inputs)
|
|||
{
|
||||
std::lock_guard<std::mutex> lock(geninfo.mux);
|
||||
geninfo.gendata.status = 0;
|
||||
geninfo.gendata.preview = "";
|
||||
geninfo.preview_requested = false;
|
||||
geninfo.preview_enabled = false;
|
||||
geninfo.aborted = false;
|
||||
}
|
||||
set_preview_images(0);
|
||||
}
|
||||
|
|
@ -1092,6 +1107,7 @@ sd_generation_outputs sdtype_generate(const sd_generation_inputs inputs)
|
|||
geninfo.steps = inputs.sample_steps;
|
||||
geninfo.preview_requested = false;
|
||||
geninfo.preview_enabled = false;
|
||||
geninfo.aborted = false;
|
||||
geninfo.gendata = {};
|
||||
geninfo.gendata.status = 1;
|
||||
set_preview_images(1);
|
||||
|
|
@ -1774,6 +1790,9 @@ static void step_callback(int step, int frame_count, sd_image_t* image, bool is_
|
|||
{
|
||||
step = step < 0 ? -step : step;
|
||||
std::lock_guard<std::mutex> lock(geninfo.mux);
|
||||
if (geninfo.aborted) {
|
||||
return;
|
||||
}
|
||||
double step_time = get_time_delta(geninfo.start_time);
|
||||
|
||||
bool should_encode_preview = false;
|
||||
|
|
@ -1822,7 +1841,7 @@ static void step_callback(int step, int frame_count, sd_image_t* image, bool is_
|
|||
void sdtype_request_ongoing_generation_preview()
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(geninfo.mux);
|
||||
if (geninfo.gendata.status != 0 && !geninfo.preview_requested) {
|
||||
if (!geninfo.aborted && geninfo.gendata.status != 0 && !geninfo.preview_requested) {
|
||||
geninfo.preview_requested = true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue