» Catch all OSC Messages / RegExpr on OSC Formatted strings
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Catch all OSC Messages / RegExpr on OSC Formatted strings

question open using-vvvv OSCDecode OSC RegExpr

eno 30/01/12 - 03:54

Hi there,

I'm trying to catch all incoming OSC Messages with no success.

First wildcards like /* and /? don't work on the OSCDecode Node, but are stated to work in the OSC standard.

Second I'm trying to RegExpr on the #bunlde string of the OSCEncoder, with no success.

The bundle message with all characters looks like this

  1. bundle#0#0#0#0#0#0#0#0#1#0#0#0$/hello/what#0,s#0#0soever#32but#32its#32ok#0#0#0

Now if I RegExpr on it with this expression
\/(.*?)\#
I get 'hello/what returned, which is the OSC address.

But! This doesn't work when the output of OSCEncoder is connected directly to the RegExpr Node, only when the string is stored in a StringIOBox (and the connection to OSCEncoder cut). I assume there is some reformatting from UTF to ASCII going on, which the RegExpr isn't capable of. Is there a way of doing this manually?

THX
Eno

2 replies 0 new

link | Flag this reply as a solution. woei (kollaborateur) 30/01/2012 - 17:26

oi eno,

the problem with RegExpr might be, that the # in the osc messages are not that ascii sybol but rather 'escapes', e.g. '#0' is the ascii symbol for 0;

osc syntax is structured in 4 (and sometimes 8) bytes. might be easier for manual parsing, if you first split the message accordingly

e.g. for bundled messages get rid of the 16 characters in the beginning (#bundle and timetag), what you have left are the osc messages with an integer in the beginning (padded with #0 to be 4 bytes length), which tells you the lenght of each message....

osc specs

might be easier to solve in a plugin because of that byte-length hassle

Check out https://github.com/elliotwoods/VVVV.Nodes.OSC for an alternative workflow for osc in vvvv (it just wraps vvvv's own c# osc api mostly)
Its designed to be more high level / cleaner to use than oscencode, etc

Uses global channels and a 'Sift' node (which specifically you want to separate out and not use)

anonymous user login

Shoutbox

~4min ago

Urbankind: circuitb:Wrongcop is epic! :)

~44min ago

joreg: @tobi: use GetSlice() as the patch i referred you to is demonstrating. or start a forum thread with your patch.

~55min ago

TobiTobsen123: hmm yes i can see the values...but how to handle them as seperate values? I need to forward them via TCP/IP...

~2h ago

joreg: @tobi: OSCDecoder helppatch has a section: OSC_Advanced (bottomright) that demoes decoding of multiple messages

~3h ago

TobiTobsen123: I'm using an OSCDecoder, it receives two arguments...works but how can I seperate the arguments into two seperate values

~5h ago

u7angel: @mediadog, make it a forum question.

~5h ago

u7angel: @mediadog, tty renderer ?

~8h ago

microdee: however non-conductive objects are invisible for this so the pencil and the sticks in the video are still a mysteries