Jump to content
Light-O-Rama Forums

Sequence builder for rgb targets. meighan.net/seqbuilder/index.php


smeighan

Recommended Posts

Hello LOR community;

I am new to all of this. I have only used the Mr Christmas 6 channel light controllers from Home Depot. Over the next year i plan on getting 6 Lynx express, some of the smart strings and build a mega tree, I do not think i will be using LOR yet, i will start with Vixen.

I decided to build a tool to create sequences on target RGB objects. The output of this tool will work for LOR/Vixen/LSP.

Some info on the design of the sequencer.

The entire tool is web based.
Select math model on the left side of web page
1) Cone
2) Plane
3) Fan

For each model i have various mathematical algorithms to create images. For example code that produces a spiral line on the cone. The math model output (X,Y,Z) is written to a file.

On the right side of the web page is the models to project on. I have finished the code for creating a megatree with any number of segments.
1) Megatree. You define the number of segments (ie. 8, 16, 32 .et.c), the number of pixels per leg, the channel number, the starting and ending pixel number., the height of the megatree and the radius. With this i create the output model. X,Y,Z, channel, pixel. One datapoint for all. so if you had 16 channels and 60 pixels per leg there would be 960 data points written to a target model file. Web page builds the file X,Y,Z,Channel, Pixel#

2) Flat plane of vertical LEDs. The matrix of LED's all located in x,y,z space. TBD
3) A snowman, 10' tall. Three spheres. This is just to show that the target models can be any shape. TBD

Example:
I create a 10' high cone with 2.5' radius. I run the model for spirals across the cone.
I move the 10' cone on top of the model for the megatree.
I then map the model file of x,y,z data to the target model by finding the distance of each pixel from the target using d = sqrt (( x1-x2)**2 + (y1-y2)**2 + (z1-z2)**2))
i have set parameters of how close a pixel has to be to be set on. I will then select the target pixels and mark them as ON with the RGB from the source model.

I plan on allowing multiple math fomulas on the cone (spiral lines, stars) combined together.

Here is the first pass of the tool: http://meighan.net/seqbuilder/index.php

I next want to export the sequence as an xml file to import into lsp/vixen/lor. Since i don't own LOR, is there a document that describes the xml i would need to create?

I plan on the web page allowing you to select which animation model you want ( radio buttons will allow selecting as many as i have in the gallery) and then projecting the animation onto the model of the target (megatree, flat panel, snowman,.etc.).

I started a thread on this software also here
http://diylightanimation.com/index.php?topic=7657.0

i will add a half mega-tree this week as a another target model.

Thanks
sean

Link to comment
Share on other sites

  • Replies 57
  • Created
  • Last Reply

Top Posters In This Topic

  • smeighan

    12

  • shfr26

    5

  • George Simmons

    4

  • Don

    4

Sean,

You asked;

"I next want to export the sequence as an xml file to import into lsp/vixen/lor. Since i don't own LOR, is there a document that describes the xml i would need to create?"

Let me get you pointed in the right direction...

First, use LOR, not Vixen.


The answer is no, but you can download the demo version of LOR, import a sequence (buy one or get one free from a number of sites which can be found on LOR forum)then import the sequence into a text editor and view the xml structure.

What you are doing is pretty cool. Once you download the software, be sure to check out the visualizer. It is there, we build fixtures and props (objects, if you will) for decorating.

Link to comment
Share on other sites

Impressive. Thanks for all your effort on this Sean.

A few things to consider.

A prop with so many RGB bulbs will be expensive. Options to allow the string to be folded back, cut, or rearranged will pull in users with fewer strings.

Say I wanted to build a cube from RGB strings. I could make a 10 by 10 by 10 cube from 20 strings of 50 by wrapping each up and down 5 times. Could not be done if only straight line models are supported.

