From 85571320ce0a043ff7f3ff9e42b4717c8a834895 Mon Sep 17 00:00:00 2001 From: DrJKL Date: Fri, 27 Jun 2025 11:59:58 -0700 Subject: [PATCH] fix: Index and holder changes for hold (e.g. `.4: = "foo",`) --- animatediff/scheduling.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/animatediff/scheduling.py b/animatediff/scheduling.py index 6b012fc..4b56119 100644 --- a/animatediff/scheduling.py +++ b/animatediff/scheduling.py @@ -335,11 +335,11 @@ def _handle_prompt_interpolation(pairs: list[InputPair], length: int, clip: CLIP continue if holder is None: holder = prev_holder - real_prompt = apply_values_replace_to_prompt(pair.val, i, values_replace=values_replace) + real_prompt = apply_values_replace_to_prompt(holder.raw_prompt, i, values_replace=values_replace) if holder.prompt != real_prompt: cond, pooled = clip.encode_from_tokens(clip.tokenize(real_prompt), return_pooled=True) cond = pad_cond(cond, target_length=max_size) - holder = CondHolder(idx=i, prompt=real_prompt, raw_prompt=pair.val, cond=cond, pooled=pooled, hold=pair.hold) + holder = replace(holder, idx=i, prompt=real_prompt, cond=cond, pooled=pooled) else: holder = replace(holder) holder.idx = i @@ -380,7 +380,7 @@ def _handle_prompt_interpolation(pairs: list[InputPair], length: int, clip: CLIP if holder is None or holder.prompt != real_prompt: cond_to, pooled_to = clip.encode_from_tokens(clip.tokenize(real_prompt), return_pooled=True) cond_to = pad_cond(cond_to, target_length=max_size) - holder = CondHolder(idx=idx_int, prompt=real_prompt, raw_prompt=pair.val, cond=cond_to, pooled=pooled_to, hold=pair.hold) + holder = CondHolder(idx=pair.idx, prompt=real_prompt, raw_prompt=pair.val, cond=cond_to, pooled=pooled_to, hold=pair.hold) # calculate interm_holder stuff if needed real_prompt = apply_values_replace_to_prompt(interm_holder.raw_prompt, idx_int, values_replace=values_replace) if interm_holder.prompt != real_prompt: