Author Topic: Quick Updates  (Read 57774 times)

Offline castortiu

  • Moderator
  • Sr. Member
  • *****
  • Posts: 200
Re: Quick Updates
« Reply #60 on: November 30, 2010, »
There is a TON of stuff to do yet, and textures are not contemplated even in beta, after Jan 1st I'll keep working on it and until I don't have 100% of the semantics defined I'll do just some fixes on the GUI that are needed for the alpha users.

There is no navigator, the working area is the only place supported so far to interactive with the objects.

What do you have in mind that may needs a navigator?

Cas.

Offline ptone

  • Sr. Member
  • ****
  • Posts: 107
Re: Quick Updates
« Reply #61 on: November 30, 2010, »
You are not allowed to view links. Register or Login
There is a TON of stuff to do yet, and textures are not contemplated even in beta, after Jan 1st I'll keep working on it and until I don't have 100% of the semantics defined I'll do just some fixes on the GUI that are needed for the alpha users.

There is no navigator, the working area is the only place supported so far to interactive with the objects.

What do you have in mind that may needs a navigator?

Cas.

I've worked a fair amount with 3d software, and often if you have a high density of objects, or complex nesting/grouping of objects, its gets hard to click on the exact object you want, or to create a multiple selection of objects.  Often there is a side pane, or floating window that lists all the objects in 3d space, often using a tree widget to show parent child relationships. 

-Preston
--
budding channel wrangler

Offline castortiu

  • Moderator
  • Sr. Member
  • *****
  • Posts: 200
Re: Quick Updates
« Reply #62 on: December 03, 2010, »
Sorry if I haven’t post in a while, as everyone knows this time of the year gets real busy, I got several delays due to the weather, and I left doing the sequencing for the end.
On January I’ll start to work again on Prancer and I hope have another Alpha for February, the reason of this is because even when the current Alpha version is fully functional still doesn’t have the abstraction that I want and I may go back to the drawing board. Currently the user doesn’t need to know about the pseudo language anymore to program the effects but still needs to know about channels, so still there is missing a higher level of abstraction where the user creates the effects from the channel colors and object physical locations.

For example currently to create a chase for all arches in Prancer is done via a single effect and a loop as you can see in the following demo, it takes 15 seconds to create the effect, but the idea is that the user can choose the first object and last object and choose create a “chase” effect with whatever object is in between and for example with a specific channel color. So the user doesn’t need to know that a chase is composed of a loop for all the channels with a specific step since all specific colors “red” are step of 4 for example.
So this level of abstraction allows the user to work with colors and effects on physical location and not with object and channels.

This is the hardest part since requires a lot of code in the core and the GUI.

For example if we want to create effects for Smart Strings there is no way that we have to select a string or specific nodes, the user should be able to select “from” and “to” (X/Y/Z) and select or create the effect. So In theory to handle 10 nodes or 1000 nodes is the same at the effect level. If the user upgrades the number of Smart String or the number of nodes per string should not be needed to update the effects since the “intent” of the user is still the same.

Still I’m thinking how all this will work and until I don’t have a good approach I won’t be releasing any new binary.

Also because I hate bugs, “they really pissed me off”, until the quality is not acceptable a Beta won’t be released and I’ll keep working with the users that apply for the Alpha testing when is open.

The following video is a sequence of the classic Wizard in Winter, I recorded from 300ft from my house :), it took me the last two nights to finish it, not bad since there is a high synchronization with the music, but still there are many things that should have been easier in the process, which I hope with the new abstraction make it way more simpler.

I got asked the question one more time and still the answer is the same, Prancer will be FREE OF CHARGE for anyone that wants to use it for PERSONAL shows, a free license will be required.

There will be a commercial license for companies or individual which provide commercial shows.

You are not allowed to view links. Register or Login

Cas.

Offline lineman

  • Coop Manager
  • Sr. Member
  • *
  • Posts: 1978