When moving a sphere through the cube model will just the sphere surface turn on the light or will there be a 3d sphere with all internal lights on? Definitely need a way to vary the color during movement. Once the pattern is in LOR there is no way to effect the color of each channel. Are you planing axis spins and straight line movements only? Are curved movements possible?

Your examples all show the spiral being built. While a sequence is going to want to rotate a pattern like a spiral around the model.


FYI LOR supports a 'clipboard' file (xml) which has no channel information. It is channel neutral and can be pasted into any set of channels without knowing the unit or channel arrangement. It is up to the user to arrange their sequence channels to use the model. The reason I bring this up is that, no one is going to have only a multi string RGB prop as their display. A LOR sequence to support one prop must be incorporated into the final sequence which has commands for all the other props in it as well. Also the motions you are building will not be associated with beats of the music. The user will have to shrink or stretch a movement to match the song. In LOR SE, one way this is done is with the clipboard paste settings.

Link to comment
Share on other sites

The targets are not limited to straight lines.
In fact, i modeled a snowman, 3 spheres with LEDS wrapped around them. They worked as expected.

The target models look like this:
ch# pixel# x,y,z
This is an ASCII file, space delimited. They could be built outside my tool and read in.

You tell me where the pixel is in x,y,z space, ill project the math model on it. In fact you could have 3 mega trees, a flatpanel wall, a cube. i can project a math model across all of them. Right now i am just using a cone to a megatree because that is my interest. The design is totally open.

The math model produces a series of data points (depending on my sampling). Currently i am sampling 100 data points for each spiral arm. , for example
The source mode is
X,Y,Z,rgb

I can combine multiple math models (say spirals and snowflakes), i sort the dat by the zaxis and then search the entire target array for the closest match. I am doing the math in inches currently. i use 1" for the top of the cone to determine a match and 3" at the bottom. My model is 10' or 120" high.

To your questions:

A prop with so many RGB bulbs will be expensive. Options to allow the string to be folded back, cut, or rearranged will pull in users with fewer strings.

Sean: You can make any shape: You could wrap it around a car and the model would stay work. Besides the current match routine i plan on also supporting orthographic projection.

Say I wanted to build a cube from RGB strings. I could make a 10 by 10 by 10 cube from 20 strings of 50 by wrapping each up and down 5 times. Could not be done if only straight line models are supported.
Sean: Anything in x,y,z space is supported.

When moving a sphere through the cube model will just the sphere surface turn on the light or will there be a 3d sphere with all internal lights on? Definitely need a way to vary the color during movement. Once the pattern is in LOR there is no way to effect the color of each channel. Are you planing axis spins and straight line movements only? Are curved movements possible?
Sean: curved should work. As far as a sphere on a cube, this is like the calculus problem of finding the intersection when two 3D objects intersect. I expect there is lots, lots of work that could go to how me match a model to the target. i already have 3 ways just matching a cone to the megatree. I envision allowing these matching algorithms to be selected thru radio buttons on the web page. Then run the model and see what you get.


Your examples all show the spiral being built. While a sequence is going to want to rotate a pattern like a spiral around the model.
Sean: One of the next models i will be is rotating the spirals. This is just draw the lines fully on the cone and then rotate and project.


FYI LOR supports a 'clipboard' file (xml) which has no channel information. It is channel neutral and can be pasted into any set of channels without knowing the unit or channel arrangement. It is up to the user to arrange their sequence channels to use the model. The reason I bring this up is that, no one is going to have only a multi string RGB prop as their display. A LOR sequence to support one prop must be incorporated into the final sequence which has commands for all the other props in it as well. Also the motions you are building will not be associated with beats of the music. The user will have to shrink or stretch a movement to match the song. In LOR SE, one way this is done is with the clipboard paste settings.

Sean: for any given sequence i will prompt for how long you want it, say 5 secs. I then will know how much time to set the animation frames. This could get the sequence close to what you want in your overall show. Remember, the tool is just to build some complicated animations that could be put into the middle of a song. Everything else will have to come from LOR.

thanks for the input
sean

