mirror of
https://github.com/onyx-and-iris/vban-cmd-python.git
synced 2025-01-18 10:30:48 +00:00
rework bus mode getter
rework bus mode getter
This commit is contained in:
parent
0fc4f693fa
commit
e8aa762c70
@ -74,24 +74,26 @@ def bus_mode_prop(param):
|
||||
def fget(self):
|
||||
val = self.getter(f"mode.{param}")
|
||||
if val is None:
|
||||
if param == "normal":
|
||||
return any(
|
||||
not int.from_bytes(
|
||||
self.public_packet.busstate[self.index], "little"
|
||||
)
|
||||
& val
|
||||
== 0
|
||||
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
|
||||
)
|
||||
else:
|
||||
val = (
|
||||
not int.from_bytes(
|
||||
self.public_packet.busstate[self.index], "little"
|
||||
)
|
||||
& getattr(self._modes, f"_{param}")
|
||||
== 0
|
||||
)
|
||||
return val
|
||||
if param == "normal":
|
||||
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):
|
||||
|
@ -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):
|
||||
|
Loading…
Reference in New Issue
Block a user