Spaces:
No application file
No application file
# webui.settings callback | |
### Description: | |
The settings callback allows you to register settings in the settings tab on audio-webui | |
### Usage | |
(lambda recommended, but not necessary) | |
```python | |
import webui.extensionlib.callbacks as cb | |
cb.register_by_name('webui.settings', lambda: { | |
'ExampleSetting': { | |
'tab': '🤯 Custom settings', # Optional, if not set, "other" tab is used. | |
'type': bool, | |
'default': False, | |
'readname': 'Example setting', | |
'description': 'This is an example setting.' | |
} | |
}) | |
``` | |
Values of settings can be checked by doing: | |
```python | |
import webui.ui.tabs.settings as settings | |
example_value = settings.get('ExampleSetting') | |
``` | |
### Custom settings | |
To create custom settings, create a class which inherits `CustomSetting` from `webui.ui.tabs.settings`. | |
A customsetting has a `create_ui` function, `load_val` and `save_val`. | |
They will automatically be saved and loaded using the values from `load_val` and `save_val`. | |
`save_val`: returns the object to save, must be json serializable, examples: `str`, `int`, `float`, `dict`, `list`. | |
`load_val`: is given the value to load `val`, and returns the value to set for `self.value` when the `CustomSetting` is instantiated. | |
You can look inside of `webui/ui/tabs/settings.py` for a practical example usage of customsetting. | |