Link to comment
Share on other sites

New release meighan.net/seqbuilder/index.php

This version has some more documentation in the header of the webpage.

I added a new column with half of a mega-tree. I basically took a 16 segment tree and built only the front half.

Web page will load faster now.

I also checked the web page on my ipad safari browser, it works fine.

thanks
sean

Link to comment
Share on other sites

Verry cool - nice work. Not sure if you found your xml answer yet, but I would love to see it when its outputting a lor friendly XML.

(I'd REALLY love if lor built the "math" in so objects like trees and other high channel counts were shown as a single item and could be modified as such.

I THINK there is a basic tree wizzard... but I hate that if I want to do something like just make it spin faster, I have to erase the timing grid and start over.

IF lor put the math into the code, then one day when I want the tree to spin faster, I just have to turn a knob - instead of re-making a whole section of sequence.

But still - verry nice work. Kudo's

Link to comment
Share on other sites

Thanks. I am putting in the forms that will allow you to vary the math models now. I just created a new model for doing what you describe.
Example:
You will be prompted:
Math model? Spirals on a cone
Number of Spirals? 3
Size of Cone? 10' high, 5' diameter
How many steps to rotate thru 360 degrees? 36 (so 10 degrees per rotation)
How long for one full rotation? 6 seconds
What target to project on? 16 segment mega-tree

The web page will then calculate the model and the target. With 36 steps there will be 36 output target X,Y,Z objects created. It will calculate the delay between rotations as
delay per rotation = 6 seconds/36 steps
delay per rotation = 166 ms
I believe i then need to round this to the nearest time quantum. So if you have set the time quantum as 50ms, i would delay each rotation as 150ms.

I should have this all working by next week. What i need to do is get the xml outputs working.

thanks
sean



gizmomkr wrote:

Verry cool - nice work. Not sure if you found your xml answer yet, but I would love to see it when its outputting a lor friendly XML.

(I'd REALLY love if lor built the "math" in so objects like trees and other high channel counts were shown as a single item and could be modified as such.

I THINK there is a basic tree wizzard... but I hate that if I want to do something like just make it spin faster, I have to erase the timing grid and start over.

IF lor put the math into the code, then one day when I want the tree to spin faster, I just have to turn a knob - instead of re-making a whole section of sequence.

But still - verry nice work. Kudo's
Link to comment
Share on other sites

The smallest LOR SE can do is 100th of a second. It called a CentiSecond in the XML. Also you should be aware that sending many commands all at the same CentiSecond can cause performance problems on the network.

If you need any help with the XML PM or email me.

Are you allowing fade up and out as the color changes or is this going to be 100% on/off color swap?

Link to comment
Share on other sites

Does someone have an lms file that has Cosmic color ribbons in them?

Could i get a copy of the file mailed to sean.meighan@oracle.com? I will not post the file anywhere, i am going to use it to work on getting the xml file created from rgbsb.

It would really also help if there was a video that goes along with the file (youtube or vimeo).


thanks
sean

Link to comment
Share on other sites

  • 2 weeks later...

I have finished making lms files and they have imported with no errors into LOR.

I need to alter my target models as the top of my trees are Pixel #1.

I am going to build three new target models
1) Wedge
2) Edge to center
3) Up and over

Can someone tell me what CCR choices there are?
50 pixels per bundle I assume is one product?

I also need to know the total length of the string. So if a 50 pixel CCR is 18' long then the spacing between pixels is 4.3". I need to physical create the trees in 3D space for my models to work.

I have been busy at work and have not had a chance to work the tool for the last week or so. I now have some time and would like to get the models projecting and loading.

I hope to have LMS files for you all to try by end of next week.

thanks
sean

Link to comment
Share on other sites

In post 13 it says
" There are 150 RGB LEDs. So every 1.3 inches you have a RGB LED."

so that means the string is 12.39' long? (148.7")

And it has 150 pixels?


