MaxMSP + Artnet

data's icon

Hi guys,

I'm trying to connect Max with Artnet (DmxController)..but..how? Before I've used only 'Enttec Usb Pro'. I'm a windows user so i can't use the http://prodavid.wordpress.com/dmxjitter/ for the problem of aka.datagram. Solutions??? That's a real problem :)

Thanks

yair reshef's icon

same boat. we got it working via mxj java last time > https://cycling74.com/forums/mxj-net-udp-send-to-accept-raw-data-art-net-development
any news from the future? is there a cleaner solution for artnet in max ?
even an osc to artnet birdge would be nice(r)
im on windows so i cant test this > https://github.com/reno-/osc-artnet

yair reshef's icon

ok, ill check imp-dmx out on my enttec ODE
http://www.theimpersonalstereo.com/software/imp-dmx/

David Butler's icon

I've got some native C-coded Art-Net objects now, but I haven't ported them to Windows yet unfortunately.

yair reshef's icon

no worries, your java solution works a ok on my win 64bit machine. thanks

Len Richardson's icon

Sorry for pulling this thread up since all the links expired after almost 1 decade.
I'm curious regarding Max and Artnet but since I'm more into Midi and sound, DMX and Artnet is something like a different world to me. Me and some friends experimenting with a Stage lighting and apart from VJ Shows we wanted to have some fixed color states for the whole LED array that we'd like to send from an independent mini-computer.
My knowledge is very limited as I mentioned. I witnessed that the nodes keep their last state when the connection from the lightshow-computer gets interrupted. So I thought i could simply send 1 message via udp telling all LEDs to go e.g. 100% green. I came to a point where I realised that this might be more of a challenge and requires a lot of documentation-studies...
So to keep it simple: I'd really like to take a look at the C-Artnet-Objects. Is there any chance to get my hands on?
Have a nice Weekend everyone!

Len

Dg's icon

Hi Len,
Artnet native solution for Max really miss.
I use the old artnet hack by Peter Elsea using aka.datagram until Max 7 but it's now over with Max 8.
In case you're looking for a solution David Butler started a big project called Dmax but he said me a few month ago that's not released yet. You can contact him, he's great :)
So we still have the IMP-DMX and it's good but can't handle an important amount of leds in my experience.
You can find it here if needed : https://www.dropbox.com/s/b0xelhn22wm8bht/imp_artnet_v1_1.zip?dl=0&file_subpath=%2Fimp.artnet%2Fexternals

Len Richardson's icon

Hey Kyred,

Thanks a lot for your reply! I will take a look at at the IMP-DMX first :)
DMX and Artnet seem to me like an entire new world. Thank you so much!

Best regards
Len

Dg's icon

it's my pleasure, please come back if needed.

Ewoud Van Eetvelde's icon

Thank you DG ! It seems that David Butler is releasing an external package for DMX soon.
Excited to start working with it!

ironside's icon

Hi - to continue reviving this thread...
Does anyone have a working solution for using artnet on Apple Silicon? The David Butler objects aren't compiled for the ARM64 architecture.

ironside's icon

Just wanted to bump this and ask again - is anyone successfully using artnet on Apple silicon?

My idea now is to look at the artnet spec as it’s apparently just a udp message, and then make something to send that with the raw udp sending object in the Sadam library…
or to look at npm packages to see if I can get them working in node for max….

but… surely there’s an easier way? Has artnet really just sort of dropped off the radar for Max users these days? If so, what else are people using?

thanks!

mike's icon

Same here. Sadly there is no external for Apple silicon available...
What you can do is build an intel Standalone which includes David Butler's external to convert OSC to Atrnet and vice versa. To do this is you have to run Max in Rosetta mode.
Then you can communicate with OSC messages with this app using your Apple silicon Max or Standalone. Very unflexible and not elegant ....

Hopefully David Butler or someone else will create a Apple silicon external. I dont have the knowedge ...
Perhaps we should collect some money ;-)

