@@ -139,8 +139,8 @@ struct SDRequestParams {
139139 float skip_layer_end = 0.2 ;
140140 bool normalize_input = false ;
141141
142- sd_preview_policy_t preview_method = SD_PREVIEW_NONE;
143- int preview_interval = 1 ;
142+ sd_preview_t preview_method = SD_PREVIEW_NONE;
143+ int preview_interval = 1 ;
144144};
145145
146146struct SDParams {
@@ -649,7 +649,7 @@ void parse_args(int argc, const char** argv, SDParams& params) {
649649 invalid_arg = true ;
650650 break ;
651651 }
652- params.lastRequest .preview_method = (sd_preview_policy_t )preview_method;
652+ params.lastRequest .preview_method = (sd_preview_t )preview_method;
653653 } else if (arg == " --preview-interval" ) {
654654 if (++i >= argc) {
655655 invalid_arg = true ;
@@ -1118,8 +1118,8 @@ bool parseJsonPrompt(std::string json_str, SDParams* params) {
11181118 }
11191119 }
11201120 if (preview_found >= 0 ) {
1121- if (params->lastRequest .preview_method != (sd_preview_policy_t )preview_found) {
1122- params->lastRequest .preview_method = (sd_preview_policy_t )preview_found;
1121+ if (params->lastRequest .preview_method != (sd_preview_t )preview_found) {
1122+ params->lastRequest .preview_method = (sd_preview_t )preview_found;
11231123 }
11241124 } else {
11251125 sd_log (sd_log_level_t ::SD_LOG_WARN, " Unknown preview: %s\n " , preview.c_str ());
@@ -1324,7 +1324,7 @@ void start_server(SDParams params) {
13241324 std::string json_str = req.body ;
13251325 sd_log (sd_log_level_t ::SD_LOG_WARN, " About to parse for real\n " );
13261326
1327- updateCTX = parseJsonPrompt (json_str, ¶ms);
1327+ updateCTX = parseJsonPrompt (json_str, ¶ms);
13281328 sd_log (sd_log_level_t ::SD_LOG_WARN, " parsed\n " );
13291329 } catch (json::parse_error& e) {
13301330 // assume the request is just a prompt
@@ -1408,6 +1408,7 @@ void start_server(SDParams params) {
14081408 }
14091409
14101410 {
1411+ sd_set_preview_callback ((sd_preview_cb_t )step_callback, params.lastRequest .preview_method , params.lastRequest .preview_interval );
14111412 sd_image_t * results;
14121413 results = txt2img (sd_ctx,
14131414 params.lastRequest .prompt .c_str (),
@@ -1430,10 +1431,7 @@ void start_server(SDParams params) {
14301431 params.lastRequest .skip_layers .size (),
14311432 params.lastRequest .slg_scale ,
14321433 params.lastRequest .skip_layer_start ,
1433- params.lastRequest .skip_layer_end ,
1434- params.lastRequest .preview_method ,
1435- params.lastRequest .preview_interval ,
1436- (step_callback_t )step_callback);
1434+ params.lastRequest .skip_layer_end );
14371435
14381436 if (results == NULL ) {
14391437 printf (" generate failed\n " );
0 commit comments