DiyLightAnimation

Software => Prancer => Topic started by: castortiu on August 04, 2010,

Title: Started software to create secuences.
Post by: castortiu on August 04, 2010,
Back on January I wrote on here that I had in mind a new software that works radically different than Vixen to create sequences, because of my work I didn’t have time to start it, last year I had 48 channels and create the sequences was a real time consuming task. This year I had in mind close to 300 channels, only thinking in the time I would have to spend to create the sequence made me think to postpone the show for 2011, so instead last week I started to create the software that I had in mind, if works as planned weeks of works should be possible to be done in one day, then I can create the sequences with this software if I can make a working prototype for this year.

I don’t know LSP, never tried, so I don’t know how good they are, my only reference is Vixen so far.

Here is a demo of the work in progress, no much for now  :-\, I just started a week ago and I work at night since I don’t have free time during the day :).

I uploaded the file, it is an Adobe Flash video with the demo of the work in progress. It is a .exe that will open a web page and play the video.

About the file is 100% safe, RJ can kick my a.. if it is not  ;D

Cas.

[attachment deleted by admin]
Title: Re: Started software to create secuences.
Post by: dmaccole on August 04, 2010,
Cas:

I like the ability to scroll back and forth in a song while it's still playing and the ability to change the replay speed on the fly.

Do you know about the Xlights project? ... http://xlights.sourceforge.net ...

You might consider merging with them ...

\dmc
Title: Re: Started software to create secuences.
Post by: castortiu on August 04, 2010,
One of the objectives is run everything on the fly, that reduces the number of clicks and allows setting the channels when the song is playing, so in theory after mastering the application usage, you could be playing for example at 1/10 of the speed and creating the sequence at the same time.

I don’t know about Xlights project, the site doesn’t show any screenshot or show the semantics how the application is going to work.

Vixen masters the sequence creation from a low level point of view, doesn’t make sense make another application like that since it does very good what is supposed to do, we need applications which are abstracted to a much higher level where they can make the 95% of the work quick, and possible leave the last 5% to be touched for low level apps like Vixen.

I’ll keep an eye on Xlights.

Cas.
Title: Re: Started software to create secuences.
Post by: lineman on August 04, 2010,
I say good job keep going you can never have enough sequenceing software. 1 thing I would like to see is sorta auto sequenceing what I mean is you pick a group of channels and let the computer auto sequence just on/off then you could go back on adjust to your liken ie. dim,fade ect. I don't know if this is even possible, also away to select specifc beats in a song like the firt and second beat or whatever and it show up on automaticaly on a beat track, I don't understand the wave form I can never tell when the beat starts when there is a bunch of lines every where. Just my thoughts
Title: Re: Started software to create secuences.
Post by: castortiu on August 04, 2010,
The article was made on Spring 2010 and doesn’t mention any software name with those capabilities. Basically the article is pretty close to what I have in mind and wrote on December 2009.

http://diylightanimation.com/index.php?topic=2403.0

From where did you take the inspiration to create the article? Is there already software with those capabilities which abstract from the grid?

I didn’t try LSP for two reasons:

1- All videos I have seen, most from YouTube, still use a grid where you set the intensity for the channels, you can have many plug-ins to help in the sequence, if that is the case I would call it Vixen on steroids, if LSP has a mode where you abstract from the grid then it would be interesting, but it’s weird I never saw on YouTube a video using LSP in this way, since it would be way more efficient than using a grid.

2- If I try LSP and I see something I like and they resolved using the grid, it will be stuck in my head, so when a face a similar problem I’ll remember LSP and probably will tend to do something similar, and there is when the originality and new ideas don’t come, as a Software Engineer in my company I have totally forbidden seeing software patents and different software GUI’s since it mess with the ability to create new stuff, I think is a good policy. If you tell me LSP does not use a grid and you can create sequences way faster than Vixen then I may give a try.

Thanks,
Cas
Title: Re: Started software to create secuences.
Post by: Greg on August 04, 2010,
You are not allowed to view links. Register or Login
and there is when the originality and new ideas don’t come, as a Software Engineer in my company I have totally forbidden seeing software patents and different software GUI’s since it mess with the ability to create new stuff, I think is a good policy.

Amen and hallelujah!

Greg
Title: Re: Started software to create secuences.
Post by: dowdybrown on August 04, 2010,
For the 2010 holiday season, xLights will consist of a scheduler and tester (no sequencer) -- it will be able to output LOR S2 and Vixen sequences to any combination of LOR/D-Light, DMX, and/or Renard networks. So if your sequencer can export to LOR or Vixen format, then it will be compatible with xLights.

Matt
Title: Re: Started software to create secuences.
Post by: castortiu on August 05, 2010,
Very impressed, and I’m glad there is work in progress to manage a massive number of channels, first time I hear about Madrix, $1500 sound expensive for DIY light animation :).

I watched the videos about LSP in Vimeo (thanks for the link) and looks way easier than Vixen, looks very complete and polished application, I may give a try the first days of October when I realize than I could not advance enough in my application to create the sequences, I won’t try it for now since I don’t want to fill my head with different behaviors that I have in mind.

After all, why would I want to make another Vixen or LSP when it’s already done and is free or very affordable?

Thanks,
Cas.
Title: Re: Started software to create secuences.
Post by: castortiu on August 07, 2010,
Added wave scale, zoom and features to work over the waveform on real-time.

I had to highly compress the video, so the gradients don't look so cool, but on the real app the gradients are perfect.

Basically you can see how we can create effects for a set of wave frames without the need of a grid.

This work is just beginning of the primitives I need for when I start to work on the edition area. Kind of is just the foundation for now.

Cas.
Title: Re: Started software to create secuences.
Post by: trekster on August 07, 2010,
Wow Cas I am impressed!  I did not understand when you said sequencing without the need of a grid.  But with your last demo I understand and I like it.  Can you have this ready by the end of next week so I can start sequencing?   <la.. Just kidding.  Keep up the work please.

Ron
Title: Re: Started software to create secuences.
Post by: RJ on August 07, 2010,
Very interesting work Cas!  I am interested to see how the channels get tied into it.   <pop..

RJ
Title: Re: Started software to create secuences.
Post by: lineman on August 08, 2010,
Very nice CAS keep up the good work
Title: Re: Started software to create secuences.
Post by: PJNMCT on August 08, 2010,
Nice Cas! I like it.

-Paul
Title: Re: Started software to create secuences.
Post by: paul58 on August 08, 2010,
I like new stuff. It doesn't matter what other software does or doesn't. It only matters what yours does better. Great start sir. Keep it up and keep us posted.
Title: Re: Started software to create secuences.
Post by: Kwajtony on August 09, 2010,
Way Cool.  Will you be able to assign multiple effects per time slice?
Title: Re: Started software to create secuences.
Post by: castortiu on August 09, 2010,
Almost finished the very basic primitives I needed on the waveform to jump to the work area where most of the work will be, probably I won’t be posting for a while since there is a lot to do before something can be showed.

What changed today?

Added multi layer selections
-   Those layers of effects or behaviors will be assigned to objects (trees, arch, star, light strings, etc), so we can individually control and edit the object sequence without interfere with different objects. (need help to find a terminology for a group of lights to form an “object”, “object” is perfect in the programming world but sucks on the real world :), “group”, “cluster”, etc… propose a name pls… )

Added support to edit selections (effects or behaviors - Edition Mode)
-   Self explanatory, see video ;).

Added support to control the playback via fine tuning
-   Now playback follows the fine tuning in the center of the application instead top left.
-   Also fine playback tuning allows to find the perfect spot in the wave where you want to start the “effect  or behavior”

Cosmetic changes.
-   Some colors changes

Optimization in the code was made.
-   Now runs under 2% CPU usage, this is important since I’ll need every bit of CPU for what is coming later.
-   Memory management is not optimized yet and is above 400Mb RAM and growing fast :/, I think will reach more than 1GB when the work area is made, Hopefully will down to 400MB on the final prototype after optimizations.

