From 5caeaebc172fc819693c988643071c565e4dbcd3 Mon Sep 17 00:00:00 2001 From: Leo Bernard Date: Sun, 10 Sep 2023 16:54:35 +0200 Subject: [PATCH] :bug: Address a hang in newer versions of Live when the UDP port is already being used --- midi-script/Socket.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/midi-script/Socket.py b/midi-script/Socket.py index 869d88a..92083e6 100755 --- a/midi-script/Socket.py +++ b/midi-script/Socket.py @@ -4,7 +4,6 @@ import zlib import os import tempfile -from threading import Timer from .Logging import logger @@ -36,6 +35,7 @@ def __init__(self, handler): self._client_addr = ("127.0.0.1", 39031) self._last_error = "" self._socket = None + self._chunk_limit = None self.read_remote_port() self.init_socket(True) @@ -147,14 +147,15 @@ def init_socket(self, try_stored=False): self.log_error_once(msg + "(Client address: " + str(self._client_addr) + ")") self.show_message(msg) - t = Timer(5, self.init_socket) + t = Live.Base.Timer( + callback=self.init_socket, interval=5000, repeat=False) t.start() def _sendto(self, msg): '''Send a raw message to the client, compressed and chunked, if necessary''' compressed = zlib.compress(msg.encode("utf8")) + b'\n' - if self._socket == None: + if self._socket == None or self._chunk_limit == None: return if len(compressed) < self._chunk_limit: