Sending spreads with OSC


I’m trying to send a pretty big spread of values via OSC protocol…

What i’m doing is quite simple: i have a black and white video signal, no gray tones.

Using pipet the frame is translated into a 100x100 pixel matrix in which each pixel is identified either with 1= white or black=0.

My aim is to send a list containig all the lightness values of the current frame pixels via OSC to another application.

I’ve already been using OSC to transmit dynamic data in real time but never spreads, if it would be few values i’d just send them separately on different ports with different tags but it’s around 10.000 and i wouldn’t go for lower resolution…

I know osc supports spread transmission:

whenever you a pass a data trough OSC, OSC will encodes it into one of the OSC data types (which could be int32, float32, OSC string, and OSC blob) and then feed it to a transport layer as packets.

Actually the OSC blob format let u say how many slices u’re sending under the same tag into the same packet, right?

i Also found a patch about OSC_PaketStructures (attached,
here OSC blob is not mentioned but in the 3d example a 3 slices spread is encoded without any special setting through OSC…I also tried just to feed the argument pin with a spreadof strings but i just get the first value of the spread on the receiver…

what’s the trick ')?


OSC_PacketStructures.v4p (49.9 kB)

alo nina,

the only trick is that for sending multiple arguments you’ll have to specify multiple type-tags.

so if you want to send a spread of:

you’ll have to specify the following type-tag:
which tells the receiver to expect 5 integers.

Thanks Joreg!

sounds like a solution ')

I just wonder if one can feed the type-tag pin with a spread of 1000 or 500 i.
Then i could split my 10.000 slices spread in ten or twenty threads on different ports… I’ll try it asap and give feedback about it.


Ohu Yeah,
it actually works fine like that and using the pad(string) module vvvv also offers an elegant way to avoid typing i,s or f 500 times ,)
Now i’m sending 8500 of 10000 slices in ‘localhost’ as test, but it could be enough…vvvv does it!