SDXL schedules fixed

This commit is contained in:
FizzleDorf
2024-03-21 23:19:01 -04:00
parent df9762328c
commit a696099cf4
2 changed files with 20 additions and 11 deletions
+2 -2
View File
@@ -236,7 +236,7 @@ def BatchGLIGENConditioning(cur_prompt_series, nxt_prompt_series, weight_series,
return cond_out, pooled_out
def BatchPoolAnimConditioningSDXL(cur_prompt_series, nxt_prompt_series, weight_series, clip):
def BatchPoolAnimConditioningSDXL(cur_prompt_series, nxt_prompt_series, weight_series):
pooled_out = []
cond_out = []
@@ -439,4 +439,4 @@ def BatchInterpolatePromptsSDXL(animation_promptsG, animation_promptsL, max_fram
"\n", "Current Prompt L: ", cur_prompt_series_L[i], "\n", "Next Prompt G: ", nxt_prompt_series_G[i],
"\n", "Next Prompt L : ", nxt_prompt_series_L[i], "\n"), "\n", "Current weight: ", weight_series[i]
return BatchPoolAnimConditioningSDXL(current_conds, next_conds, weight_series, clip)
return current_conds, next_conds, weight_series
+18 -9
View File
@@ -9,12 +9,9 @@ import re
import json
from .ScheduleFuncs import (
check_is_number, interpolate_prompts_SDXL, PoolAnimConditioning,
interpolate_string, addWeighted, reverseConcatenation, split_weighted_subprompts
)
from .BatchFuncs import interpolate_prompt_series, BatchPoolAnimConditioning, BatchInterpolatePromptsSDXL, batch_split_weighted_subprompts #, BatchGLIGENConditioning
from .ValueFuncs import batch_get_inbetweens, batch_parse_key_frames, parse_key_frames, get_inbetweens, sanitize_value
from .ScheduleFuncs import *
from .BatchFuncs import * #, BatchGLIGENConditioning
from .ValueFuncs import *
#Max resolution value for Gligen area calculation.
MAX_RESOLUTION=8192
@@ -296,7 +293,12 @@ class BatchPromptScheduleEncodeSDXL:
inputTextL = re.sub(r',\s*}', '}', inputTextL)
animation_promptsG = json.loads(inputTextG.strip())
animation_promptsL = json.loads(inputTextL.strip())
return (BatchInterpolatePromptsSDXL(animation_promptsG, animation_promptsL, max_frames, clip, app_text_G, app_text_L, pre_text_G, pre_text_L, pw_a, pw_b, pw_c, pw_d, width, height, crop_w, crop_h, target_width, target_height, print_output,),)
c, n, w = BatchInterpolatePromptsSDXL(animation_promptsG, animation_promptsL, max_frames, clip, app_text_G,
app_text_L, pre_text_G, pre_text_L, pw_a, pw_b, pw_c, pw_d, width, height,
crop_w, crop_h, target_width, target_height, print_output, )
pc = BatchPoolAnimConditioningSDXL(c,n,w)
return (pc,)
class BatchPromptScheduleEncodeSDXLLatentInput:
@classmethod
@@ -334,7 +336,12 @@ class BatchPromptScheduleEncodeSDXLLatentInput:
inputTextL = re.sub(r',\s*}', '}', inputTextL)
animation_promptsG = json.loads(inputTextG.strip())
animation_promptsL = json.loads(inputTextL.strip())
return (BatchInterpolatePromptsSDXL(animation_promptsG, animation_promptsL, max_frames, clip, app_text_G, app_text_L, pre_text_G, pre_text_L, pw_a, pw_b, pw_c, pw_d, width, height, crop_w, crop_h, target_width, target_height, print_output, ), num_latents, )
c, n, w = BatchInterpolatePromptsSDXL(animation_promptsG, animation_promptsL, max_frames, clip, app_text_G,
app_text_L, pre_text_G, pre_text_L, pw_a, pw_b, pw_c, pw_d, width, height,
crop_w, crop_h, target_width, target_height, print_output, )
pc = BatchPoolAnimConditioningSDXL(c, n, w)
return (pc,)
class PromptScheduleEncodeSDXL:
@classmethod
@@ -373,7 +380,9 @@ class PromptScheduleEncodeSDXL:
inputTextL = re.sub(r',\s*}', '}', inputTextL)
animation_promptsG = json.loads(inputTextG.strip())
animation_promptsL = json.loads(inputTextL.strip())
return (interpolate_prompts_SDXL(animation_promptsG, animation_promptsL, max_frames, current_frame, clip, app_text_G, app_text_L, pre_text_G, pre_text_L, pw_a, pw_b, pw_c, pw_d, width, height, crop_w, crop_h, target_width, target_height, print_output,),)
c,n,w = BatchInterpolatePromptsSDXL(animation_promptsG, animation_promptsL, max_frames, clip, app_text_G, app_text_L, pre_text_G, pre_text_L, pw_a, pw_b, pw_c, pw_d, width, height, crop_w, crop_h, target_width, target_height, print_output,)
pc = addWeighted(c[current_frame], n[current_frame], w[current_frame])
return (pc,)
# This node schedules the prompt using separate nodes as the keyframes.
# The values in the prompt are evaluated in NodeFlowEnd.