Help to unpack OSC FullPacket!!!!!

Konstantin Kazancev's icon

Friends, help to unpack OSC "FullPacket 12 106102880617648", I should get a message similar to the following: /xinfo ,ssss 192.168.100.20 X-AIR XR18 1.12

mzed's icon

How are you getting this message?

Maybe you should look at CNMAT's OpenSoundControl and o.dot objects: http://cnmat.berkeley.edu/downloads

Konstantin Kazancev's icon

I use CNMAT here is an example
{
    "boxes" : [         {
            "box" :             {
                "maxclass" : "message",
                "text" : "FullPacket 12 421107856",
                "id" : "obj-7",
                "outlettype" : [ "" ],
                "numinlets" : 2,
                "patching_rect" : [ 201.0, 248.0, 254.0, 22.0 ],
                "style" : "",
                "numoutlets" : 1
            }

        }
,         {
            "box" :             {
                "maxclass" : "newobj",
                "text" : "udpreceive 10024 CNMAT",
                "id" : "obj-4",
                "outlettype" : [ "" ],
                "numinlets" : 1,
                "patching_rect" : [ 349.0, 171.0, 151.0, 22.0 ],
                "style" : "",
                "numoutlets" : 1
            }

        }
,         {
            "box" :             {
                "maxclass" : "message",
                "text" : "/xinfo",
                "id" : "obj-3",
                "outlettype" : [ "" ],
                "numinlets" : 2,
                "patching_rect" : [ 98.0, 36.0, 39.0, 22.0 ],
                "style" : "",
                "numoutlets" : 1
            }

        }
,         {
            "box" :             {
                "maxclass" : "newobj",
                "text" : "udpsend 255.255.255.255 10024 CNMAT",
                "id" : "obj-1",
                "numinlets" : 1,
                "patching_rect" : [ 93.0, 96.0, 232.0, 22.0 ],
                "style" : "",
                "numoutlets" : 0
            }

        }
],
    "lines" : [         {
            "patchline" :             {
                "source" : [ "obj-4", 0 ],
                "destination" : [ "obj-7", 1 ],
                "hidden" : 0,
                "disabled" : 0
            }

        }
,         {
            "patchline" :             {
                "source" : [ "obj-3", 0 ],
                "destination" : [ "obj-1", 0 ],
                "hidden" : 0,
                "disabled" : 0
            }

        }
],
    "appversion" :     {
        "major" : 7,
        "minor" : 2,
        "revision" : 0,
        "architecture" : "x64",
        "modernui" : 1
    }

}

mzed's icon

You need to connect the output of udpreceive to an OpenSoundControl object or delete the CNMAT argument from udpreceive.

Konstantin Kazancev's icon

I tried so and so, I can not properly send a request to detect the device? here is a query table for X32 http://behringerwiki.music-group.com/index.php?title=OSC_Server_initiated_messages

carsol's icon

Hi Konstantin, you need to parse the OSC messages... is possible to use MAX route object instead OSC-route
check Mzed previous post to download the externals...

change ip's and ports and give a try...

Max Patch
Copy patch and select New From Clipboard in Max.

Konstantin Kazancev's icon

CARSOL and MZED thank you for your feedback but it doesn't work. There is one observation, when the program is run by remote control, MAX assumes the "udpreceive 10024 cnmat" message "/xinfo". Don't know what to do.

hz37's icon

Two things: 1) start by using a regular non-cnmat [udpreceive] listening to the correct port. Then, instead of overwriting a message object's content, print everything you get at that port to the Max console instead:

Max Patch
Copy patch and select New From Clipboard in Max.

See if the message you're after is somewhere in the stream you get from the X32, either requested by you or server initiated. Then, if it there, you can write a [regexp] that will split the incoming OSC packet into the appropriate fields.

Hens Zimmerman

Konstantin Kazancev's icon

I wrote above that listening to port 10024, I get the message "print /xinfo" , but how write a [regexp] that will split the incoming OSC packet into the appropriate fields I don't know, I'm doing the first steps in the development of MAX. Help please...

hz37's icon

It's my pleasure to help out, but you need to define the problem better. I use [regexp] all the time, but what exactly needs to be split into exactly what? Supply a well defined problem and you will more likely get a well defined answer. Make a minimal Max patch with a bunch of message boxes that show the exact strings you want to parse and explain which parts should be extracted. Good luck!

Hens Zimmerman

Max Patch
Copy patch and select New From Clipboard in Max.

Tyson Lindley's icon

Hey so the OpenSoundControl object does not appear to work with Max 7. What is the updated way of parsing osc messages?