Thanks for getting into it Juriaan!
The pi's ar out of reach in the time being. They are proprietary coded and wont be changed in any way soon. They just sent a trigger message like "start video X". I even don't really know the exact string, but could provide a wireshark listening protocol.
I now tried to send a TCP message from watchout to Izzi and realized, that the TCP stream has to be initialized by Izzy, is this true or do I miss something?
As watchout/ initializing/opening its send port only when sending the message, one can't connect Izzy to the corresponding port. Isn't it possible to have Izzy just listening at a specified port accepting external connections?
Ok, regarding to watchout documentation the UDP string ist 'run "video X"' followed by line feed + carriage return (0A 0D).
Hi there @DillTheKraut,
It is possible for Isadora to listen to connections see "TCP In Watcher - Text" / "TCP In Watcher Binary" and the "TCP Stream Control.
You need to have one TCP Stream Control actor that basically is our 'master' connection and the TCP In Watcher - Text and TCP In Watcher - Binary just parse the data.
But you got me to the idea, that changing the plain UDP String somehow to a propper OSC message, readable by the OSC actors!?
I'm currently working on it for you. I already got it working :)
@juriaan wow, you are amazing! How could I thank for that!? I'm looking forward to the magic!
But I'm curious how to use the tcp actors anyway. I already tried these, but as both listeners rely on the stream control, isn't a preconfiguered connection needed, that has to be initialized by the stream control actor?
Regarding your questions about the TCP actor.
The Stream Control actor establishes the connection with our web endpoint. Basically he says 'Hi there 'TCP Adress' at Port 'TCP Port', if you wish to do a handshake here am I !' The endpoint reacts with a TCP Handshake and returns his response. The response get inside our TCP In Watchers and parses to valid output
We intiliaze the connection with the Stream Control actor.
Regarding my solution. I came up with a idea to parse UDP packets to OSC commands. (Something that is really easy with Isadora to control was the design question).
For this I used processing 3 since it has some great libraries for UDP / OSC.
My setup :
- 2 Laptops. One that was the 'WATCHOUT' or UDP sender in your setup and one laptop that is receiving (parsing the packet and sends it over to Isadora using localhost)
- One network switch (Gigabit)
Processing Patch :
- For this to work we need to install Processing 3. Head over to there website to install the windows version that you need :)
- Install the UDP library (http://ubaa.net/shared/processing/udp/) and install OSCP5 (From the included library manager, not from Google / Website. Since those are old versions..)
- Open up my example patch and change the Settings to your Incoming Port (Output Port of WatchOUT / UDP sender (Raspberry PIs)) and change the IzzyBridge settings to have the correct OSC port (See Isadora > Preferences > Midi / Net)
- Run the Processing code (IzzyBridge Processing)
- Go to Isadora > Stream Setup > Auto Detect Input (On)
- Send a command from your sender (WatchOUT / Raspberry Pis / anything basically that speaks UDP)
- The string that is sent with UDP now appears in the Stream Setup window
- We can use this string with a Text Parses in Isadora to get the necassary information from it :)
Like Always, if you need any help with it please let me know :)
Isadora Community is Best Community.
Maybe this small application helps: UDP-TCP Bridge