OSCEncoder how to pack values to send?

  • Hi again,
  •  I'm scratching my head hear trying to figure out how to pack multiple float values into OSCEncoder and cant seem to figure it out.  It must be quite simple but honestly after an hour Im at a dead end.  If anyone would be so kind as to have a look at the patch and help out I would as always be thankful.

OSCEncoder_pack_values_how.v4p (21.1 kB)

Have a look at Zip (Value). With Ctrl+I you can summon Herr Inspektor and increase the input pin count to 3 (or whatever count you need).

Hey Nava,

The basic setup looks fine. How are you actually connecting the input values though? Maybe you could also include your osc receiving logic in the same patch- might be your problem is on that end.

If it’s just feeding them in to a spread, velcrome has you covered. Also check out cons (value), same thing but will concatenate the inputs rather then interleaving them.

velcrome thank you that fixed it, simply didn’t know about that node. I hope I can also reproduce different value types like string, int,float. The next question would be how to send multiple addresses at the same time.

OSCEncoder_pack_values_with_zip.v4p (22.1 kB)

If you take a look at the help patch for any of the osc nodes I think they also contain a demo called “osc advanced” or something like that. I think it shows how to do multiple address with different data types, binsizes etc

Ok so here is another example file. I am more or less putting it here so I can find it again when I have to format my hard drive:P
But I think it makes clear at least one way of packing or zipping multiple types of data over OSC in vvvv.

OSCEncoder_zip_asstring.v4p (39.0 kB)

Nice one Nava, well done.

The only thing I would add would be make sure to familiarise yourself with io boxes, and spreads in general- it will make your life easier :)

Here’s the same data in your patch, with some alternative io boxes.

OSCEncoder_IO-boxes.v4p (42.8 kB)

yes and amen to the iobox hint :)

two more things to consider:

  1. if you want to address each value or string individually by the address (as indicated in your patch - /who, /where and /what) you cannot put them into the same message. each message has its own address, within the message there is no further addressing possible.
    see your patch to understand what i mean.

  2. OSCEncoder can be quite a bitch, because its spreading behaviour is not up to date (you need to repeat the address according to the count of your data sets)

OSCEncoder_IO-boxes.v4p (46.4 kB)

That last point is interesting. Should this patch not work then though?

OSC_Advanced.v4p (17.8 kB)

In this patch, the address is not spreaded (“ss” + “ffff” = 6 values, you put 6 values into OSCEncoder, same amount).
What does currently not work, neither in bundled nor in spreaded mode: having e.g. “sff” as message type, and a spread of 30 strings going into OSCEncoder (should return either 10 osc messages or a bundle with info for all 10). For this you have to Select the address to have the correct amount of type tags in total.

Thanks, that makes it clear :)