Re: Quick Updates
« Reply #63 on: December 03, 2010, »
Cas,
I think the video is awesome and as a complete newbie to light annimation and computer skills this looks like something even I could learn I love the way you can click on a object and in the visualizer you can see the colors of were the oject is playing in the song. I would like to be a betea tester on this if a complete newbie is something that you are looking for if I can learn it anyone can trust me. THANKS FOR SHAREING , GOD BLESS
Jeff


Offline ptone

  • Sr. Member
  • ****
  • Posts: 107
Re: Quick Updates
« Reply #64 on: December 03, 2010, »
Great looking video - must be fun for you to watch and think "no grid was harmed in the filming of this video" ;-)

You are not allowed to view links. Register or Login
For example currently to create a chase for all arches in Prancer is done via a single effect and a loop as you can see in the following demo, it takes 15 seconds to create the effect, but the idea is that the user can choose the first object and last object and choose create a “chase” effect with whatever object is in between and for example with a specific channel color.

Given the stage of your 3D viewer, how would the user specify the scope and order of elements between the the start object and then end object?  Would prancer try to figure this out by looking at x,y coordinates and assume a line between start and end?

But I agree, abstracting the interaction to the level of the light object or element is ultimately they way to go.

Also which is more accurate to say: that in Prancer you attach an effect to an object or group, or to you attach an effect to a timeline and add objects to it.

-Preston
--
budding channel wrangler

Offline csf

  • Sr. Member
  • ****
  • Posts: 118
Re: Quick Updates
« Reply #65 on: December 03, 2010, »
Cas I definitely fell the additional abstraction you want is the way to go.

That's part of what I hope to accomplish with x lights.  Effects should be scalable to the number of channels the user selects to apply the effect too. Then just like you said there is no extra effort needed to change the amount of channels an effect contains.

I really like your idea of using a 3D map of the display, I definitely feel this will make sequencing much more interactive an easier. For good or bad though at this time I have no intention of making a 3D world to use as part of xlights. Honesty this program is looking so good if it was coming  out for mac  / linux I would probably just make xlights console and leave out the sequencer.  

I have done a fair share of 3D work related work... I am not sure what level of 3D modeling / primitives / importing you plan to allow but if you want ideas I came up a whole plan a few years ago for a 3D  modeler I am wiling to share (it's mostly script based and was meant to be part of a game, so easiness for the user was a big key to to the idea) unfortunately though I did not understand enough about representing the 3D graphics on a 2D screen and well know that I know how that's done I am kind of addicted to lights... lol

Also if you want to keep me in mind for alpha testing, fell free I have definitely tested quite a few alpha programs for people, and wont mind having to work my way through bugs.
« Last Edit: December 03, 2010, by csf »

Offline castortiu

  • Moderator
  • Sr. Member
  • *****
  • Posts: 200
Re: Quick Updates
« Reply #66 on: December 25, 2010, »
Sorry for the late reply :)

Preston, definitely effects “should” be attached to the timeline, objects should be part of the effect but I feel they should not be the focus of the effect since adding/removing lights or changing object location should not alter much the final goal of the effect.
I’m sure on 2011 we will have a lot news about sequencing software so I’m not worried that we will not have applications to control Smart String so I want to focus Prancer on the hard problems even if they take a while to become a product, basically I want to invests in intellectual property instead in release a product soon.

I think get rid of the grid is already a huge step in the right direction since allow us to “manage or use” 5000+ channels but still I feel is half of the solution since we are limited to create effects for objects instead take the whole display as one big canvas.
Unless the software take in consideration the physical location of every single node it can’t create effects automatically and instead the user is who has to have in mind how to proper use a combination of several effects to obtain the desired goal.

