Using python-osc as script in OBS, OBS is inoperable.
MarioMey opened this issue · 2 comments
I'm trying to use python-osc to make OBS receive and send OSC messages. This OBS plugin uses python-osc to send messages. Inside that code, all osc_server code is commented because it didn't work. But there is a new pull request that allows to do import osc_server
, so it would can receive messages.
To receive messages, it is necessary to run server.serve_forever()
but this function hangs/freezes OBS waiting for OSC messages. It receives them, it can print messages, it works... but I can't use OBS because it is frozen.
By doing this, I get this:
print(server.serve_forever.__doc__)
Handle one request at a time until shutdown.
Polls for shutdown every poll_interval seconds. Ignores
self.timeout. If you need to do periodic tasks, do them in
another thread.
How should I run server.serve_forever()
in another thread?
Perhaps wrap the server_forever
call in a Thread
, something like
server = osc_server.ThreadingOSCUDPServer(("0.0.0.0", 8080), dispatcher)
thread = Thread(target=server.serve_forever, daemon=True).start()
Use a daemon thread type because there doesn't seem to be an interface to stop()
the OSC server.
Well, since this thread is a bit old... yes, your suggestion is what I'm actually using since beggining of last year...
Anyway, thanks!