or the previous post that says "A CCR is 5M, or approximately 16.4 feet." Does a CCR have 150 pixels?

thanks

Link to comment
Share on other sites

I am using gnuplot to build my source math models, gnuplot is a freeware, open source program of abour 4mbytes. http://gnuplot.info

You can get an idea of where i want to take rgbsb by looking at this



Imagine these models are projected onto your megatrees. Anything modeled in math should be able to be projected onto the tree.

thanks
Link to comment
Share on other sites

LightORamaJohn wrote:
Length of power cord
Length between power adapter and controller
Length from controller to first pixel
Length from first pixel to last pixel
How much heat is generated by the controller? What kind of enclosure would be recommended? One of the plastic cases LOR sells?



Sorry, exact numbers are not possible. We use 12vdc power supplies like those on laptops, the power cord on one side and low voltage cord on the other are both in the range of 3-4' for the ones we are using now. The cable between the strip and controller is between 6-7'. The strips are about 196.5-197.5" The LEDs start about 7/8" in from the ends.

Link to comment
Share on other sites

CCR is 50 pixels, with three evenly spaced RGB LEDs in parralel for each pixel. So 150 LEDs, 150 channels, (plus macro channels) and only 50 pixels. 5M is roughly consistent with the 197 inch, and 16.4 foot numbers.

Link to comment
Share on other sites

Hi Johhny;

I just need the spacing from the 1st pixel to the last. The other dimensions dont matter to the model.

I have to know where each pixel is when mounted on the tree.

So if someone has a string, 50 pixels and from the first to the last is 15' then i have 3.6" spacing along the string.

In the LOR Visualizer ofr Edge to center I believe Pixel#1 is at the bottom and The last Pixel is at the top. When someome tells me their tree is 21 ' high with a 6' diameter at the bottom and there are 24 strands around the tree, i create a target where all 1200 pixels are located in X,Y,Z space.

So my request was just to understand the size of strings that people are using and what spacing there is between pixels OR tell me the total length between Pixel#1 and Pixel #N.

I am just making sure my target models can handle all mega-trees people have built.

thanks

Link to comment
Share on other sites

Hi all;

I have a new release of code that will build the target models

http://meighan.net/seqbuilder/main_login.php

Please give any feedback on if this looks like it will cover your megatree.

I have imported 1800 names from DLA and 1000 names from LOR and seeded the database. I dont have email or passwords, just the login names seen in the member list. If you do not find your login you can send me a PM OR you can use 'guest' password 'welcome1' to just play with the from.

All accounts currently have the password "welcome1".

So here is what i plan.

This page has a mysql db backend.
I expect you to be able to describe your tree with the prompts i currently have.
After you save the form , your tree will be saved under your name.

Some caveats.

1) The actual target models wont show up for you yet.
2) You cannot edit the model after you save it. Edit capability will come next week
3) I will export the models each day so that i can reload them as i am changing the database DDL. In other words, you wont lose what you enter.
I really dont think it will be that big of a deal since i think you can describe your tree in less than 60 seconds using this form.

I will be adding the ability to have other topographies. One that i saw on Madrix is what they call the snake. This means you could go up and down 5 times , for example. I will add that later, I think i cover what most of you do.

I have prototyped scrolling text on the source cone, so that will be coming out after i get the xml files out. I needed this model to continue my tests.

If someone is able to put their tree in matching your actual tree, please let me know. Ill use those in my testing cases.

thanks

Link to comment
Share on other sites

smeighan wrote:

I have imported 1800 names from DLA and 1000 names from LOR and seeded the database. I dont have email or passwords, just the login names seen in the member list. If you do not find your login you can send me a PM OR you can use 'guest' password 'welcome1' to just play with the from.

All accounts currently have the password "welcome1".


Wow that is presumptuous and scary. I have informed this sites moderators. Sean remove my id from your site.

NO ONE should give their passwords to this site. Especially if you use that password anywhere else.
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...