A simple example:
I want to make a mega tree, every node in a SS will be separated every 3.5”, so I was thinking I want to have less separation between nodes about 1.75” and instead run 64 nodes per string I’ll be using 128 nodes per string but the string will go to the tip of the tree with 64 nodes and go down again with another 64 nodes in the same line. So I want to manage a 128 nodes string differently, in my case if we use virtual channels will be something like channel 1,2,3,4,5,6…128 but the physical channels are 1,128,2,127,3,126…etc since the nodes are intercalated.

And here is where the physical location has a lot to offer, from the user point of view he doesn’t care how to map virtual channels to physical channels, he just care about optimize the string length and space between nodes, so he knows has 128 nodes to put in any direction he wants, hell, even he may want to use a lot more nodes for the bottom of the tree where there are more surface to cover and less nodes on the top, because of that the sequencing programming could be a total nightmare, instead the application should be “physical location aware” and the creation of the effects should be independent of the location of the nodes until the effect is “rendered”.

I imagine the creation of the effect creating an effect using a start point and vectors to define the direction of the effect, so the user does not interact “directly” on the object instead he overlay and effect at that physical location.

For example I take a AVI file, I define a start location a vector with the direction and the width of the surface to cover, so if the object behind the effect is a mega tree the mega tree should render the AVI file and NOT mapping one to one pixel vs lights since the tree is a conical surface and looking at the tree from a 2D position like stand 30ft away, we can observe a lot more nodes on the left and right of the tree than in the center line and unless the AVI file is mapped taking that in consideration the location of the nodes the AVI won’t be seen properly.

I hope I could explain myself

CSF,
You took one of the hardest problems with xLights and is about abstracting from the hardware, I don’t have ANY problem at all if you create a sequencer for it but you might be trying to do too much for you alone, something that every old and new sequencer needs is interaction with the hardware and there is where I think you have the HUGE opportunity to create something unique for many people/applications, if you focus on a single problem about the hardware interaction and basically provide APIs to render a file or render at real time on any hardware then you solve a HUGE problem and everyone will want to use your layer, but if for example xLight can process .VIX files but it can’t take real time input then I’ll be forced to create my own hardware layer for Prancer in a future and then if I have my layer then I won’t need xLight anymore, if I don’t need xLight then probably xLight will create its own sequencer since won’t be compatible with Prancer output, and there is where the applications won’t be compatible anymore.

I think what you did is awesome and has a lot of potential to provide even a lot more for the rendering of the data in the hardware. Again is pretty cool if you do a sequencer as well since it will run on Linux/Mac but keep an eye and the main focus on the hardware interaction. Who knows… when you finish with xLight to manage any hardware Preston may already have something released for Mac/Linux and you don’t need to take care of that.

Cas.

Offline csf

  • Sr. Member
  • ****
  • Posts: 118
Re: Quick Updates
« Reply #67 on: December 25, 2010, »
Cas first have a Merry Christmas!

Tomorrow I plan to start working on a rapid prototype command line / xml file based program. I will post about it in more detail, but basically I want it to support network data, channel mapping, groups, and basic effects (on / off, one other random thing I create, and maybe fades)  and actually control the lights.

In the process of doing this I want to create some guides to using the xlights light control library and make a list of improvements that I think it should have for making it easier to work with for other programs and so on.

My goal would be to have this done by the end of January. Now for every one else, realize that this program will have no GUI and will be missing allot of features needed to make a fully functional program, but I think it will be a good starting point for expanding xlights and giving the community a good base if other people want to jump in on using xlights or helping develop it.

After this I want to work on adding functions to xlights that I feel will be useful for my display next year, and get the chenal mapping part of xlights base.

Then I would go back to thinking about the sequencer. My biggest concern about dumping the sequencer plan completely is I may have 8,000 channels next year, on three networks and want to make sure that I will be able to sequence it all.

Offline ptone

  • Sr. Member
  • ****
  • Posts: 107
Re: Quick Updates
« Reply #68 on: December 26, 2010, »
Merry Christmas to all - missed responding to this by a day, had this reply started, but the day's events intervened.

Cas,