Just FYI, I’m using hardware acceleration for Video and Sound, so I really doubt it will run on very low specs machines.

Cas.

[attachment deleted by admin]
Title: Re: Started software to create secuences.
Post by: castortiu on August 09, 2010,
Kwajtony,

I think the video will answer what you asked, different "objects" will render the effects individually on the waveform, so you can control every channel if you wish but the recommended way will be group them in sets and work with the sets.

The idea is to have a huge number of effects and behavior for objects, so you would not need to work directly on the channels.

Cas.






Title: Re: Started software to create secuences.
Post by: Kwajtony on August 09, 2010,
Way cool, I can see the arches leaping as you are developing this, the roof wreaths are blinking according to the program and in the preview I have my objects placed upon a picture of the front of my house.  Live Preview  WOW!
Title: Re: Started software to create secuences.
Post by: meman on August 09, 2010,
Looks great so far, please continue to keep us posted on your progress! I can see that use of the shif+x or FKeys would be great for allowing two handed operation...controlling speed and toggling between create/edit mode with the keys while using the mouse with the other hand.

Mike E.
Title: Re: Started software to create secuences.
Post by: deplanche on August 09, 2010,
A feature I think would be useful is to use the scroll mouse button to ramp or fade while the music is playing.  I think it could make nice, smooth transitions, especially for things like arches.
Title: Re: Started software to create secuences.
Post by: castortiu on August 13, 2010,
Quick update:

Lot of progress in the last few days…

Finished the basic functionality for the wave form and I jumped to the semantics of the applications.
In the diagram picture you will find out what is the idea behind the monster.

So far we have 3 main modules:

Wave Form module:
- Takes care of the wave form management.

Sequencer Engine
- Main beast that synchronize everything.

Render module:
- Takes care of 3D rendering on screen.

Then we have the semantics so far defined as:

Sequencers:

- Sequencers sets how a single sequence instance interactive with the physical channels, sequencers are not objects like Arch or Trees, but instead they are independent entities that are programmed to interactive with the physical channels for a period of time. For example a sequencer can be programmed to go back and forth between all the channels associated.
- User creates many sequencers as needed.

Devices:

- They are physical objects as archs, trees, etc. Every object has properties to be set. For example define numbers of segments for archs , colors size, etc.
- Devices are attached to sequencers; a single device can be attached to many sequencers as needed.

Effects:

- Effects have a period from/to in time during the song and define the behavioral intensity of the channels associated in the sequencers. Many Effects can be attached to every sequencer.

Currently there is a big progress on everything I wrote, but everything is under the hood and the demo just show the tip of the current progress.

If everything works as planned, you can’t imagine how powerful will be the things you could do.
Imagine devices playing a current normal sequence and at the same time a whole “ghost” wave running through the whole show since in theory you can overlap effects from different sequencers and the intensity of the channels can be set to “additive” or “subtractive” in the effects for the relation between sequencers.
 
There was a lot of scratching to my head behind the rendering 3D module for performance improvements, since you can’t imagine how many operations will be needed when the full app is finished, as a minimal quality gates, currently I must render 512 channels simultaneously without lose much precision on the animation.

As you can see in the second picture.

Also there is a fair amount of work done for object properties “bottom-right”, lot more to do in there.

Here is the demo:

The video doesn’t do too much justice since there is a lot of compression and many frames are skipped. 3d objects are very smooth and visually pleasant.

This is the beginning of what I call “abstract” from the grid.

http://cid-d52e9d8e4b6a00a7.office.live.com/self.aspx/.Public/prancer-8-12-10.zip (http://cid-d52e9d8e4b6a00a7.office.live.com/self.aspx/.Public/prancer-8-12-10.zip)

Cas.
Title: Re: Started software to create secuences.
Post by: foodseller on August 14, 2010,
This is just way to cool!  When do you need beta testers?  Not that I am anxious to try it or anything.......but when do you need beta testers?     ;D

