| from modules.shared import OptionInfo, opts | |
| from modules import scripts | |
| from json import load, dump | |
| from gradio import Slider | |
| import os | |
| section = ("cc", "Vectorscope CC") | |
| def settings(): | |
| opts.add_option( | |
| "cc_metadata", | |
| OptionInfo( | |
| True, | |
| "Append Vectorscope CC parameters to generation infotext", | |
| section=section, | |
| category_id="sd", | |
| ), | |
| ) | |
| opts.add_option( | |
| "cc_no_defaults", | |
| OptionInfo( | |
| True, | |
| 'Add the "do_not_save_to_config" flag to all components', | |
| section=section, | |
| category_id="sd", | |
| onchange=reset_ui_config, | |
| ) | |
| .info("uncheck this option if you wish to use the built-in Defaults function") | |
| .info("enable again if the extension is not working correctly after an update") | |
| .needs_reload_ui(), | |
| ) | |
| for lbl, minVal, maxVal in [ | |
| ("Brightness", (-5.0, 0.0), (0.0, 5.0)), | |
| ("Contrast", (-5.0, 0.0), (0.0, 5.0)), | |
| ("Saturation", (0.25, 1.0), (1.0, 1.75)), | |
| ("Color", (-4.0, 0.0), (0.0, 4.0)), | |
| ]: | |
| opts.add_option( | |
| f"cc_{lbl.lower()}_min", | |
| OptionInfo( | |
| minVal[0], | |
| f"{lbl} - Min", | |
| Slider, | |
| {"step": 0.05, "minimum": minVal[0], "maximum": minVal[1]}, | |
| section=section, | |
| category_id="sd", | |
| ).needs_reload_ui(), | |
| ) | |
| opts.add_option( | |
| f"cc_{lbl.lower()}_max", | |
| OptionInfo( | |
| maxVal[1], | |
| f"{lbl} - Max", | |
| Slider, | |
| {"step": 0.05, "minimum": maxVal[0], "maximum": maxVal[1]}, | |
| section=section, | |
| category_id="sd", | |
| ).needs_reload_ui(), | |
| ) | |
| def reset_ui_config(): | |
| extension = "cc.py" | |
| ui_config = os.path.join(scripts.basedir(), "ui-config.json") | |
| with open(ui_config, "r", encoding="utf-8") as json_file: | |
| configs = load(json_file) | |
| cleaned_configs = { | |
| key: value for key, value in configs.items() if extension not in key | |
| } | |
| with open(ui_config, "w", encoding="utf-8") as json_file: | |
| dump(cleaned_configs, json_file) | |