Nutcracker in 2013

Discussion in 'xLights (Nutcracker)' started by smeighan, Jan 24, 2013.

?

Nutcracker in 2013

Poll closed Mar 25, 2013.
  1. C++ version of Nutcracker. No more WAMP

    20 vote(s)
    69.0%
  2. Add beat tracks, notes to music phrases

    18 vote(s)
    62.1%
  3. Be able to play movies in nutcracker. Start with avi files.

    10 vote(s)
    34.5%
  4. Expand targets: Marty fans, horiz matrix, snowflakes, stars

    20 vote(s)
    69.0%
  5. Create a msq, asq file export for LSP

    16 vote(s)
    55.2%
  1. smeighan

    smeighan Dedicated Elf

    Joined:
    Jan 19, 2012
    Messages:
    1,056
    Likes Received:
    5
    Location:
    4217 Greenfinch Dr CO 80126
    Well it is time for 2013 planning for Nutcracker


    I am open to any suggestions you would like to see.


    This is my current short list
    1) Explore making Nutcracker C++. This will give real time feedback while creating effects. Still to be worked out as how these standalone programs can talk to a central database so that we still get the gallery. If Nutcracker can talk to a remote database this will reduce the Nutcracker foot print from 1 gigbyte to < 20mbytes. Today Mysql+Apache=970mbytes + 10mbytes of php Nutcracker code. Future could be just 20mbytes of C++ code. The code would be C++ plus wxWidgets. There would be a Windows, Linux and Mac version available.


    This option would eliminate the need for wamp or xampp to be installed on your machine.


    2) I want, in the future , new effects that can be easily shared by other sequencers. For example the new fireworks effects (with physics, particles fall), should just be able to be dropped into xLights. I want to see if Vixen 3 and HLS could use effect generation modules in their sequencers.
    3) New expansion of Music phrases. Beat tracks, Notes, individual instruments. Once a song has been marked up, everyone could use it. Each person would decide what effects to attach to the new meta data.
    4) Speaking of #3, enhance current effects to be beat aware. Example: While a spiral is turning, have beat track effects that can highlight that effect. Maybe flash white on spiral on down beat of each beat.
    5) Be able to play movies in nutcracker. Start with avi files.
    6) Use avi files to create layers over top of your existing effects or have them be effects by themselves
    7) Expand targets
    a) all targets can start at the left,right,top,bottom corners.
    b) Horizontal matrix
    c) Marty Fans
    d) Spinners
    e) Snowflakes. You will be able to design how many arms
    f) Stars. 5 point, 6 point, n point. Have effects specific to stars
    g) Each string in your target can be given a starting channel #.
    8) Create a msq, asq file export for LSP
    9) Expand single strand effects. Model arches, eaves better.
    10) Write software that can locate every rgb pixel in your display by capturing a video of your show and mapping each rgb node to x,y,z space. Think cover a tree with strings and then map all the pixels. Now the tree is a "matrix" that we can project all our effects on to. This is a big , fun target
    11) Increase effect classes
    a) plasma balls
    b) fireworks
    c) process a mp3 and great equalizer effects
    d) general sound to effects
    e) general video to effects




    So what would you all like to see this year?
     
  2. bdeditch

    bdeditch Full Time Elf

    Joined:
    Dec 14, 2011
    Messages:
    200
    Likes Received:
    0
    Location:
    Oroville, California
    Be able to export to LOR animation file as well as Musical
     
  3. OP
    OP
    smeighan

    smeighan Dedicated Elf

    Joined:
    Jan 19, 2012
    Messages:
    1,056
    Likes Received:
    5
    Location:
    4217 Greenfinch Dr CO 80126

    I will make a las export sometime in the next few weeks.


    I need someone to


    create a nutcracker effect, like bars. export as lms. load it into LOR and the save as las.


    I then need the lms and the las file sposted where i can download them


    thanks
     
  4. OP
    OP
    smeighan

    smeighan Dedicated Elf

    Joined:
    Jan 19, 2012
    Messages:
    1,056
    Likes Received:
    5
    Location:
    4217 Greenfinch Dr CO 80126
    Here are some the new stars that will be available as targets soon


    [​IMG]
     
  5. bdeditch

    bdeditch Full Time Elf

    Joined:
    Dec 14, 2011
    Messages:
    200
    Likes Received:
    0
    Location:
    Oroville, California
     
  6. fasteddy

    fasteddy I have C.L.A.P Global Moderator Generous Elf

    Joined:
    Apr 26, 2010
    Messages:
    6,471
    Likes Received:
    16
    Location:
    Albion Park NSW
    Find Me On:
    The future will be 3D elements in my opinion, so support for that may be a great addition
     
  7. harrison0550

    harrison0550 Full Time Elf

    Joined:
    Dec 16, 2011
    Messages:
    190
    Likes Received:
    0
    Location:
    Chattanooga TN
    Find Me On:
    +1
    I know you are digging all those crazy cubatron videos Sean.
     
  8. toodle_pipsky

    toodle_pipsky Minister of Silly Walks

    Joined:
    May 9, 2010
    Messages:
    331
    Likes Received:
    0
    Location:
    Toowoomba, Australia
    Really looking forward to getting into Nutcracker properly this year. Unfortunately ran out of time last year to really use it (crashes and me just being clueless!). Keep up the great work! :)
     
  9. magii

    magii Apprentice Elf

    Joined:
    Dec 27, 2010
    Messages:
    50
    Likes Received:
    0
    Location:
    4530 Larissa Drive, Lawrence, KS
    I may be alone in this but I'd still love to see a 3D matrix. I believe it's a coming addition for Madrix and I've been itching to do one for over a year now!
     
  10. OP
    OP
    smeighan

    smeighan Dedicated Elf

    Joined:
    Jan 19, 2012
    Messages:
    1,056
    Likes Received:
    5
    Location:
    4217 Greenfinch Dr CO 80126
    I was thinking of making some batons. Have them in different colors. I haven't figured out the electronics, but I need to be able to detect where the baton is, maybe just in vertical space.


    I was then going to connect their movements to the lights. Get kids to conduct the music. Effects follow what they do.


    It would make the show very interactive


    i was thinking of having kids along the sidewalk, so maybe 10'. I want to make it so that they kids who have blue batons, will draw with blue. If they weave among themselves, the colors on my display match their movements.


    With Nutcracker maybe going to a C++ program, xlights already is real time. It handled my 12,100 channels with no lag.


    I would start with what they do would only show up on the megatree. take it from there.
     
  11. oldmanfathertime1000

    oldmanfathertime1000 Computers, music, audio, video, electronics

    Joined:
    Jan 19, 2012
    Messages:
    157
    Likes Received:
    0
    Location:
    Lake Arthur, Louisiana
    That will be a great idea to have the kids see the effects that they are making themselves. That is the things that they will remember for the rest of their lives....
     
  12. oldmanfathertime1000

    oldmanfathertime1000 Computers, music, audio, video, electronics

    Joined:
    Jan 19, 2012
    Messages:
    157
    Likes Received:
    0
    Location:
    Lake Arthur, Louisiana
    How are you doing with the downloading of the Gallery to the local host ???
     
  13. OP
    OP
    smeighan

    smeighan Dedicated Elf

    Joined:
    Jan 19, 2012
    Messages:
    1,056
    Likes Received:
    5
    Location:
    4217 Greenfinch Dr CO 80126

    code currently creating more than 1000 images. I am working through the bad data people have entered into the 10,000 effects. This is what i get for not having more rigorous error checking. Should be done by this weekend.
     
  14. ptone

    ptone New Elf

    Joined:
    Nov 7, 2010
    Messages:
    23
    Likes Received:
    0
    Location:
    Santa Barbara

    I've done simple experiments with a kinect when it first came out a couple years ago, controlling LED lights on an AC controller in response to kinect data and a person's movements:


    Next kinect and dmx demo


    The other option if you have lit batons would be to use OpenCV to do the detection.


    http://www.aishack.in/2010/07/tracking-colored-objects-in-opencv/


    So I've been working slowly over the last couple years on a Python toolkit to do this sort of realtime interaction.


    It takes a completely different approach to sequencing than most tools, but Nutcracker is the closest thing in some ways (and SuperStar). It uses code objects to represent elements in a display, and events to trigger behaviors. The behaviors and effects are all generated via framerate agnostic time based algorithms in real time. These behaviors alter values in the object, and then the objects translate those values (ie Hue, speed, etc) into channel values which are picked up and sent to participating networks.


    The input layer, the channel generating layer, and the output networks are each an abstraction layer, so you can mix and match and combine them. For example: Input being one or more of [touch screen, MIDI, kinect, etc] - triggering [Chases, pulses, maps, etc], sending channel data out [E1.31, artnet, serial DMX, LOR etc] (E1.31 is all I'm focusing on for now).


    Performance wise, you can do this in regular Python with a fairly large number of elements at 30-40fps, and I think you can give C++ a real run for the money on performance with something called pypy, which is a newer Python JIT based interpreter. Some quick tests I did had 12K pixels with effects being calculated in realtime using pypy.


    C++ would involve a complete rewrite of Nutcracker wouldn't it? Would you change the architecture of it in a fundamental way?


    -Preston
     
  15. OP
    OP
    smeighan

    smeighan Dedicated Elf

    Joined:
    Jan 19, 2012
    Messages:
    1,056
    Likes Received:
    5
    Location:
    4217 Greenfinch Dr CO 80126

    "[SIZE=78%]C++ would involve a complete rewrite of Nutcracker wouldn't it?". Yes, but 80% of it has already been rewritten into C++ by Matt Brown. He rewrote it into a tab on his xLights program.[/SIZE]

    [SIZE=78%]You can download it here[/SIZE]
    http://dl.dropbox.com/u/50766638/xlights-setup-2012e.exe


    He has nearly all the effects i have,


    he does not have tree, twinkle, countdown, pinwheel,animated gifs
    he does have bars,butterfly,color wash,fire,garlands,life,meteors,pictures,snowflakes,snowstorm,spirals,text


    His text is way better than mine. He has all fonts that are available in windows. You can size them from 6-72 point.


    The missing effects are because they were not present when he did the port last November The only miss from then was the animated gifs.


    There would be some changes to the architecture, not too many


    Here is a summary of how Nutcracker works.


    Build a target
    Pick an effect and attach to the target
    export for your sequencer


    It may not be clear that internally i do nearly all effects against a square matrix. You have 16x50 strings, i make a 16x50 buffer. I need one of these for each frame. 50ms frame timing and a 10 second sequence means i will have 200 16x50 buffer frames. When ready i map this buffer to the horiz,vertical matrix or to a megatree. If you have a sphere, i map the buffer frames against your target.


    Matt does not use gnuplot to do drawings.. he allocates a buffer and then sets the pixels when he is running through the draw process.


    very fast, not as crisp as a gnuplot image, but certainly works.


    i want to eliminate the local mysql database. mysqls and apache require a nearly 1 gig install. I want to do remote sql to nutcracker123.com so that we can still have a gallery of all users effects


    i will still have music phrases and will enhance that to also have beats and note markups.




    I would love to come up with a way that teh effecst generated with Nutcracker could be shared.


    Vixen 3 is C#
    xlights is C++
    HLS is C++
    LSP and LOR, i dont know but assume they are C++


    I have dozens of new effects ready to create, i really would like to see that they can be ported or used across the sequencers.


    This is the basic coordinate system in nutcracker.
    Top of each strand is pixel #1, strand number from left to right.


    All effects work against this coordinate system
     

Share This Page