foody
Title: Re: Started software to create secuences.
Post by: castortiu on August 14, 2010,
You can count with it.

Still there is a long way to go but is looking promising and I’m engaged on the project working every night for several hours.

Cas.
Title: Re: Started software to create secuences.
Post by: Aussiephil on August 15, 2010,
Blame rmonty for pointing this out, really need to pay more attention...

This looks awesome, grabbed the latest published build to have a play.

Now i have a silly question - have you looked at integrating E1.31 protocol into the application to cater for some of the extreme channel count RGB display's that are going to happen this year?

Cheers and all the best, now to go and have fun
Aussiephil
Title: Re: Started software to create secuences.
Post by: Kwajtony on August 15, 2010,
I'm sure it is close to handling that (RGB) if not now soon, with the stuff Cas has put together so far   all I can say is -- WOW -- I'm willing to give it a try. 

TOny "C"
Title: Re: Started software to create secuences.
Post by: dmaccole on August 15, 2010,
You are not allowed to view links. Register or Login
Now i have a silly question - have you looked at integrating E1.31 protocol into the application to cater for some of the extreme channel count RGB display's that are going to happen this year?

Phil:

What Gus is building is a sequencing front-end to Vixen, which in turn would then play the files normally. As he said back in December ...

You are not allowed to view links. Register or Login
Is Vixen good enough for everyone?
....

What do you think about a software that generate.VIX files that can be loaded with Vixen, but this software allows to create the whole sequence in the preview screen, basically there is no preview screen.
As I understand it, the Xlights software (http://sourceforge.net/projects/xlights/) should, therefore, be able to play Gus' Prancer files as well.

\dmc

Title: Re: Started software to create secuences.
Post by: castortiu on August 15, 2010,
I have looked DMX protocol in detail some a time ago and is extremely simple, no feedback, no error correction, just streaming frames of bits into the wire, I did a quick view for E1.31 and doesn’t looks it adds too much complexity.

At the beginning I thought implementing the protocol on the application, but the beauty of Vixen is all extra stuff which has around it, like the scheduler and a lot of other stuff.

Unless my application give all the other stuff, doesn’t make sense spend time to create something that exists already in Vixen since I can focus my time/effort on the front end and let Vixen drive the show.

When the app is completed and the queue of users requests is down to a reasonable level :), I could focus on “possible” stage 2, which could be add protocol support.

But…, If Vixen doesn’t get updated for long time to support new protocols and RJ wants to use E1.31 then we have a need and priorities could change.

About RGB lights, I’m totally a newbie, but from what I have in mind, the handing of RGBs will be really transparent to the users in the application, the application will handle devices like the Aether and manage the 3 RGB channels independently internally, so in theory you could even choose the mixing of white you would like to see.

Quick update:

- Wife is getting mad since I go to bed around 5 AM every night :)

Sequencers:

- First sequencer object created, it is a dumb sequencer to be a helper to develop the devices objects, it activates channels sequentially over the long of the song.

Devices:

- Heavy work on Devices and mapping to physical channels.
- Now “devices channels” can be mapped to “physical channels” on the fly.
- Now devices can select the sequencer from which where wants to interact.

First sign of intelligent life can be show in the new demo, which I’ll upload soon.

Cas.
Title: Re: Started software to create secuences.
Post by: castortiu on August 16, 2010,
Quick update:

I'm going back to the whiteboard :(... I found out that the idea about the sequencers having “virtual” channels where devices can attach to them is powerful since the sequencer can be reused many times during the song.

But the mapping of the devices to the sequencers is a nightmare. Too many clicks and too many settings, the application becomes boring and complicated.

I have a video of a working sequence where the archs are animated, but since I’m discarding sequencers code doesn’t make sense to show it.

I’m uploading a video how I set the physical channels, which I think is fair since is done once. Also I show the main problem with the sequencers…

It took 30 minutes to explain to my wife how devices/sequencers/effects work… That’s not good!!!.

