Add UI controls

This commit is contained in:
AI-Casanova
2024-02-11 22:13:11 -06:00
parent fa833a5221
commit 7021ffb540
5 changed files with 34 additions and 12 deletions
+7 -8
View File
@@ -67,14 +67,13 @@ def process_diffusers(p: processing.StableDiffusionProcessing):
if kwargs.get('latents', None) is None:
return kwargs
if True: # TODO: IP adapter active
ip_adapter_scales = p.ip_adapter_scales
ip_adapter_end = shared.opts.data.get("ip_adapter_end", 1)
ip_adapter_end = ip_adapter_end if isinstance(ip_adapter_end, list) else [ip_adapter_end] * len(ip_adapter_scales)
if any(end != 1 for end in ip_adapter_end):
for i, end in enumerate(ip_adapter_end):
if step >= int(pipe.num_timesteps * end):
ip_adapter_scales[i] = 0
if ip_adapter_scales != p.ip_adapter_scales:
ip_adapter_scales = list(p.ip_adapter_scales)
ip_adapter_starts = list(p.ip_adapter_starts)
ip_adapter_ends = list(p.ip_adapter_ends)
if any(end != 1 for end in ip_adapter_ends) or any(start != 0 for start in ip_adapter_starts):
for i in range(len(ip_adapter_scales)):
ip_adapter_scales[i] = 0 if step <= int(pipe.num_timesteps * ip_adapter_starts[i]) else ip_adapter_scales[i] # TODO: Convert to bool list?
ip_adapter_scales[i] = 0 if step >= int(pipe.num_timesteps * ip_adapter_ends[i]) else ip_adapter_scales[i]
pipe.set_ip_adapter_scale(ip_adapter_scales)
if step != pipe.num_timesteps:
kwargs = processing_correction.correction_callback(p, timestep, kwargs)