rework bus mode getter

rework bus mode getter
This commit is contained in:
onyx-and-iris 2022-04-27 14:00:55 +01:00
parent 0fc4f693fa
commit e8aa762c70
2 changed files with 23 additions and 20 deletions

View File

@ -74,24 +74,26 @@ def bus_mode_prop(param):
def fget(self):
val = self.getter(f"mode.{param}")
if val is None:
modelist = {
"amix": (1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1),
"repeat": (0, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2),
"bmix": (1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3),
"composite": (0, 0, 0, 4, 4, 4, 4, 0, 0, 0, 0),
"tvmix": (1, 0, 1, 4, 5, 4, 5, 0, 1, 0, 1),
"upmix21": (0, 2, 2, 4, 4, 6, 6, 0, 0, 2, 2),
"upmix41": (1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3),
"upmix61": (0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8),
"centeronly": (1, 0, 1, 0, 1, 0, 1, 8, 9, 8, 9),
"lfeonly": (0, 2, 2, 0, 0, 2, 2, 8, 8, 10, 10),
"rearonly": (1, 2, 3, 0, 1, 2, 3, 8, 9, 10, 11),
}
vals = (
int.from_bytes(self.public_packet.busstate[self.index], "little") & val
for val in self._modes.modevals
)
if param == "normal":
return any(
not int.from_bytes(
self.public_packet.busstate[self.index], "little"
)
& val
== 0
for val in self._modes.modevals
)
else:
val = (
not int.from_bytes(
self.public_packet.busstate[self.index], "little"
)
& getattr(self._modes, f"_{param}")
== 0
)
return val
return not any(val for val in vals)
return tuple(round(val / 16) for val in vals) == modelist[param]
return val == 1
def fset(self, val):

View File

@ -203,10 +203,11 @@ class VbanCmd(abc.ABC):
count = int.from_bytes(self._text_header.framecounter, "little") + 1
self._text_header.framecounter = count.to_bytes(4, "little")
self.cache[f"{id_}.{param}"] = val
sleep(self._delay)
if self._sync:
sleep(self._delay)
if self.in_apply:
sleep(self._ratelimit)
# if self.in_apply:
# sleep(self._ratelimit)
def sendtext(self, cmd):
"""Sends a multiple parameter string over a network."""
@ -252,7 +253,7 @@ class VbanCmd(abc.ABC):
else:
raise ValueError(obj)
target.apply(submapping)
sleep(self._ratelimit)
# sleep(self._ratelimit)
self.in_apply = False
def apply_profile(self, name: str):