llloret / osmid

osmid is a tool to bridge MIDI and OSC. It is currently in use in Sonic Pi
Other
72 stars 12 forks source link

OSC heartbeat uses nonstandard argument array type #21

Closed samaaron closed 7 years ago

samaaron commented 7 years ago

For the greatest compatibility with existing OSC servers it is best to stick to the plain OSC 1.0 argument types i, s, f, and b.

It might be best to send the heartbeat OSC message with just a list of strings - one for each device.

This issue affects both m2o and o2m.

llloret commented 7 years ago

Ok, I can change so that it sends this sort of OSC message: i, s (: zero or more "s" args)

The integer specifies how many strings will follow (one per MIDI device), and then as many "s" args will follow.

Would that be ok?

samaaron commented 7 years ago

Would work very well for Sonic Pi - although in fact the initial integer count would be redundant as the Ruby library already presents the OSC args in an array. The OSC spec also already lets the server know how many args there are - so I would have hoped most OSC libs wouldn't need the initial count either

llloret commented 7 years ago

Ok, so it will have pairs of the form "i,s", since in the heartbeat message I am also sending the sticky id, as you requested in the past. Is that ok?

samaaron commented 7 years ago

Ah, yes, good point :)

llloret commented 7 years ago

Fixed in master