My wife should be able to create a sequence without previous knowledge of the internal mechanism.

I was bitten for the thinking like an engineer instead think like a user … from now on my wife drive the UI… she already gave me good ideas, which I’ll start to put in practice soon.

Cas.
Title: Re: Started software to create secuences.
Post by: dmaccole on August 16, 2010,
You are not allowed to view links. Register or Login
My wife should be able to create a sequence without previous knowledge of the internal mechanism.

I was bitten for the thinking like an engineer instead think like a user … from now on my wife drive the UI… she already gave me good ideas, which I’ll start to put in practice soon.


This is good for a number of reasons (back in the day, I used my mom as a UI guinea pig), but most especially:

You are not allowed to view links. Register or Login
- Wife is getting mad since I go to bed around 5 AM every night :)

Now at least she knows what you're doing.

"Honey, I was up all night trying to make it so you'd like it."

\dmc
Title: Re: Started software to create secuences.
Post by: Aussiephil on August 23, 2010,
You are not allowed to view links. Register or Login
I have looked DMX protocol in detail some a time ago and is extremely simple, no feedback, no error correction, just streaming frames of bits into the wire, I did a quick view for E1.31 and doesn’t looks it adds too much complexity.

At the beginning I thought implementing the protocol on the application, but the beauty of Vixen is all extra stuff which has around it, like the scheduler and a lot of other stuff.

Unless my application give all the other stuff, doesn’t make sense spend time to create something that exists already in Vixen since I can focus my time/effort on the front end and let Vixen drive the show.

When the app is completed and the queue of users requests is down to a reasonable level :), I could focus on “possible” stage 2, which could be add protocol support.

But…, If Vixen doesn’t get updated for long time to support new protocols and RJ wants to use E1.31 then we have a need and priorities could change.

About RGB lights, I’m totally a newbie, but from what I have in mind, the handing of RGBs will be really transparent to the users in the application, the application will handle devices like the Aether and manage the 3 RGB channels independently internally, so in theory you could even choose the mixing of white you would like to see.

Cas.

Cas

Sorry, should read more, as dmc pointed out this is a front end to vixen. That is great then, no need to handle the underlying protocol support.

I would agree with your statements about "all the other stuff"

Vixen can handle the output of 4k-8k channels without any dramas but there is no way that you can work with that many in the interface and especially if they are RGB channels. I could personally have up to 8k channels this year.

So Vixen is too painful to use for large RGB counts and LSP can handle the sequencing but gets very slow to use once the counts go into this region.

What you are doing sounds like a great way to potentially sidestep some of these issues whilst still using vixen's output performance.

Vixen already supports E1.31 so no worries there.

I have long been a fan of the concept of object based sequencing and would love to actually have a play with what you are doing and see how it may work for very large RGB displays.

For any RGB object you should be able to select a start colour and end colour and even a middle colour then say change from start to end going through the middle colour if defined, setting the midpoint offset would be usefull as well. for say an RGB arch this could be colour at each end etc. For a RGB megatree, a starting point would be vertical string start colour, rotation direction, end string colour. or colour 1 to 2 and speed of change plus rotation speed. For pixel level this would also then include vertical fades. think of it as a matrix wrapped around a tree.

None of this is even vaguely easy in vixen.

I remain a fan of Vixen but it is impossible to do meaningful sequencing with large channel counts

Cheers
Phil
Title: Re: Started software to create secuences.
Post by: Arvin on August 27, 2010,
It's been a week+. What's the latest? Filled the whiteboard up so had to stop?

Or did you finally have to get some sleep? Or maybe the wife finally killed you?

Sleep? Nah. Programmers don't need no stinking sleep! That's what Jolt cola was made for!

Arvin.
"next beta tester"

OOPS! Should have read the sticky first!  <rtt..
Title: Re: Started software to create secuences.
Post by: meman on September 02, 2010,
Ummm yes, Jolt Cola, that is what he needs. Here ya go Cas!

(http://www.mejeme.com/joltspin.gif)