My christmas light grid

mrpackethead's picture

Big shout out to Kineme for the hints and help to get my christmas lights grid going.. These animations are powered out of Quartz, using the Kineme audio patches etc..

Sorry about the Video quality, i need to figure out something smarter there!

I created the compositions in quartz, then rendered them using crystal quartz as a series of images. I downsampled them using imagemagik to a 16x10 PPM image, then used some very ugly perl scripts to read indivual rgb values, and create the xml files for a program called 'Vixen'.. Vixen is a light sequecing/playback software..

The 'pixels' are DMX controlled. ( http://www.response-box.com/rgblights/index.shtml )..

I started to wonder last night, if i could directly drive the pixels from quartz, using the Artnet-Tools.. Can i somehow 'sample' the image that quartz is generating ( in real time ) and output to dmx.. THe possiblitys for an interactive show, become very possible..

Any ideas welcome.

franz's picture
possible

you could drive the pixels under QC, with the image pixel patch that reads RGBA values, but it is amazingly slow... (apparently the data has to go from GPU back to main memory, and ingeneers didn't think it that way).

At least with the ArtNet patch you could read your xml files in QC and send the data via DMX. Hence getting rid of Vixen.

cwright's picture
sampling

like franz said, the image pixel patch will let you sample an image, but it will be painfully slow for any reasonably sized image.

It wouldn't be difficult to write a small image->2d structure patch someday, which would do essentially the same thing, but without the expensive iterator/sample step (we'd sample all the pixels at once)...

franz's picture
+ 1

that patch would be EXTREMELY usefull !!!

mfreakz's picture
It sounds interesting...

It could be interesting for other CVision Stuff too...

bernardo's picture
a small request

hi there mr christopher could you point out how to make this in via javascript and output an 2d structure wiht an image resampled to a, lets say 18X14 more or less (wich would output a value of: 1 channel 2 value of that point) i know that memo has done it something like it but i would like to understand it more thanks

cwright's picture
possible?

I don't think it's possible to sample images from the javascript patch -- memo either uses the Image Pixel patch and some iterators, or he wrote a custom patch to do it.

bernardo's picture
could you please write such

could you please write such an patch for the rest of us please please please thanks b.

mrpackethead's picture
Re: sampling

When you say "resonably sized image" how big do you mean? For my application i only need a image thats just 10x16 pixels.. I might jsut double that to say 20x32, either way its not a huge image.. would it be too slow to do this at say 40Hz refresh rate?

The alternative of course is not to generate my dmx data from an 'image'.. Maybe i can write a bunch of functions, which could be modulated by audio etc.

That could create a completely different look to what i did last year, but maybe not a bad one.

I've recently created a new version of my led pixel, thats just 1/5th of the cost to manufacture, so i can fesibly hook up a lot more rgb pixels than last year.

franz's picture
Re: sampling

Due to QC paradigm, it would be slow, even 20*32. Test it by yourself if you don't believe. Since all image data is processed via GPU, it is extremely painfull to get that data back to the CPU for further processing.

To address individual pixels you have multiple options:

  • 1 use Max/Msp Jitter : done on the CPU, it has "matrix" style processing, almost perfect for your task. Plenty of examples around.

  • 2 use vvvv via boot camp. Perfect for this. Free. tons of examples.

  • 3 use PixelMaz, a dedicated software for LED walls. Not free as far as i remember.

  • 4 use a hardware LED driver - which i'm using - . accepts DVi signal as input. Will sort all your problems.

  • 5 write your self a QCplugin that does the job and outputs the data in the right structure format. Post it here once it is done. Give me your adress and i'll send you a present ;)

  • 6 commission KnM to develop such a plug. Eventually group yourself with other users (like me) to reduce costs. Or beg Chris (which is very unlikely to produce results, but who knows)

mrpackethead's picture
Re: sampling

1 use Max/Msp Jitter : done on the CPU, it has "matrix" style processing, >almost perfect for your task. Plenty of examples around.

A sensible option, and i've done this in the past.

2 use vvvv via boot camp. Perfect for this. Free. tons of examples.

Not familar, but will google.

*

  3 use PixelMaz, a dedicated software for LED walls. Not free as far as i remember.
*

I'll go and have a look see.

4 use a hardware LED driver - which i'm using - . accepts DVi signal as input. Will sort all your problems.

Mmm, thats a nice idea. What hardware are you using?

5 write your self a QCplugin that does the job and outputs the data in the right structure format. Post it here once it is done. Give me your adressand i'll send you a present ;)

I'm not really wired to do such a thing!

commission KnM to develop such a plug. Eventually group yourself with other users (like me) to reduce costs. Or beg Chris (which is very unlikely to produce results, but who knows)

What about beg and pay? I have no idea what this might cost, but this is possibly an option as well. Chris, if you're reading this, you might like to think of a price, and let me know? If anyone else whats to help chip in for this, let me know as well. (email me andrew dot frazer @ btg dot co dot nz )

franz's picture
Re: sampling

i'm using a ayrton DREAMPANEL DV-384 controller. It is plug and play (self configures ). Works only with ayrton hardware, as far as i know.

more info here: http://www.ayrton.eu/product/dreampanel-dv-384

note that there are cheaper DIY solutions around (but couldn't name one ).

Count me in for the plug. I'll mail you. btw, are you addressing each of your LED manually, or are you using LED arrays ?

mrpackethead's picture
Re: sampling

each of my leds is 3 DMX channels.

The older version was a standalone dmx device in its own right. The newer desisgn( much much cheaper ) is a 'string' of pixels ( up to 20 ), with a dmx controller on the end.