I think we are in strong agreement about many of the properties of how effects should be constructed. The idea of the effect being an entity, abstracted from the component lights, and being able to be placed or moved around in a timeline, stretched, etc.

I currently don't process or use any location information in the objects in my program. While there are advantages to the location there is also the cost of having to specify it.  Complexity = Complexity no matter how many ways you slice it.  I've worked with 3D programs a fair amount, and it can be painstaking getting things placed just so.  With things like a doublebacked smartstring as you describe, you've got to draw the line in 3D space, and not only specify a start, end, and density, but the doubleback point as well, and how that all maps to channels.  Whew, that is a lot of stuff to come up with a UI for.  Also this idea of using video files for LSP style transitions I have a couple problems with.  1) is that rarely do people have a density of lights available where the transition renders with much clarity (unless we are talking about a simple wipe, or a matrix element) 2) is it doesn't really consider that 3D space you've worked so hard to construct.  It has to assume a single viewing angle and flatten all that nice 3D info into a 2D representation in order to map to video frames.  Now video frames mapped to smaller sub elements are still pretty interesting for sure, but for those the 3D information isn't as important.  I'm still using my model of choreographing dancers.  Each dancer has a set of characteristics and capabilities that you can take advantage of.

CSF,

I'm going to echo Cas here that I would love to see the API space of xlights worked up.  I've posted on this before of course.  I think your prototype app is an awsome way to explore how to improve that API interaction.  By writing a basic reference app that uses all the features of xlights externally - you are basically writing a set of tests to the xlights API.  The documentation will also be most welcome and I'll certainly read whatever you put together and offer whatever helpful comments I can.
--
budding channel wrangler

Offline ptone

  • Sr. Member
  • ****
  • Posts: 107
Re: Quick Updates
« Reply #69 on: December 26, 2010, »
Cas,

Just reread the part of your post about projecting onto megatree, and want to acknowledge that such an idea is cool.  The idea of flattening that way seems similar to the techniques used in architectural "projection" mapping - where they are projecting from one point, onto a 3D surface.

see some of the videos I link here: You are not allowed to view links. Register or Login

-Preston
--
budding channel wrangler

Offline cpnbnanamn

  • Patron Member
  • Sr. Member
  • ****
  • Posts: 121
  • I blame Jack for getting me hooked....
Re: Quick Updates
« Reply #70 on: December 28, 2010, »
Cas,
  Maybe I missed this somewhere...  Have you posted the software for download yet?  I want to get a head start on next season..  After working with LSP, and not being overly pleased, I'd like to try something new.

-Roger
-Roger

I'm hoping to go NUTS this year!

Offline fbinthesouth

  • Full Member
  • ***
  • Posts: 44
Re: Quick Updates
« Reply #71 on: January 03, 2011, »
Where do I send the coffee!?
This is fabulous and I would love to send you a can of coffee to replenish all you must be drinking!
RW

Offline lboucher

  • Sr. Member
  • ****
  • Posts: 190
    • Boucher Family Lights
Re: Quick Updates
« Reply #72 on: January 14, 2011, »
A significantly advanced technology will appear as magic to the casual observer.

Congrats you have some awesome magic.
Boucher Family Lights
You are not allowed to view links. Register or Login

Offline lineman

  • Coop Manager
  • Sr. Member
  • *
  • Posts: 1978
Re: Quick Updates
« Reply #73 on: January 27, 2011, »
          CAS,

   Just wondering how things are progressing any updates
Jeff


Offline abrianbaker

  • Sr. Member
  • ****
  • Posts: 274
Re: Quick Updates
« Reply #74 on: February 22, 2011, »
Hey CAS,

I imagine you are working hard on prancer I just wanted to see if you could update us on your progress?  Thanks for your innovation!
This is my fourth year!!!
Smart String Mega Tree
6000 Pixel Net Channels
256 LE Channels
140,000 Lights
Controlled by Vixen 3.1, Xlights Nutcracker
"You are not allowed to view links. Register or Login"