Skip to content

Using python-osc as script in OBS, OBS is inoperable. #123

Open

Description

@MarioMey

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?

Activity

  1. hackery commented on Feb 1, 2022

    @hackery

    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.

  2. MarioMey commented on Feb 2, 2022

    @MarioMey
    Author

    Well, since this thread is a bit old... yes, your suggestion is what I'm actually using since beggining of last year...

    Anyway, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions