@@ -104,6 +104,12 @@ def __init__(self, sd_model=None, outpath_samples=None, outpath_grids=None, prom
104104 self .seed_resize_from_h = 0
105105 self .seed_resize_from_w = 0
106106
107+ self .scripts = None
108+ self .script_args = None
109+ self .all_prompts = None
110+ self .all_seeds = None
111+ self .all_subseeds = None
112+
107113
108114 def init (self , all_prompts , all_seeds , all_subseeds ):
109115 pass
@@ -350,32 +356,35 @@ def process_images(p: StableDiffusionProcessing) -> Processed:
350356 shared .prompt_styles .apply_styles (p )
351357
352358 if type (p .prompt ) == list :
353- all_prompts = p .prompt
359+ p . all_prompts = p .prompt
354360 else :
355- all_prompts = p .batch_size * p .n_iter * [p .prompt ]
361+ p . all_prompts = p .batch_size * p .n_iter * [p .prompt ]
356362
357363 if type (seed ) == list :
358- all_seeds = seed
364+ p . all_seeds = seed
359365 else :
360- all_seeds = [int (seed ) + (x if p .subseed_strength == 0 else 0 ) for x in range (len (all_prompts ))]
366+ p . all_seeds = [int (seed ) + (x if p .subseed_strength == 0 else 0 ) for x in range (len (p . all_prompts ))]
361367
362368 if type (subseed ) == list :
363- all_subseeds = subseed
369+ p . all_subseeds = subseed
364370 else :
365- all_subseeds = [int (subseed ) + x for x in range (len (all_prompts ))]
371+ p . all_subseeds = [int (subseed ) + x for x in range (len (p . all_prompts ))]
366372
367373 def infotext (iteration = 0 , position_in_batch = 0 ):
368- return create_infotext (p , all_prompts , all_seeds , all_subseeds , comments , iteration , position_in_batch )
374+ return create_infotext (p , p . all_prompts , p . all_seeds , p . all_subseeds , comments , iteration , position_in_batch )
369375
370376 if os .path .exists (cmd_opts .embeddings_dir ) and not p .do_not_reload_embeddings :
371377 model_hijack .embedding_db .load_textual_inversion_embeddings ()
372378
379+ if p .scripts is not None :
380+ p .scripts .run_alwayson_scripts (p )
381+
373382 infotexts = []
374383 output_images = []
375384
376385 with torch .no_grad (), p .sd_model .ema_scope ():
377386 with devices .autocast ():
378- p .init (all_prompts , all_seeds , all_subseeds )
387+ p .init (p . all_prompts , p . all_seeds , p . all_subseeds )
379388
380389 if state .job_count == - 1 :
381390 state .job_count = p .n_iter
@@ -387,9 +396,9 @@ def infotext(iteration=0, position_in_batch=0):
387396 if state .interrupted :
388397 break
389398
390- prompts = all_prompts [n * p .batch_size :(n + 1 ) * p .batch_size ]
391- seeds = all_seeds [n * p .batch_size :(n + 1 ) * p .batch_size ]
392- subseeds = all_subseeds [n * p .batch_size :(n + 1 ) * p .batch_size ]
399+ prompts = p . all_prompts [n * p .batch_size :(n + 1 ) * p .batch_size ]
400+ seeds = p . all_seeds [n * p .batch_size :(n + 1 ) * p .batch_size ]
401+ subseeds = p . all_subseeds [n * p .batch_size :(n + 1 ) * p .batch_size ]
393402
394403 if (len (prompts ) == 0 ):
395404 break
@@ -490,10 +499,10 @@ def infotext(iteration=0, position_in_batch=0):
490499 index_of_first_image = 1
491500
492501 if opts .grid_save :
493- images .save_image (grid , p .outpath_grids , "grid" , all_seeds [0 ], all_prompts [0 ], opts .grid_format , info = infotext (), short_filename = not opts .grid_extended_filename , p = p , grid = True )
502+ images .save_image (grid , p .outpath_grids , "grid" , p . all_seeds [0 ], p . all_prompts [0 ], opts .grid_format , info = infotext (), short_filename = not opts .grid_extended_filename , p = p , grid = True )
494503
495504 devices .torch_gc ()
496- return Processed (p , output_images , all_seeds [0 ], infotext () + "" .join (["\n \n " + x for x in comments ]), subseed = all_subseeds [0 ], all_prompts = all_prompts , all_seeds = all_seeds , all_subseeds = all_subseeds , index_of_first_image = index_of_first_image , infotexts = infotexts )
505+ return Processed (p , output_images , p . all_seeds [0 ], infotext () + "" .join (["\n \n " + x for x in comments ]), subseed = p . all_subseeds [0 ], all_prompts = p . all_prompts , all_seeds = p . all_seeds , all_subseeds = p . all_subseeds , index_of_first_image = index_of_first_image , infotexts = infotexts )
497506
498507
499508class StableDiffusionProcessingTxt2Img (StableDiffusionProcessing ):
0 commit comments