<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 30, 2021 at 11:10 AM Fons Adriaensen <<a href="mailto:fons@linuxaudio.org">fons@linuxaudio.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, Apr 30, 2021 at 10:17:01PM +0200, Winfried Ritsch wrote:<br>
<br>
> I always assumed OSC  1.0 can be used over any transport, mostly I use TCP/IP,  <br>
> sometimes serial, so it would be good to know where this stated to argue that <br>
> and<br>
> why OSC 1.0 is only UDP ?<br>
<br>
The problem with any transport that is just a stream of bytes is that it<br>
complicates the OSC decoder. You have to feed it byte by byte, and it has<br>
to remember its state until it gets the next byte if the packet is not yet<br>
complete. <br>
<br>
Of course if there are pauses between packets you could be lucky and <br>
actually get complete packets from a TCP socket each time you read it<br>
with a timeout. But that's inherently fragile and you can't rely on it.<br>
<br>
Ciao,<br>
<br>
-- <br>
FA<br>
<br></blockquote><div><br></div>I do have some experience with open source JSON decoders over HTTP, which handles state while reading the stream. I do notice the Behringer Wing uses JSON for its OSC implementation. <br></div><div class="gmail_quote"><br></div><div class="gmail_quote">Still, I also work a lot with udp for high volume applications and despite its shortcomings I would choose udp over MIDI if I had a choice. I get frustrated with midi often due to lack of universal MTC/MMC and note mappings support and moved into control voltage sequencing when my synths can do it ... ARP 2600 and Korg MS20M for example. <br></div><div class="gmail_quote"><br></div><div class="gmail_quote">Robert<br></div></div>