Eos OSC no responses.

I am trying to create an OSC client for EOS and I would like to get the command line. I am able to send MSC commands over a UDP connection, but no replies from EOS . I would like to receive the commandline at a minimum '/eos/out/cmd'.

I am using a RawDatagramSocket in dart to send OSC messages. Eos is responding to keypresses by filling the commandline, but Eos does not respond with anything. I am trying to listen on port 8001 for a response, but I am not sure if there is anything I am doing wrong here.

I am not sure if anyone is a programmer here, but here is my code interacting with ETC Eos: github.com/.../osc_control.dart

Parents
  • As mentioned already you need the TX IP Address set.

    However I'm pretty sure you have a bit of an error in your code.

    It looks like you correctly open the listening socket at the start of the code,  but then you call your UpdateEOS function and that opens it again (and closes it at the end of the function).  And in general a lot of your functions keep opening and closing the socket. (high probabablty of packet loss even if it works at all)

    You probably just need to declare OSCSocket listenSocket at line 24 and remove the other definitions and get rid of all the OSCSocket listenSocket = OSCSocket(serverPort: clientPort); and close lines of code other than in the setup code at line 61, which becomes just listenSocket = OSCSocket(serverPort: clientPort);

    You might also consider changing the way you have different definitions of the call back function you are assigning to listenSocket.listen to be a single definition that you set at initialisation as you probably want to respond to any incomming OSC in a consistent way regardless of what command you've just sent (as because this is all asyncronous and with (albeit small) network delays, you are opening your self up for race conditions if you only process specific incoming osc after sending particular osc command.

Reply
  • As mentioned already you need the TX IP Address set.

    However I'm pretty sure you have a bit of an error in your code.

    It looks like you correctly open the listening socket at the start of the code,  but then you call your UpdateEOS function and that opens it again (and closes it at the end of the function).  And in general a lot of your functions keep opening and closing the socket. (high probabablty of packet loss even if it works at all)

    You probably just need to declare OSCSocket listenSocket at line 24 and remove the other definitions and get rid of all the OSCSocket listenSocket = OSCSocket(serverPort: clientPort); and close lines of code other than in the setup code at line 61, which becomes just listenSocket = OSCSocket(serverPort: clientPort);

    You might also consider changing the way you have different definitions of the call back function you are assigning to listenSocket.listen to be a single definition that you set at initialisation as you probably want to respond to any incomming OSC in a consistent way regardless of what command you've just sent (as because this is all asyncronous and with (albeit small) network delays, you are opening your self up for race conditions if you only process specific incoming osc after sending particular osc command.

Children
No Data
Related