Art-Net: Please Share Your Expertise – What Features Do You Need In Isadora?

  • Dear Community,

    In the roadmap announced at the Werkstatt in Berlin, I indicated that we would support Art-Net. But, being a total non-expert at such things, it would be very important to hear what features are crucial in terms of the Isadora implementation. There are at least three versions of Art Net and many features that are part of the specification. I don't know that we need to support them everything, and supporting a meaningful subset means you'll get this new feature faster.
    For those of you who use Art-Net, your expertise here would be incredibly helpful.
    Best Wishes,

  • Hi Mark, Speaking as a lighting/video guy here, my 2 cents (in no particular order). A lot of this stuff you probably already know, putting it in for completeness' sake ;) - while it's true that there are 3 Artnet versions, they should be interchangeable. I work with a Grandma 2 which utilizes Artnet 3. That said it performs equally well with earlier versions equipment. Roughly, the main difference are things like multi-/unicast options.  - I built a mediaserver personality for the MA2 a while back by means of an experiment using Pixeltrack Quartz Composer plugin. On the MBP running Isadora, it translated incoming artnet-dmx values to OSC. This performed fairly OK, but I didn't like to have Quartz running in the BG so I ditched it.  However, as for use with the desk: I remember creating an index for media selection on channel 1, cornerstone with 3d quad distort on channels 2 through 5 etc. And of course a 'go', 'pause' and 'back' trigger plus intensity controls etc. (Instead of using 3d quad, now I'd probably go ahead and publish the Izzymap parameters and use those instead. ) As for implementing Artnet directly : instead of the previously mentioned workaround, maybe using a secondary control id which corresponds with the DMX channel number? Artnet needs a universe number, so there should be a setting for that as well. Maybe in global prefs setup or in the control id itself? The latter would then read sth like 1.001 for universe 1, channel 1.  As you're probably already aware of Artnet only listens to the 2.... or 10..... Ip-address range.  DMX from a desk is sent in the 0-255 range per channel which translates to 0-100% intensities or a range of color-mixing with moving fixtures. But thats beyond the scope of this -already lenghty - post. Not mentioning 8 or 16 bits here.  All this refers only to Artnet Input, not output. Personally I use MSC for controlling desks from within Isadora as it's a breeze to setup and works flawlessly.  Those are just a couple of quick thoughts.  At the moment we run everything over sAcn, which is the follow-up to Artnet. Might be worth considering going that route instead of Artnet: it's not restricted to ip-ranges. One thing to keep in mind however is setting priorities for each and every id present in the network correctly. But that's a whole different story.  Sorry this may seem like a lot of disassociated rambling ;) Hope it helps and always happy to help or test thjngs out! I'm not a programmer but I may be of assistance as a lighting/video operator/programmer.  Cheers! Bart

  • Dear @BartvanG,

    Thank you so much for this detailed post. One question: where you did you find this "Pixeltrack" QC plugin? I can find no references to this on the net.
    Best Wishes,

  • Sorry its called Pixelnode, Pixeltrack is a LED fixture, had them confused ;) Here is the link:

  • Dear Mark,

    For the moment, I use the app ArtNetProxy who translate easily OSC to art-net.
    It works perfectly for my needs.
    It would be good to have the equivalent directly in Isadora:
    - choice of IP and port (with the possibility to be outside the art-net assigned IP, like on lanbox)
    - Universe / DMX channel / DMX value
    I dont know for more sophisticated possibilities of artnet.
    All the best,

  • Following…

    That was for emission, concerning reception it would be good to be able to receive artnet protocol, as to command Isadora from light boards.

  • I noticed that the lanbox rgb out actor is deprecated. Sorely missed! But the same over artnet would be great. I would like to be able to set up "fixtures" consisting of lengts of controllable led pixels with a artnet led control card. I am currently doing it with madlight with unicast enabled. Its very very useful! If you want to know more I will be happy to demonstrate it to you sometime.

  • Beta Platinum

    Hi Mark, echoing everything above.

    in terms of real world uses: I've been working quite a bit with fairly large arrays of LED pixels that are installed as moving image / light that's between lighting and video. Streamlining how those hardware control issues are handled would be great - and built-in sacn / artnet support would be quite helpful.

    A few other resources / thoughts i use w/ izzy and artnet in case they're helpful:

    • QLC is another tool for creating a soft light desk that I use pretty often to translate between izzy outputting OSC and artnet or SACN protocols.

    • the DMX king eDMX and LeDMX4 boxes are an example of a receiver other than a light board. The ledmx4 supports up to 8 universes on artnet and then translates that to pixel control of led strip.  I use them (esp the leDmx box) as an interface for pixel arrays that are then controlled from either a board, qlc or izzy. Documentation or the boxes at

    • an actor in izzy (similar to the lanbox rgb) out that outputs an array of artnet values based on the RGB or RGBW values of an incoming video frame at a definable resolution would also be very useful to have. Right now I send the video to a processing script, do the analysis and then send on to qlc. I used to use the measure color actor  in izzy- but it doesn't scale easily once you get to array sizes that are regularly 1000+ pixels.

    great to know artnet support is on the map!


  • Tech Staff


    I get the sense that @ian is doing very much the sort of thing I plan to. The DMXking boxes are exactly what I have in mind to use.
    Also, the use of Measure Color in grids is something I am doing and have done for a few touring light/video shows.
    As far as an actor that outputs an array of artnet values.. I would like to see this sort of data being presented as JSON in Isadora.. so Javascripts sort() function can be used on it.. etc...
    The same goes for an advanced Measure Color.. that outputs a definable grid of data as JSON (on my wish list ;)
    Is any one trying to run LED video walls with artNet / sAcn ?

  • I've no expertise but I have some limited experience!

    During the past few years I've been making some interactive LED works using cheap pixels with integrated controllers - WS2801, WS2812.
    There are loads of different options for controlling these lights, one of the most simple being just writing some code on an arduino (or similar) and letting it run.
    Alternatively you can control them from a computer using a variety of different protocols - serial, dmx , artnet etc.
    So one possible usage for me would be to convert the output of a stage to artnet and send it to an artnet node. I made some raspberry pi artnet node lights recently and drove them via wifi - to my surprise it worked really well!
    In the max world there is [this collection of externals]( which include a couple of artnet things 
    So it could be useful!
    Saying all this it is already possible to take say, a syphon output and convert it to serial data and use Isadora to drive your lightshow.

  • Art net Receivers could have an identifier, universe, channel and value. It could be good to revamp the matrix send and receive actors to work with the Artnet actors if they come. This is pretty useful if you want to do lighting in scenes in Isadora (still kind of crazy but for stand alone installations it is great). This at least takes care of blending in sync with your scenes. A simple artnet out actor would be great for basic communication with lighting desks, like a go signal.

    The pixel stuff would be super useful as well. It could be cool to have some kind of editor for the pixel stuff that lets you get a bit more tricky, ALA the fixture editor on QLC. As well as defining a large LED pixel screen it could be good to be able to define a single colour LED par for example, or a simple addressable strip. This way you could also do colour effects through video and to lighting fixtures (D3 has a really great implementation of this). It is a pretty cheesy feature but could come in handy for some.
    At any rate, I think there should be 2 structures for sending, one that goes direct and one through the matrix send a and receive system to handle scene fades.

  • I don't know if I have a huge amount of expertise, but some experience maybe...

    Like some other posters I've found artnet really useful in a couple of areas. One, as discussed, was for controlling LED strips. Last year I was on a project that used a series of WS2812 LED strips to make a super low res but super bright screen. The 'pixels' were driven by arduinos, we used 1 arduino per DMX universe for latency reasons so each arduino would control 170 'pixels' (with an address for each R, G & B value per pixel). The artnet was sent from madmapper which has a great feature where it averages out RGB values from a specified area of video and outputs the artnet accordingly. So the setup for the installation was using Issy to run video/audio (handling the interactive parts, scene selection etc) syphoning to MadMapper's pixelmap which then sent Artnet to the arduinos who did the rest. In this case we basically did it pixel by pixel. (Here's a link to the project)
    Using similar, if slightly less complicated setups, I've let some 'pure_video_designers' I work with control lighting when there isn't a lighting person to speak of on the project. They building something in After Effects (where they're happy) and see bits of a theatre set or trees or building light up in the corresponding colour where LED strips/parcans/uplighters take the DMX/artnet matching the colours in the video.
    Being able to patch a value in Issy to an Artnet address would be hugely useful, I guess stage one would be an ArtnetOut actor. Or like @Fred suggests, some kind of editor would be really great. A way of integrating it with IssyMap would be amazing; draw a box over a bit of video - and get ether 1 (e.g. brightness), 3 (e.g. RGB) or 4 (e.g. RGBW) artnet values from that section of video would be simply amazing.
    My other experience with artnet is the other way around, using LX desks to control media servers. I'm sure the most straight forward way of using Artnet as an input in Issy would be to have an actor similar to the OSC Listener which could be connected to any value. As @BartvanG suggested having a more integrated use would be incredible, say alongside the 'Control ID Link' on each value. A further implication of this would be the option to address an entire actor with a value for each of it's inputs starting with 'x' and addressing each input value accordingly. The big advantage here, other than saving time programming, would be that users could standardise the other end, i.e. at the lighting desk and share the LX desk fixtures amount the community. For example, it would be relatively straightforward to create an 'Issy Projector' fixture on an ETC desk. If users downloaded that fixture and then they would have a fixture on their LX desk with integrated values for 'horz pos', 'vert pos', 'width' etc. Patch that fixture on the LX desk then address the Projector Actor you want to control in Issy and you'd be away. A few dedicated LX inclined users could very quickly make fixtures available for the commonly used LX desks and Issy Actors. I volunteer right now!
    Really looking forward to seeing how this might take shape.

  • A little after thought to my long and rambling post above (having woken up with still thinking about it).

    I know a lot of people here won't be over familiar with the features on LX desks so to explain a little...
    On most desks one can create 'fixtures' that can be saved and passed on, many will come built in to desks and are updated with regular software updates. These 'fixtures' traditionally relate to different kinds of lights and can have multiple DMX addresses associated with them for the different parameters used to control one unit. This would normally be intensity, pan, tilt, R, G, B, zoom, etc etc.
    One nice feature of fixtures is that if they are set up well then the lighting desk handles a lot of the tricky stuff. DMX may be limited to 256 values per address but you can specify a 16bit value. This requires 2 address but on the desk would just appear as one 'value'.
    My feeling is that users could set up a range of fixtures for Isadora based on 'default' Isadora settings: i.e. on a 'projector fixture' the 'horiz pos' values would be between -100 & 100, 'layer' between -10 & 10, 'zoom' 0 & 1000\. A 'colorizer' fixture would probably have 4 values (addresses) for red, green, blue and bypass. In ETC's user interface you could treat this aThese could be easily shared so they're available to everyone. 
    This way it would be really straight forward for someone who is new to working in this way to gain a significant level of control from the LX desk's user interface including people who are familiar with lighting but not so much with Isadora. Using the drag and drop features since 2.0 you could drag your video in, patch your LX desk and have integrated control just like that. Users who wanted to would be able to edit as necessary but would have a good foundation of the 'default fixtures' to start from. Often when creating fixtures for an LX desk I'll find a similar fixture to use as a template and edit it so it would be good to have the basics already in.
    One the ETC interface it would look something like the pictures below.

    2e5c8b-screen-shot-2016-09-02-at-11.58.36.png ddd0ec-screen-shot-2016-09-02-at-11.53.18.png

  • Hello,

    Lacking the movie to RGB actor, I just made a processing app who do that.
    It pixelize the film and send DMX RGB value via DMX. It's not with Isadora, but it seems possible to send image via syphon, I will try.
    You need Processing with OSCP5 and Video libraries and ArtNetProxy app.
    Notes and Manual are in French (it was made for friend's help) but I will translate it in English tomorrow.
    It works for me, feel free to improve an comment.
    All the best,

  • @jhoeppfner

    How do you define what part of the image goes out to what range of addresses? In order to map a bunch of strips for example one would need to define ranges within the image.  Also maybe straight to artnet without OSC. Checkout
    That would be incredible useful.
    @mark - In fact, thats what I would love to see in isadora in terms of artnet functionality. Basically the functionality of the deprecated Lanbox RGB Out actor.

  • @fubbi

    For the moment it's really a prototype, so all must be made inside the Processing code. In the file I posted:
    – it take all the image, here 1280x720 pixels (line 26) and divide it by 100 (line 18), so there is 12 columns and 7 rows
    – It makes 12 x 7 = 84 pixels and then 84 x 3 = 252 dmx channels beginning at 0 (line 51)
    I try to use artiste directly in processing but it's not trivial… artnet4j is more involved in receiving artnet and the IP protocol is limited to the artnet legacy network (2.0.0.X) and not my network (192.168.1.X), but I work on it and I am waiting for the "Isadora by Mark" proposition replacing the Lanbox RGB Out…
  • Beta Platinum

    Hi, Is there a reason why there is no UDP stream control actors in Isadora? Such as UDPlisteners and senders? Cheers Bonemap

  • Hi, Mark,

    In the last project I worked at  a place where they are used to Arena, and I had a chance to compare Arena with Isadora. After some experiments and trials I decided to use both Arena and Isadora, which communicated with two other programs via syphon –– so we had a linear pipeline like this: MulchCam video capture App -> Arena -> Sound reactive DynamicGeometryApp -> Isadora.
    The reason I decided to leave Arena in the pipeline was due to the nature of the footage we had Arena to add to the live stream: There were literally hundreds of files, and the technician was making the decision on which file and which part of the file to drop into the mix in real time. Arena interface, in contrast to Isadora, was very helpful in making that decision: as the system was rendering the current file, you could play any other file, as a preview, apply effects to that preview, select a fragment you liked, and finally drop it into the pipeline.  This is basically the feature I would like to have in Isadora.

  • Dear @eight and @bonemap,

    Thanks for these comments, but can we keep this thread on topic, i.e. about ArtNet?
    That being said, to answer @bonemap, I never added any UDP actors because it simply never came up before as something people wanted. You're the first to mention it.
    And for @eight I will keep these kinds of features in mind for the future. I've never really used Arena, so I'm not sure how their user interface works Can you please start a new thread on this? I'd really like to keep this topic focused on ArtNet.
    Best Wishes,
  • Beta Platinum


    Thanks Mark - that is a fair call. I just thought that due to ArtNet being a UDP type it might be useful to have a companion UDP implementation. I would use both ArtNet and UDP with my LanBox. It is just right now I could use the analogue inputs of the LanBox for a pressure mat switch and that feature of the LanBox appears to favour UDP network.