All the best,
Mike

ironside's icon

Hi Mike. Yeah that’s probably a good idea, and I stupidly didn’t even consider it (new to Apple silicon so Rosetta doesn’t really cross my mind)… I suppose I don’t actually do really heavy artnet or lights work on max as you quite quickly end up needing the features of an actual lighting software/desk, so that would probably work for now.
I’m fairly certain that Artnet is just a udp message with a specific header so it might be possible with native objects.

davidestevens's icon

If you're running Max in Rosetta2, you can use imp.artnet.controller without any fiddlydiddly.
Or have I misunderstood?

Are you suggesting creating a standalone with Rosetta2 on, with the imp.artnet objects inside, and then change to running Max without Rosetta, but the standalone will use Rosetta when you launch it? I didn't realise that you could do that!!

If that's right, it _could be useful, but isn't Apple going to discontinue Rosetta at some point (?soonnish?).

ironside's icon

Yep, that's the idea. You can also launch a second Rosetta version of Max from the Terminal, or duplicate the Max/MSP app, rename it to 'Max x64' *(or whatever you want), command-I and choose 'Open Using Rosetta' to run both ARM64 and x64 at the same time.

mike's icon

@David: thats the plan.
Creating a standalone which simply is an adaptor or router from OSC<>artnet
and artnet <>OSC
This standalone created with Max in Rosetta mode and runs in Rosetta mode.
You are absolutely right, this only works until Apple supports Rosetta ....

The Main Max app or Standalone runs on Apple silicon and sends and receive OSC commands

Another option would be installing OLA (Open Lighting Architecture)
and build the adaptor or router there.
somenone did this. Here is the description link:
https://github.com/s-light/OLA_OSC_converter

But as I mentioned perhaps we should contact David Butler and ask him if he could compile his great external for Apple silicon.

All the best, Mike


ironside's icon

Hi Mike - I did contact David Butler, but from what I’ve seen on the discord server he runs he’s instead focusing his resources on a new lighting system for max, instead of converting imp artnet objects. I’ll see what he says though.

mike's icon

@ironside: Thats great!
I really enjoyed the imp artnet objects.
They were simple and effective.

davidestevens's icon

@ironside I'm also interested to see what David says. And yes, the Discord is for people who want to beta test his new objects. But he seems to have removed himself from the Discord server! So I have no idea what's going on.

ironside's icon

@davidestevens
I feel like there must surely be a strong argument for requesting this from Cycling74. This seems the exact issue with not having native objects, and if you think of it Artnet exists in virtually every performance space in the world, and is the main way people will be interacting with lights - in a sense it’s a bit weird something like this has to be supported just by a person doing it for free.

Does anyone know how we can point a member of C74 staff to this thread or how we’d do that?

mike's icon

From my point of view artnet should be implemented to Max.
But I dont know what other people mostly do with Max ;-)

I found an interesting in/out protocol mapping software today called chataigne.
https://benjamin.kuperberg.fr/chataigne/en#about

It is compiled for Apple silicon and no progammers skills needed. Its worth a try.
The downside is, that it is one single programmer who is taking care of the software and we need to run an additional app ....
A nerd project would be to run it on a raspberry pi and connect it to your network.
Would be a hardware solution ;-)

I am also thinking of switching to a Windows machine.
There David Butler objects work like charm :-)

All the best, Mike


ironside's icon

Thanks for that. I've written to support to request it as a feature, and I'd encourage everyone else to do the same!

ironside's icon

Apologies for keeping posting on this thread.

I've been digging around with ola again and have got OSC to ola working well.

All you need to do is install ola (I use homebrew), and launch an ola instance etc
In the configuration select OSC input, and Ola will respond to the following OSC:
"/dmx/universe/1/1 255" - this address is dmx/universe/<universe-number>/<channel-number> channel value

