pq / osc

A simple Open Sound Control (OSC) protocol implementation for Dart.
BSD 3-Clause "New" or "Revised" License
33 stars 20 forks source link

Support SLIP encoding (OSC v1.1) #24

Open Levi-Lesches opened 1 month ago

Levi-Lesches commented 1 month ago

My team uses this package to parse data coming from a device that conforms to OSC v1.1, which means it uses SLIP. This inserts bytes at the end of messages and also escapes certain bytes.

To this library, this means "random bytes" appear in the payload, and the library either fails to parse the data or returns non-sensical data. If the escaped bytes appear in the timetag... the code will work for most of the year, then stop working completely for days or longer.

I fixed this in my own project, and my team continues to rely on this package, so I am more than happy to upstream those changes in a PR. For reference, here is how Rug.OSC (C#) handles this.

If you'd like any other help maintaining this package (as I noticed a few open issues), we can offer some support there as well

pq commented 3 weeks ago

So cool! If you'd like to upstream that support, that'd be great.