my-sd/modules_forge/patch_basic.py

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

41 lines
1.1 KiB
Python
Raw Normal View History

2024-01-28 04:42:38 +00:00
from ldm_patched.modules.model_patcher import ModelPatcher
og_model_patcher_init = ModelPatcher.__init__
og_model_patcher_clone = ModelPatcher.clone
def patched_model_patcher_init(self, *args, **kwargs):
h = og_model_patcher_init(self, *args, **kwargs)
2024-01-28 05:26:26 +00:00
self.controlnet_linked_list = None
2024-01-28 04:42:38 +00:00
return h
def patched_model_patcher_clone(self):
cloned = og_model_patcher_clone(self)
2024-01-28 05:26:26 +00:00
cloned.controlnet_linked_list = self.controlnet_linked_list
2024-01-28 04:42:38 +00:00
return cloned
2024-01-28 05:26:26 +00:00
def model_patcher_add_patched_controlnet(self, cnet):
cnet.set_previous_controlnet(self.controlnet_linked_list)
self.controlnet_linked_list = cnet
return
def model_patcher_list_controlnets(self):
results = []
pointer = self.controlnet_linked_list
while pointer is not None:
results.append(pointer)
pointer = pointer.previous_controlnet
return results
2024-01-28 04:42:38 +00:00
def patch_all_basics():
ModelPatcher.__init__ = patched_model_patcher_init
ModelPatcher.clone = patched_model_patcher_clone
2024-01-28 05:26:26 +00:00
ModelPatcher.add_patched_controlnet = model_patcher_add_patched_controlnet
ModelPatcher.list_controlnets = model_patcher_list_controlnets
2024-01-28 04:42:38 +00:00
return