Skip to content

Commit cca60b5

Browse files
authored
Merge pull request #51 from mvdwetering/add_extra_bass
Add ex(tra)bass command
2 parents 3f7c835 + 17d1d9d commit cca60b5

4 files changed

Lines changed: 20 additions & 0 deletions

File tree

src/ynca/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
DabPreset,
1212
DirMode,
1313
Enhancer,
14+
ExBass,
1415
FmPreset,
1516
HdmiOut,
1617
HdmiOutOnOff,
@@ -81,6 +82,7 @@
8182
"Deezer",
8283
"DirMode",
8384
"Enhancer",
85+
"ExBass",
8486
"FmPreset",
8587
"HdmiOut",
8688
"HdmiOutOnOff",

src/ynca/enums.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,20 @@ def _missing_(cls, value: object) -> Self:
107107
"""Unknown values in the enum are mapped to UNKNOWN"""
108108

109109

110+
@unique
111+
class ExBass(StrEnum):
112+
AUTO = "Auto"
113+
OFF = "Off"
114+
115+
@classmethod
116+
def _missing_(cls, value: object) -> Self:
117+
logger.warning("Unknown value '%s' in %s", value, cls.__name__)
118+
return cls(cls.UNKNOWN)
119+
120+
UNKNOWN = UNKNOWN_STRING
121+
"""Unknown values in the enum are mapped to UNKNOWN"""
122+
123+
110124
@unique
111125
class FmPreset(StrEnum):
112126
NO_PRESET = "No Preset"

src/ynca/subunits/zone.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
AdaptiveDrc,
1010
DirMode,
1111
Enhancer,
12+
ExBass,
1213
HdmiOut,
1314
InitVolLvl,
1415
InitVolMode,
@@ -72,6 +73,7 @@ class ZoneBase(PlaybackFunctionMixin, SubunitBase):
7273
adaptivedrc = EnumFunctionMixin[AdaptiveDrc](AdaptiveDrc)
7374
dirmode = EnumFunctionMixin[DirMode](DirMode, init="BASIC")
7475
enhancer = EnumFunctionMixin[Enhancer](Enhancer)
76+
exbass = EnumFunctionMixin[ExBass](ExBass)
7577
hdmiout = EnumFunctionMixin[HdmiOut](HdmiOut)
7678
hpbass = FloatFunctionMixin(
7779
converter=FloatConverter(

tests/test_enums.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
DabPreset,
99
DirMode,
1010
Enhancer,
11+
ExBass,
1112
FmPreset,
1213
HdmiOut,
1314
HdmiOutOnOff,
@@ -45,6 +46,7 @@ def test_invalid_values_on_enums() -> None:
4546
assert BandTun("x") is BandTun.UNKNOWN
4647
assert DabPreset("x") is DabPreset.UNKNOWN
4748
assert Enhancer("x") is Enhancer.UNKNOWN
49+
assert ExBass("x") is ExBass.UNKNOWN
4850
assert DirMode("x") is DirMode.UNKNOWN
4951
assert FmPreset("x") is FmPreset.UNKNOWN
5052
assert HdmiOut("x") is HdmiOut.UNKNOWN

0 commit comments

Comments
 (0)