Sending Art-Net data with vanilla Max9 objects

telematique's icon

Hello Max community,

Cycling74 added the rawbytes message to the udpsend object so now we are able to send Art-Net data with vanilla Max9 objects.

Simply modify the following parameters:
- Your Art-Net IP address
- Update time (common value 25ms = 40Hz)
- Universe (0 to 32768)

Successfully tested on a Silicon Mac with an ENTTEC ODE MK2.

Maybe someone will find this useful.

Happy patching,
telematique

Art-Net sender by telematique

Tom Hall's icon

Nice share 🙌

Source Audio's icon

sadam.udpSender is option for older max versions.

at least from max 5 up

pelo's icon

Hello Telematique,

Great that you found a solution which works with native Max objects and share it with us.
Thank you so much. From my perspective this solution closes a big gap. Will check it out today.
No need for the "Beam for Max" external which is quite expensive and oversized for send a few Art-Net channels.

For older versions of Max and Mac Intel machines there is also the Art-Net external imp.artnet.controller from David Buttler.

Best,
Pelo

billyanok's icon

Super nice share!

How about receiving Art Net data?

B

Source Audio's icon

parse received packet header same way as you format it for sending.

after matching 8 bytes for "Art-Net" 0x00 , next bytes can be matched to

get OpCode and all the rest

billyanok's icon

Hey @source audio, thx for the reply.

Some of this probably above my head but I managed to get a start!

Probably an easier way, I can receive the commands but as far as choosing subnet, universe on the receiving end is beyond me at the point!

Any help would so appreciated!!

Bill

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

Source Audio's icon

receiving art-net data from remote devices is not simply loopback

of sent messages.

You might want to read art-net specs to get better picture.

what exactly do you need to receive ?

check status of controlled devices,

or something else ?

billyanok's icon

Source Audio, thx for the reply.

You can see my limitations here!

I'm very familiar with OSC but for DMX/ArtNET, I've always relied on David Butler's IMP objects to do basic things like changing presets and very limited control of parameters on my max patches from a Grand MA lighting desk or another media server.

The idea that it can know be done on vanilla Max objects is exciting.

I've just started to dig into the specs.

B

Source Audio's icon

if I remember correctly, imp.artnet objects only sent dmx packets

no polling requests or anything like that.

imp.artnet.node also only listened to that.

if that is all you need, then it should not be difficult

to parse net, subnet, universe, number of channel and then data.

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

I don't use max 9 , that's why sadam ...

Source Audio's icon

here you can pick net, subnet, universe to monitor

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

billyanok's icon

Wow, thank you, amazing.

I’m away from my machine but will check it out later.

Yer’ an amazing resource on this forum.

B

billyanok's icon

The max patches are working great, thank you.

B

Source Audio's icon

you are welcome.

In case you need other then ArtDmx data packet OpCode

now you know how to parse Art-Net header.

in docs they are represented in HEX

OpOutput used in your code 0x5000 = 50 hex or 80 decimal.

pelo's icon

Hello Source Audio,

Thanks for sharing the receiver.
Now we are independend from third party externals :-)
Hopefully this solution is stable.

Here is the Max9 version of your patch.

Best,
Pelo

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

Julien-Robert's icon

I tried it with Max 8 and it doesn't work( It works with Max 9).

Is there something different with udpsend in Max 9?

LSka's icon

yes, in Max 9 updsend can send raw bytes. in Max 8 you can use sadam.UdpSender from the "Sadam Library" package