diff --git a/CHANGELOG.md b/CHANGELOG.md index c2521cb..4e8ec06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 2023-07-07 + +- v23.7.4 +- batch count > 1일때 프롬프트의 인덱스 문제 수정 + ## 2023-07-05 - v23.7.3 diff --git a/adetailer/__version__.py b/adetailer/__version__.py index 3f3f8f0..a946826 100644 --- a/adetailer/__version__.py +++ b/adetailer/__version__.py @@ -1 +1 @@ -__version__ = "23.7.3" +__version__ = "23.7.4" diff --git a/scripts/!adetailer.py b/scripts/!adetailer.py index 7a642a4..d6b4d10 100644 --- a/scripts/!adetailer.py +++ b/scripts/!adetailer.py @@ -414,7 +414,7 @@ class AfterDetailerScript(scripts.Script): return i2i def save_image(self, p, image, *, condition: str, suffix: str) -> None: - i = p._ad_idx_all + i = p._ad_idx if p.all_prompts: i %= len(p.all_prompts) save_prompt = p.all_prompts[i] @@ -484,11 +484,12 @@ class AfterDetailerScript(scripts.Script): def need_call_process(self, p) -> bool: i = p._ad_idx bs = p.batch_size - return i == bs - 1 + return i % bs == bs - 1 def need_call_postprocess(self, p) -> bool: i = p._ad_idx - return i == 0 + bs = p.batch_size + return i % bs == 0 @rich_traceback def process(self, p, *args_): @@ -500,8 +501,6 @@ class AfterDetailerScript(scripts.Script): extra_params = self.extra_params(arg_list) p.extra_generation_params.update(extra_params) - p._ad_idx = -1 - def _postprocess_image(self, p, pp, args: ADetailerArgs, *, n: int = 0) -> bool: """ Returns @@ -597,7 +596,6 @@ class AfterDetailerScript(scripts.Script): return p._ad_idx = getattr(p, "_ad_idx", -1) + 1 - p._ad_idx_all = getattr(p, "_ad_idx_all", -1) + 1 init_image = copy(pp.image) arg_list = self.get_args(p, *args_) @@ -623,7 +621,7 @@ class AfterDetailerScript(scripts.Script): p.scripts.process(copy(p)) try: - ia = p._ad_idx_all + ia = p._ad_idx lenp = len(p.all_prompts) if ia % lenp == lenp - 1: self.write_params_txt(p)