[Update] mainloop: Improve receiver loop to handle empty input and add stop message

[Update] osc: Refactor OSC query service initialization to run in a separate thread
This commit is contained in:
misyaguziya
2025-09-11 23:11:39 +09:00
parent 7bed19c81f
commit 4e53584cff
2 changed files with 24 additions and 16 deletions

View File

@@ -118,15 +118,17 @@ class OSCHandler:
self.osc_server = osc_server.ThreadingOSCUDPServer((self.osc_server_ip_address, self.osc_server_port), osc_dispatcher)
Thread(target=self.oscServerServe, daemon=True).start()
while True:
try:
self.osc_query_service = OSCQueryService(self.osc_query_service_name, self.http_port, self.osc_server_port)
for filter, target in self.dict_filter_and_target.items():
self.osc_query_service.advertise_endpoint(filter, access=OSCAccess.READWRITE_VALUE)
break
except Exception:
errorLogging()
sleep(1)
def startOSCQueryService():
while True:
try:
self.osc_query_service = OSCQueryService(self.osc_query_service_name, self.http_port, self.osc_server_port)
for filter, target in self.dict_filter_and_target.items():
self.osc_query_service.advertise_endpoint(filter, access=OSCAccess.READWRITE_VALUE)
break
except Exception:
errorLogging()
sleep(1)
Thread(target=startOSCQueryService, daemon=True).start()
def oscServerServe(self) -> None:
# ポーリング間隔を長くして2秒から10秒にCPUの使用率を削減