imp.dmx - DMX for Max.

imp.dmx is a cross-platform collection of Max/MSP/Jitter abstractions for dealing with DMX data in various forms. It focuses around the use of jitter matrices to store data, which the objects then read and write to. The aim is to provide the bridge between your patch and whatever object or method you use to output DMX from Max. The abstractions use native Max objects only, excepting the Art-Net patches which use some custom java networking objects, included in the distribution package.

All abstractions have fullly-featured help patchers and a comprehensive manual is included, along with an example patch showing configurations for popular DMX hardware configurations.

Abstractions Included

  • imp.dmx.read reads a list of consecutive DMX values out from a matrix.

  • imp.dmx.write writes a list of consecutive DMX values into a matrix.

  • imp.dmx.get gets the values of specified channels from a matrix.

  • imp.dmx.put puts specified values into specified channels in a matrix.

  • imp.dmx.prefix prefixes channel addresses to a list of consecutive DMX values to create a prefixed list.

  • imp.dmx.defix creates a list of consecutive DMX values from multiple lists of channel/value pairs (prefixed lists).

  • imp.dmx.artnetin broadcasts an inputted list of consecutive DMX values over IP using the Art-Net protocol.

  • imp.dmx.artnetout receives Art-Net broadcast DMX and outputs it as a list of consecutive DMX values.

  • imp.dmx.8to16 converts a single 16-bit int into two 8-bit ints, the MSB and LSB.

  • imp.dmx.16to8 converts two 8-bit ints into a 16-bit int, using them as the MSB and LSB.

  • imp.dmx.rgbcmy converts RGB values to CMY or vice versa.

Future Development

The roster of abstractions included in imp.dmx will increase in future versions. The following is a list of abstractions likely to be included in the next version:

  • imp.dmx.test – Quick, general purpose DMX testing functions.

  • imp.dmx.blackout – An easy switchable blackout function.

  • imp.dmx.midiin – Convert MIDI CC values to DMX channel values.

  • imp.dmx.midiout – Convert DMX channel values to MIDI CC values.

  • imp.dmx.oscin – Convert OSC information to DMX channel values.

  • imp.dmx.oscout – Convert DMX channel values to OSC information.

  • imp.dmx.map~ - Map a signal level to a DMX value.

  • imp.dmx.pixelmap – Map an RGBA jitter matrix to DMX values.

Licensing

Everything included in this package is released under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported license. This means that you are free to share and adapt the package, however you must credit the original work to ‘David Butler / The Impersonal Stereo’, and distribute the resulting adaptation under the same or a similar license. You may not use this work for commercial purposes (any venture where the primary goal is profit) without permission. If you wish to do so, please contact me atdavid@theimpersonalstereo.com. For the full terms of the license, seehttp://creativecommons.org/licenses/by-nc-sa/3.0/.

Tool Files

  • imp_dmx_V0_5

Rmrlife021402's icon

I followed your install instructions and the objects do not show up.
Thanks

Casey Scalf's icon

Wow, please work on this further, this is amazing, the abilities present and those you are working on are beyond amazing. The ability to read RGBA and then translate into DMX values is a game cchanger. keep up the solid work.

MJ's icon

so how far is the "future development ".

imp.dmx.pixelmap would be great!

James Elliott's icon

This was part of my inspiration for creating Afterglow, my own open-source lighting control environment, and afterglow-max, which hosts and controls it within Max. Check it out if you are interested in working with light shows on a higher level of abstraction.

dtr's icon

Hey David,

I'm seeing high CPU use by just opening the imp.artnet.controller help patch. 15% on high end quad-core i7 CPU. Is this expected?

Luc Ardaillon's icon

Hello, I just observed the same thing. Max processor usage goes up from <10% to >100% in activity monitor (on a macbook pro from 2011 with 2 GHz Intel Core i7), just by creating the imp.arnet.controller object, so it makes me hesitate to use it.

petcode's icon

Hello,

I am interested in controlling some light devices via artnet on a Mac with a M1 processor.
Is it possible to use imp.dmx or is there any other external ?

thanks in advance,
pc

Published

Creative Commons License

Author