diff --git a/acn.py b/acn.py index cf05d899..1245a282 100644 --- a/acn.py +++ b/acn.py @@ -48,14 +48,11 @@ def enable(): if universe == 0: # invalid for sACN continue DMX_sACN._instance.receiver.register_listener("universe", DMX_sACN.callback, universe=universe) - if os.name == "posix": - for card in DMX_Network.cards(None, None): - interface_addr = card[0] - print("Joining sACN universe:", universe, interface_addr) - DMX_Log.log.info(("Joining sACN universe:", universe, interface_addr)) - DMX_sACN._instance.receiver.join_multicast(universe, interface_addr) - else: # windows - DMX_sACN._instance.receiver.join_multicast(universe) + for card in DMX_Network.cards(None, None): + interface_addr = card[0] + print("Joining sACN universe:", universe, interface_addr) + DMX_Log.log.info(("Joining sACN universe:", universe, interface_addr)) + DMX_sACN._instance.receiver.join_multicast(universe, interface_addr) bpy.app.timers.register(DMX_sACN.run_render) dmx.artnet_status = "listen" diff --git a/data.py b/data.py index e847bb48..5f95d80a 100644 --- a/data.py +++ b/data.py @@ -124,7 +124,10 @@ def set_universe(universe, data, source): if DMX_Data._last_updated is None or (time.time() - DMX_Data._last_updated > 0.8 and changed): # We limit update by time, too fast updates were troubling Blender's UI for idx, val in enumerate(data): - dmx.dmx_values[idx].channel = val + try: + dmx.dmx_values[idx].channel = val + except Exception as e: + print(e) DMX_Data._last_updated = time.time() print("update dmx") diff --git a/sacn/receiver.py b/sacn/receiver.py index 74d49135..c530bfe8 100644 --- a/sacn/receiver.py +++ b/sacn/receiver.py @@ -99,7 +99,7 @@ def remove_listener_from_universe(self, universe: int) -> None: """ self._callbacks.pop(universe, None) - def join_multicast(self, universe: int, interface_addr: str) -> None: + def join_multicast(self, universe: int, interface_addr: str = "") -> None: """ Joins the multicast address that is used for the given universe. Note: If you are on Windows you must have given a bind IP-Address for this feature to function properly. On the other hand you are not allowed to set a bind