changes to param cache

changes to param cache

allow set bus mode true or false (setting false resets to mode normal)
This commit is contained in:
onyx-and-iris 2022-04-26 21:03:02 +01:00
parent 2bc9fa9d57
commit dd24fc1816
5 changed files with 5 additions and 19 deletions

View File

@ -43,7 +43,6 @@ class OutputBus(Channel):
val = self.getter("label")
if val is None:
val = self.public_packet.buslabels[self.index]
self._remote.cache[f"{self.identifier}.label"] = [val, False]
return val
@label.setter
@ -66,7 +65,6 @@ class OutputBus(Channel):
val = self.getter("gain")
if val is None:
val = round((fget() * 0.01), 1)
self._remote.cache[f"{self.identifier}.gain"] = [val, False]
return round(val, 1)
@gain.setter

View File

@ -86,12 +86,8 @@ class Channel(abc.ABC):
def getter(self, param):
cmd = f"{self.identifier}.{param}"
if cmd in self._remote.cache and self._remote.cache[cmd][1]:
for _ in range(2):
if self._remote.pdirty:
val = self._remote.cache.pop(f"{self.identifier}.{param}")[0]
return val
sleep(0.001)
if cmd in self._remote.cache:
return self._remote.cache.pop(f"{self.identifier}.{param}")
def setter(self, param, val):
"""Sends a string request RT packet."""

View File

@ -13,7 +13,6 @@ def strip_bool_prop(param):
& getattr(self._modes, f"_{param}")
== 0
)
self._remote.cache[f"{self.identifier}.{param}"] = [val, False]
return val
return val == 1
@ -36,7 +35,6 @@ def bus_bool_prop(param):
& getattr(self._modes, f'_{param.replace(".", "_").lower()}')
== 0
)
self._remote.cache[f"{self.identifier}.{param}"] = [val, False]
return val
return val == 1
@ -59,7 +57,6 @@ def strip_output_prop(param):
& getattr(self._modes, f"_bus{param.lower()}")
== 0
)
self._remote.cache[f"{self.identifier}.{param}"] = [val, False]
return val
return val == 1
@ -78,7 +75,7 @@ def bus_mode_prop(param):
val = self.getter(f"mode.{param}")
if val is None:
if param == "normal":
return not any(
return any(
not int.from_bytes(
self.public_packet.busstate[self.index], "little"
)
@ -94,14 +91,13 @@ def bus_mode_prop(param):
& getattr(self._modes, f"_{param}")
== 0
)
self._remote.cache[f"{self.identifier}.mode.{param}"] = [val, False]
return val
return val == 1
def fset(self, val):
if not isinstance(val, bool) and val not in (0, 1):
raise VMCMDErrors(f"mode.{param} is a boolean parameter")
self.setter(f"mode.{param}", 1)
self.setter(f"mode.{param}", 1 if val else 0)
return property(fget, fset)

View File

@ -49,7 +49,6 @@ class InputStrip(Channel):
val = self.getter("label")
if val is None:
val = self.public_packet.striplabels[self.index]
self._remote.cache[f"{self.identifier}.label"] = [val, False]
return val
@label.setter
@ -63,7 +62,6 @@ class InputStrip(Channel):
val = self.getter("gain")
if val is None:
val = self.gainlayer[0].gain
self._remote.cache[f"{self.identifier}.gain"] = [val, False]
return round(val, 1)
@gain.setter
@ -107,7 +105,6 @@ class VirtualInputStrip(InputStrip):
& getattr(self._modes, f"_mutec")
== 0
)
self._remote.cache[f"{self.identifier}.mc"] = [val, False]
return val
return val == 1
@ -175,7 +172,6 @@ class GainLayer(InputStrip):
val = self.getter(f"GainLayer[{self._i}]")
if val is None:
val = round((fget() * 0.01), 1)
self._remote.cache[f"{self.identifier}.GainLayer[{self._i}]"] = [val, False]
return val
return round(val, 1)

View File

@ -200,7 +200,7 @@ 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, True]
self.cache[f"{id_}.{param}"] = val
if self._sync:
sleep(self._delay)