_HeadsetOnboardEffect.__init__ seeded per-effect defaults for any field that was falsy, so a Static color1 of 0x000000 (black) was treated as unset and overwritten with the white default — setting the onboard color to black turned the LEDs white instead of off. Switch the constructor to None-sentinel defaults: a field is seeded from _DEFAULTS only when genuinely absent (None), so an explicit 0 is honored. The UI's get_value() always passes explicit values, and a fresh effect-pick seeds its RANGE widgets UI-side via _apply_id_defaults, so animated effects still get sane defaults. Reported by @rouderz on PR #3181. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| advanced_para_eq.py | ||
| base.py | ||
| base_usb.py | ||
| centurion.py | ||
| centurion_constants.py | ||
| common.py | ||
| descriptors.py | ||
| desktop_notifications.py | ||
| device.py | ||
| device_quirks.py | ||
| diversion.py | ||
| exceptions.py | ||
| headset_rgb.py | ||
| hidpp10.py | ||
| hidpp10_constants.py | ||
| hidpp20.py | ||
| hidpp20_constants.py | ||
| i18n.py | ||
| listener.py | ||
| logivoice.py | ||
| notifications.py | ||
| onboard_eq.py | ||
| receiver.py | ||
| rgb_effects_probe.py | ||
| rgb_power.py | ||
| settings.py | ||
| settings_new.py | ||
| settings_templates.py | ||
| settings_validator.py | ||
| special_keys.py | ||