This is obviously a lot less elegant than native support, i.e. just having a = jitter matrix you break out into a list etc (i.e. how does it deal with 2 universes of dmx messages which would mean in theory sending/formatting/creating over 44,000 OSC messages per second), but I've found ola very stable and have used it in long term permanent installations etc, so in theory this is good!

davidestevens's icon

Long term I'm going to need support for ArtNet in Max (either 3PO or native). I've designed a system that I install in special ed schools, and it needs to be as simple and "compact" as possible (teachers have to run it!!). Having to deal with external bits of software is a no-no for this system. I'll email support as well...

ZeroValue's icon

Hope we get artnet implemented inside max too !

kleurbleur's icon

Another vote for a solution from Cycling74. I mean they did work out one for OSC, [udpsend] and [udprecieve], and made it by doing so even less compatible with other UDP systems. I think ArtNet is now more used than OSC is so it would make sense from their perspective.

billyanok's icon

Another vote from here as well.

ironside's icon

I’ve been speaking to a programmer friend, and he says the artnet protocol is fairly simple. There are also existing libraries for node.js for artnet, and I’m quite interested in seeing how much it might cost to commission a programmer to make an artnet object or some sort of solution for max.
This would then be released on GitHub with the idea it can be supported as an open source project, and therefore recompiled etc quite easily.

Does anyone have any thoughts as to whether they might be interested in supporting this? I have professional use cases where this would be invaluable, so I’d definitely put some cash in.

davidestevens's icon

I'd be willing to pay something for this; it's what is keeping me from ditching Rosetta.
Hopefully it would be reasonably future proof ...

Dg's icon

Hello,
I'm working pro with artnet since years.
At the time with [aka.datagram] this object was great then Max upgrades made this impossible, so I started again with [imp.artnet] but the artnet implementation was not very good, I tryed OSC bridges and lot of other things.

Each time the show was very stressful due to the instability of the patches.

Finally after years of inconvenience I just let down Max and all my artworks for the lack of native artnet solution in Max.

A native Artnet object is the only thing that would make me go back to Max.

billyanok's icon

I’d pay as well?
B

Alexandre Khoury's icon

Thank you Ironside this is amazing news i would love to participate too

ironside's icon

Hi Alexandre,
I’ve made a post on here trying to find someone, and then maybe when I have an idea of cost I’ll see what ways of funding it would be viable.

Seo's icon

Hello,
are there any news on this topic? I just switched to an M1 Mac Book and all my light patches that used imp.artnet aren't working. It would be so great to have a propper solution for artnet in max...

davidestevens's icon

If you don’t mind paying a moderate fee, Beam for Max seems to be the way to go at the moment. Also, it’s on sale. I’ve been using it (ie rebuilding my lighting output) for the last week, and with good help from the devs on their forum, I think I’ve got it working (can’t test with my full setup till late January, but their DMX monitor shows things happening as I would expect). It’s very flexible. On showsync.com

Marc Assenmacher's icon

Wow, this looks promising. Thanks a lot for the input.

Seo's icon

Hi everyone,

I run into the same problem after I changed to a M1 MacBook. I found that David Butler developed a set of M4L devices that implement Art-Net, based on a java class. I draged it into a Art-Net controller for Max/MSP (simplified though). It works fine for me. The only disadvantage is the fixed IP Adress (2.255.255.255). If anyone knows how to change that in the java class, it would be amazing.

Haven't played with it a lot, but it works great for my simple test setup. I would be happy to hear, if it works for you as well!

ArtnetController.zip
zip

Joris Strijbos's icon

Hey!

Great to be able to use this object. But does anyone know why the object goes into error when I save it into M4L? Everything works fine when I open the object in Max and then copy to M4L. But when I save the M4L patch the object turns red,..

I hope this is a quick search path thing , but I can't find it..

Seo's icon

hey Joris,

great to hear that it works for you in general. I have no idea why it doesn`t work in M4L and at the moment not the time to look into it. I made it to use in standalone Max. But if you want to use artnet in M4L, why not use the great objects of David Butler?
https://www.theimpersonalstereo.com/dmax