OSC routing - split spreads by pattern


#1

Hi, dear list !

I’m sure I’m missing something very obvious here, but even after heavy searching in the forums i can’t find a satisfying solution. Here’s the prob:

I have a UDP/OSC connection from PD to VVVV and would like to receive many messages in VVVV and distribute the messages in a way similar to [routeOSC], which parses the messages according to each “/”-separated pattern.

Ii would like to achieve the following:

let’s say my message is: “/chan1/vol/23”

First i want to distribute all messages matching pattern 1 ("/chan1"), THEN (in a second step) distribute them according to pattern 2 ("/vol", “/pan”, “/aux” etc.). I know how to parse OSC messages by their total address, but i can’t figure out how to route the result like described above.

in case my question is unclear, i attached a screenshot of a PD patch and how i would do it there

Thanks for all hints!
OSC_Routing_question.v4p (4.5 KB)

best

oliver


#2

actually this is indeed not possible with vvvv’s osc implementation. i’m not sure if it may be possible with the osc plugin by @elliotwoods

the reason it is not possible in vvvv is because i never understood the usecase and also nobody has asked about this before. so could you please elaborate whats the benefit of routing sub-addresses instead of parsing for a full address?


#3

Fine. It’s good to know, that at least i’m not too stupid to find it ;-)

The reason why i wanted sub-address-routing is probably only because i’m so used to it in the PD world. I think i still have to adapt to the VVVV way of thinking. Plus i was unaware of the many string-manipulation possibilities that VVVV offers (something that is much more tedious in PD).

However, a few rounds around town with the bike brought the solution to my mind, or at least a totally valid workaround.

Attached are the patches and a screenshot

Thanks a lot for clarifying ! Best

Oliver

OSCroute%20in%20PD%20solution OSCroute_workaround.v4p (39.8 KB)


#4

fair enough… in vvvv anyway it should be enough to do it like this:

image


#5

Thanks a lot for simplification !

Best

Oliver