Enttec DMX USB Pro - New Max Object - imp.dmx.usbpro - BETA VERSION
I've been working on this as a replacement for the exiting dmxusbpro object by Olaf Matthes, which I've been having problems with recently when using receive mode in Max 6. It's not a drop-in replacement, your patch may need some minor changes but it works basically the same way.
This object is built for OS X 10.5 and up, and provides support for every mode of operation of the DMX USB Pro hardware via the VCP drivers. No windows version yet, but I'm working on it. Help patcher included.
Please don't use for any shows. It's not yet guaranteed to be stable, although I haven't seen any crashes so far.
CC-Attribution-Non-Commerical-ShareAlike licensed for now. I'm exploring possibilities for future commercial licensing. http://creativecommons.org/licenses/by-nc-sa/3.0.
Cool. Will give it a try but only in a couple of weeks. Big shows coming up...
I haven't experienced any issues with Olaf's though. Have no need for receive mode either.
Since I don't use Max6, may I ask what the problem was/is?
When initially connecting to the hardware (in receive mode) using the dmxusbpro object, numerous errors are posted to the max window saying 'returned data has wrong size (514)'. No messages are output from the object containing received DMX data. Furthermore, when attempting to quit Max, the application freezes. After force quitting, it becomes impossible to open Max again as it freezes on load. Occasionally after 30 seconds or so the whole system will lock up requiring an emergency reboot. If reboot or shut down is selected from OS menu bar, system will freeze while attempting to shut down.
This happens using the object with Max 6 both with OS X 10.7 and with 10.8.
Thanks for the explanation, David. Are you sure this worked in earlier versions of Max and/or OS X? I had the same thing in Max4 on 10.4 some years ago. My understanding was that in receive mode the Entetc box just sends all the data to the computer. If you close the patch while in receive mode it keeps on sending, flooding the USB bus with data that nobody ever reads. So eventualy other devices connected to the USB bus (mouse, keyboard) will respond very slow also.
A semi-practical work-around was to always switch back to send mode before closing a patch.
The last time I'd used receive mode and had it working was with Max 5 and OS X 10.6.
There seem to be two issues here, firstly the interpretation of the received DMX packet (which is failing), and secondly the fact that the serial port perhaps isn't being closed in the object free method.
David,
Please tell us when your windows version is available.
regards.
Nicolight
I can't really make any promises as to when the Windows version will be available. The serial port connection functions will have to be rewritten to use the windows SDK rather than POSIX methods, which will take a bit of time as I'm not very familiar with Windows programming. It's not a massive change but I don't know when I'll be able to find the time to do it. Hopefully within the next month.
Hello David,
First, many thanks for the imp.dmx.usbpro object.
I use it with no problem until yesterday.
I get this message (MacBookPro 2.8 GHz Intel Core 2 Duo / Mac Os 10.5.8) :
imp.dmx.usbpro: unable to load object bundle executable
2013-03-14 00:28:35.087 Max[130:20b] Error loading /Max Patches/lib/imp_dmx_usbproV0_8/imp.dmx.usbpro.mxo/Contents/MacOS/imp.dmx.usbpro: dlopen(/Max Patches/lib/imp_dmx_usbproV0_8/imp.dmx.usbpro.mxo/Contents/MacOS/imp.dmx.usbpro, 262): no suitable image
found. Did find:
/Max Patches/lib/imp_dmx_usbproV0_8/imp.dmx.usbpro.mxo/Contents/MacOS/imp.dmx.usbpro: unknown required load command 0x80000022
Have you encountered this problem ?
Thanks
Pry
I think the problem may be your OS X version, I build all my objects against the 10.6 SDK so they're unlikely to work with anything below. Have you managed to use it at all in 10.5?
Hi David,
Finaly I've found a 10.6 Laptop. Everything worked perfectly.
Thanks. I love your objects.
Pry
Great work! However, quick question: I am using the dmx usb pro MK2, and it seems to close the connection after a short while. I suspect this might have something to do with the amount of messages being sent to the object (it works slightly better when I lower the frame rate), but do you have any similar experiences or tips on how to improve on this?
Also, any chance of support for two universes?
There's definitely some serial connection problems with the current release, I'll try and find some time to take a look at it. I'd like to add support for the MK2 features but I don't have a hardware unit. If someone is willing to lend me one I should be able to do it fairly quickly.
Hi David,
I want to run 'Dmax' for max for live but cant get Olaf's dmxusbpro external to work, im pretty rusty with max msp so not sure if its a driver issue, although I have downloaded the latest VCP driver from FTDI -> http://www.ftdichip.com/Drivers/VCP.htm
I have downloaded and installed your DMX external and have Max6 running on 10.8 and the dmx usb pro connected to a fixture and all works fine. :)
Do you know if its possible to get dmax to work with your external instead of the dmxusbpro external?
Thanks.
It's possible, but there's known issues with my dmxusbpro external at the moment so I wouldn't rely on it for a show. I'm working on an update currently, after which I'll probably do a minor update to DMaX to add it in.
Hi David,
Thats great news, im super keen to test it out.
Do you have an ETA on when you will be releasing the update?
A friend and I have tried to build in your external into dmax (attached) but for some reason the imp.dmx.usbpro external always appears beige. Not sure why.
have a look. it works fine on windows using the serial object without any external.
Hi,
I've been using the USBDMXPRO Enttec box for a while now with David's imp.dmxusbpro object. Although I've been using it with standard LED RGB "DJ Lights", recently I used it to run the lighting system of a big theater. I was trying to control the lighting system with some custom build Arduino interfaces using the Enttec box. At first everything looked good, but then the thing started crashing. It wasn't Max that crashed but the box that suddenly closed the USB connection (reported by the Max window), after I while I realized that this happened when I called several DMX addresses at once or when the numbers to those addresses moved very fast (the custom interface is a fader so I'm using the whole 0 to 255 range of the DMX addresses I'm calling).
My conclusions where that either the Enttec box couldn't take all that information that fast (I'm using the old USBDMXPRO with the white label, I know there's a newer one, perhaps that one has that solved) or that David's object got confused when you put to much information in it since is my understanding that it is creating jitter matrices, and since I'm not a programmer I wonder if the object has to create a list for every DMX address in all the range, whether you're using them or not. I'm mentioning this because I know you can limit the number of DMX channels you're using in the Max object and when I did that it stopped crashing (for now). But since a theater has hundreds of DMX addresses you need to have the capacity to use them all.
Still, I don't know of it's the box or the object, I don't think is my computer because I tried it with two different ones.
Any thoughts anyone, David, Olaf...?
Thanks.
There's definitely problems with the imp.dmx.usbpro external. I haven't really done any work on it since the initial beta. It's high on my to-do list but I have very little time to maintain my code at the moment. There will be an announcement when I get around to fixing it.
Thanks for the quick reply David, I'm looking forward for your update, I think your object is great!
Any thoughts on how to reduce the crashing?
helle everyone,
for a project i need to be able to thru a dmx signal, but at various moments block it completely and then output some very simpel static dmx data. i was thinking of perhaps using two dmx usb pro's and two imp.dmx.usbpro objects for both input and output of dmx data. does anyone know if this is possible? or perhaps someone knows an easier solution. it seems the mk2 is a bit out of budget, but that might perhaps be a solution as well....
any help/advice would be very welcome.
anne-jan
hello everyone,
for a project i need to be able to thru a dmx signal, but at various moments block it completely and then output some very simpel static dmx data. i was thinking of perhaps using two dmx usb pro's and two imp.dmx.usbpro objects for both input and output of dmx data. does anyone know if this is possible? or perhaps someone knows an easier solution. it seems the mk2 is a bit out of budget, but that might perhaps be a solution as well....
any help/advice would be very welcome.
anne-jan
Hi all,
I was wondering if this object or Olaf's support the new entect model "Enttec DMX USB Pro MK2"?
Thanks and all the best
Frank
Both will work with the MkII, although you can't use the extended features (2nd universe, MIDI, etc.) I am planning to add support for these but I don't own a unit currently.
@David Butler I have a unit you can borrow for a while if that helps! Thanks for the great work and sharing.
@DRKOSS That would be really useful if you can do without it for a week or two. Drop me an email: david@theimpersonalstereo.com.
Whats the current status for updates and support for this and usbdmxpro? Are there still people using this successfully?
@skadarnold I've used the current object in max 6, and it worked well.
Same here, the object works great in Max 6. I'm using the old ENTTEC Pro USBDMX. In my personal experience, the less amount of DMX addresses you use (you can set that using the attrui object) the more stable it is. If you're using 24 addresses (which is the minimum amount) both the object and the DMX box are really stable. You'll have to make a stress text to find the threshold. I found out that when you use the whole 512 addresses (or more than 100-200), the object collapses when you move the values quickly. In conclusion (and in my own experience), the object and the box work great if you're using a set of RGB DMX lights, but not so much if you want to use it in (or hack into a) professional set of lights in a big venue (like a theater) because the DMX addresses in those kind of places are already set before hand (if you have a "local" kind of set, like RGB DMX lights, you can set the addresses yourself) and also there are so many lights that the addresses will range from 1 to 512.
That being said, the object is really great and I've been doing some really cool work/research with it. Which is why I'm still waiting for David to come up with an updated version of this awesome thing.
Has anyone used the Enttec Pro Mk2 in standalone mode? I'm wondering if it records in real time as opposed to the step-sequencer recording found in other DMX hardware? I'd like to be able to simply perform/compose changing values to a few LED par cans and have it play these back, exactly as performed, disconnected from the computer. I realize there are other possibilities with Arduino/Ras Pi etc, but this could be very simple...
thanks from a new MAX user
It doesn't make me exactly "happy" to say but the most stable and most robust system I've been able to create is with Max driving values over to QLC+ Light Controller Plus. No problem running hundreds of channels, quick data changes, etc. Limited to 128 levels instead of 256 though.
/shrug
@manysounds
I wouldn't simply "/shrug" it off. it really sucks that these externals don't work. I'm running Yosemite, and they don't work on Max 6 or 7.
but ya, for now, i'm going your method of controlling light, but hoping in the near future I'll be able to do it all in Max.
Have faith, there will be a new version which supports the Mk2 features soon... I have a unit for testing now, so its just the issue of finding time to do it. All my personal projects have been suffering lately as I've been leading a fairly massive development project at work, so the last thing I've felt like doing recently when getting home is sitting down and coding again...
I have a long-haul flight coming up on Sunday so I might be able to make some progress soon. This one is definitely at the top of my list!
that's great to hear! thanks.
Greetings David!
Just to get on the and wagon of please and thank you (and max 7?)
any word on when this might drop?
many thanks
Jamie
I've been using Olaf's dmxusbpro object with success with the mk2 enttec for rgb led pars. I do have a slight flickering when shifting values though. I run the signal through a line delay for slow transitions, so I'm wondering if the flickering is more likely caused by that, the interface or just an issue with dmx resolution?
Have either of these objects been tested in Max7 running on Yosemite?
Thanks!
I've had [dmxusbpro] running in Max 7 and 10.10 without any troubles.
Hello,
Like Dale I'm experiencing flickering with 2 LED Par 36 and Enttec USB DMX Pro.
I've stored R, G, B, White and Dimmer values with Patterstorage, and I'm using line object to ramp values between memory slots.
Each time, strange flickering happens.
I've tried several things :
- use a DMX terminator with the last Par
- change Baudrate and refresh rate
- checking drivers version
- plug the Pars on an other DC outlet than the computer
I've no more ideas...
Any advice would be very appreciated.
Alain
Mac OS 10.10.2 / Max 7.0.3
try this: http://www.opasquet.fr/dmxusbpro/
works well for me, it just takes away all the mystery and BS behind these custom externals and just shows you how to feed messages directly into a [serial] object
This works really well for me, no flickering and pretty smooth. Only problem is that serial communication of the ENTTEC tends to crash (Max window reports "imp.dmx.usbpro: serial communication failed") when values move too fast and/or when your using a lot of DMX addresses. My best guess is that it's the imp.dmx.usbpro object. We're still waiting for an update of David's awesome object.
Hope it helps!
Juan.
Mac OS 10.10.3/Max 6.1.7
Thanks for your answer.
But same thing with Olivier Pasquet's abstraction, even worse : more flickering...
I don't know what's wrong...
I've just found what's wrong : a feedback caused a strange behavior of the blue value of one Par.
When the feedback is disabled, everything is normal.
Thanks again, this way I keep learning...
Any news regarding the object supporting mk2 ? I need to use both universes (two sides of the room) and would love to use the object. Otherwise, is anyone successfully using both objects with the raw serial approach?
Hi all-
Big thanks to David the imp- the object is great, and Ive used it any several Installation / Performance contexts.
I have two things to report:
1: The dropping serial comms issue: I had luck when limiting the number of channels to those actually used (in this case 24)- this stopped it dropping comms regularly when under heavy load.
2: Compatibility- Max 7 64 bit: @PRY above mentions this- "imp.dmx.usbpro: unable to load object bundle executable"
Everything was working fine til I decided to try run Max 7 in 64 bit mode (by default it runs in 32bit mode- theres a check box under get info). Then I get this error and it doesnt load- presumably not compatible with 64 bit?
Thanks again David- look forward to any and all updates, with fingers crossed in particular for 64bit support!
Cheers
~Fold
Hi David an all:
I´m using the imp.dmx.usbpro with a MacBook Pro with Yosemite and a Enttec DMX USBpro Mk2 with Max 7 in 32 bits mode. With Max 7 in 64 bits mode I also get the error "unable to load object bundle executable". But in 32 bits mode all run fine with my little setup. Thanks you David.
Hello David,
First of all thanks for your great job...
I'm currently trying stuff and i would like to know if you're still in the move for updating imp.dmxusbpro to make it run under max 7 64b and have the access to 1024 channels for the mk2 version?
If you need again the box i'm able to drop you mine for a while...
If this is not in your plan for the next 2 months please let me know i will then work under M7 32b mode
Thank you
Cheers
Hubert
Hi all,
I have been using the [dmxusbpro.mxo] object for a long time with both the "USB DMX Pro" and "DMX USB Pro Mk2"
Since a while now, very often the device is not recognized and it takes a a lot of program/computer restarts to get it to work.
So it has become more unreliable for me.
So I wanted to give imp.dmx.usbpro a try, but can't seem to find it on the download page.
Am I missing something,
and are there any other alternatives for the Entec devices?
All the best
Frank
Hi Frank-
Here is the imp.dmx object I've been using without issue. David (Impersonal Stereo) may be able to re-upload for you also...
Many thanks to David as always for sharing this- although it is "Beta", I've been using it without issue for years.
I got this from a project file, so let me know if you have problems running it and I'll upload again from a different file.
Cheers
~Fold
Hi Frank,
i use this abstraction to drive a 'DMXUSB Pro' .
All inside is made with Max objects. So you are not linked to an external developers.
Thanks to Olivier Pasquet for his initial job !
fxw
Hello François,
Many thanks for sharing this (and, of course, thanks to Olivier Pasquet) !
I needed my dmxusbpro to work with max 6.1 on OSX El Capitan for a show next weekend, and I couldn't make it to work with Olaf Matthes' dmxusbpro external...
With your abstraction it works like a charm !
Hello,
While using the fxwdmxusbpro object I was wondering if one always has to feed the object with a list of all DMX channels state to update a single value or if there is an easier / lighter solution.
Today I'm using 236 DMX channels for an installation.
Until today I've always used less than 20 channels so I'm used to send a list of 20 values to the fxwdmxusbpro object... Now sending 236 values each time I need to update a single value feels weird to me.
But I'm probably doing something wrong... I know I'm still a beginner with Max.
Any help is appreciated !
I think thats the deal with DMX. i.e. addresses are counted up from 1 according to how many there are instead of you specifying an address to send to as that would require extra data for the address.
Hi Luke, thank you for your clear answer.
Thinking a little bit more about this, I have no problem with the serial port sending all this info (all values for all channels) each time I update a single value, but now I'm wondering how I can make a "clean" patch for these 236 channels.
I'm using slider objects for these channels and was beginning to use a bondo object with 236 inlets/outlets (then feeding a pack object) ... I guess it's not a great way to do what I need.
I probably have to think a little bit more again.
Its finicky about timing and you don't want to overload the serial buffer, so don't update every time you move a slider. I think whats best is to update a list and then send it out with regular timing with a metro or something... Not played with it for a bit.
Thanks for the tip, I will try what you suggest and adjust the metro speed depending on the results.