Author Topic: What would you want in a visualizer?  (Read 5501 times)

Offline DanHouston

  • Sr. Member
  • ****
  • Posts: 499
What would you want in a visualizer?
« on: January 14, 2013, »
I've been toying with a separate visualizer so as I do things in one sequencer or another I don't have to re-draw things in their visualizer...It also might give you a feel for any network latency issues since this would be taking packets off the network to display the results (like any other e1.31 device would).

Anyhow, in case this goes somewhere I thought I'd solicit for ideas on what people want in a visualizer.

Thanks,
DAn
2011 - Year #1
    4000 lights and 16 channels
    5 Songs sequenced
2012 - Year #2
    5000 lights and 123 channels
    8 Songs sequenced

Offline smeighan

  • Patron Member
  • Sr. Member
  • ****
  • Posts: 2285
    • Nutcracker RGB Sequence Builder
Re: What would you want in a visualizer?
« Reply #1 on: January 14, 2013, »
You are not allowed to view links. Register or Login
I've been toying with a separate visualizer so as I do things in one sequencer or another I don't have to re-draw things in their visualizer...It also might give you a feel for any network latency issues since this would be taking packets off the network to display the results (like any other e1.31 device would).

Anyhow, in case this goes somewhere I thought I'd solicit for ideas on what people want in a visualizer.

Thanks,
DAn

Hi Dan;

I think I would want
a) Picture of my house with elements drawn
b) You will need to model all the string , pixels into physical devices. So if my megatree is 10x50 each string folded and it starts on channel 850 you will need to know
1) channel 850 is first string , pixel 1 of the start of the tree, channel 900 is the top of the tree, channel 901 is strt of tree next strand and so on.
2) If Channel is not RGB, be able to draw the candy cane, Snowman and have it represent the object.
3) If non rgb channel , be able to draw nets over bushes, icicles on eaves.
4) Draw RGB arches or non rgb arches. Vary diameter of arch. Be able to segment arch.

I like LSP's ability to play a sequence fast or slow.

I imagine you would need to capture the packets for a song into a buffer allowing playback at different speeds. Playback must also include the music or it doesnt make much sense. If you captured the packets, know when the sequence starts, have converted all channels back into the objects you still would need to get the music file attached.
I dont think the mp3 data goes over E1.31, so the best would be to prompt for the mp3 in your tool and then align it to the start of the first frame. Maybe you could also prompt for the frame timing that was used so that you could put up tick marks to show where transistions occured. Then a sort of grid culd be made with
mp3+frame timing. The visualizer should help see when a transition is wrong. With a passive monitor like you describe , it will also show lagging in the transmission of the actual data.

If i show an effect coming late, is it because i sequenced it wrong or there was lag in my hardware setup?


The LOR Superstar Pro addin makes an xml file of the objects in your display that includes where each pixel is located.

Here is a snippet for a LOR *.lee file, notice the DrawPoint element is giving the location  of the element
         <AssignedObject ID="41" Object="493"/>
            <AssignedObject ID="42" Object="494"/>
        </Item>
    </Items>
    <DrawObjects>
        <DrawObject ID="1" Name="Small Shutter 1 #01" BulbSize="2" BulbSpacing="1" Comment="" BulbShape="1" ZOrder="1" AssignedItem="5" Locked="False" Fixture_Type="3" Channel_Type="2" Max_Opacity="0" LED="False">
            <Sample Background_Color="0" RGB_R="0" RGB_G="0" RGB_B="0"/>
            <AssignedChannels>
                <Channel ID="1" Name="Small Shutter 1 (7-2-0-280)" DeviceType="7" Network="2" Controller="0" Channel="280" Color="255" Sub_Type="0" Sub_Parm="0" Multi_1="0" Multi_2="0" Multi_3="0" Multi_4="0" Multi_5="0"/>
                <Channel ID="2" Name="Small Shutter 1 (7-2-0-281)" DeviceType="7" Network="2" Controller="0" Channel="281" Color="65280" Sub_Type="0" Sub_Parm="0" Multi_1="0" Multi_2="0" Multi_3="0" Multi_4="0" Multi_5="0"/>
                <Channel ID="3" Name="Small Shutter 1 (7-2-0-282)" DeviceType="7" Network="2" Controller="0" Channel="282" Color="16711680" Sub_Type="0" Sub_Parm="0" Multi_1="0" Multi_2="0" Multi_3="0" Multi_4="0" Multi_5="0"/>
            </AssignedChannels>
            <DrawPoints>
                <DrawPoint ID="1" Type="16" X="3841" Y="330"/>
            </DrawPoints>
        </DrawObject>
        <DrawObject ID="2" Name="Small Shutter 1 #02" BulbSize="2" BulbSpacing="1" Comment="" BulbShape="1" ZOrder="1" AssignedItem="5" Locked="False" Fixture_Type="3" Channel_Type="2" Max_Opacity="0" LED="False">
            <Sample Background_Color="0" RGB_R="0" RGB_G="0" RGB_B="0"/>
            <AssignedChannels>
                <Channel ID="1" Name="Small Shutter 1 (7-2-0-283)" DeviceType="7" Network="2" Controller="0" Channel="283" Color="255" Sub_Type="0" Sub_Parm="0" Multi_1="0" Multi_2="0" Multi_3="0" Multi_4="0" Multi_5="0"/>
                <Channel ID="2" Name="Small Shutter 1 (7-2-0-284)" DeviceType="7" Network="2" Controller="0" Channel="284" Color="65280" Sub_Type="0" Sub_Parm="0" Multi_1="0" Multi_2="0" Multi_3="0" Multi_4="0" Multi_5="0"/>
                <Channel ID="3" Name="Small Shutter 1 (7-2-0-285)" DeviceType="7" Network="2" Controller="0" Channel="285" Color="16711680" Sub_Type="0" Sub_Parm="0" Multi_1="0" Multi_2="0" Multi_3="0" Multi_4="0" Multi_5="0"/>
            </AssignedChannels>
            <DrawPoints>
                <DrawPoint ID="1" Type="16" X="3961" Y="330"/>
            </DrawPoints>
        </DrawObject>



I was thinking of this earlier this year. I imagined creating a tool that would start

My Display is made of
 a) My house
      Megatree RGB
         1st tree, 20x120 half megatree
         2nd tree, 40x128, full tree
      Megatree, non-RGB
          3color wrap
          4 color wap
      Arches
      Eaves
      Candy Canes
      Coro stars
      objects, non rgb
b) My neighbors house
     tree , wrapped in dumb led
     bushes
         1) net
         2) 3 dumb rgb

All objects I was thinking of drawing in Sketchup (the free version) to give the 3d and walk around my display capability. I hadn't decided which software i would use.

After i had all objects in the Display, I would then assign channels to each object. This is where something like the *.lee file could be imported. Does LSP have an equivalent xml describing where everything is.

One suggestion to increase your user base is to try and export what you create so that LOR, LSP , HLS or Vixen 3.0 could use it. Do not assume people would all use this exclusively to visualize their data. Many people will still want to use their sequencer to do that.  So eventually an export feature.
You , focused on a visualizer, might have enough features that people will continue to use it exclusively.

One issue i saw with this method, i was designing my display in february, i did not have an etherdongle built until the end of November. Using Visualizers in the sequencers do not require hardware be complete.

Your method , on the other hand, is the only one that would show the real world timing of the display.

You could get around this by having a second option of reading a file that has

timing channel value data

something like

0.0000  1 123
0.0000  2 0
...
1.1234  1 255
1.2345  17 122

Sequencers (and Nutcracker) could produce such a file from their sequenced data. This data would assume a perfect transmission.

If you made your sniffer produce this 3 column table, then your visualizer could be used from any data source.

Then you would become a universal visualizer, able to work on anyones sequencer.

I could add this channel output type file as an option for nutcracker, if you are interested.




it will be an interesting project.

Sean
Littleton, CO
Latest releases You are not allowed to view links. Register or Login
xLights/Nutcracker Forum You are not allowed to view links. Register or Login
Fbook You are not allowed to view links. Register or Login

Offline DanHouston

  • Sr. Member
  • ****
  • Posts: 499
Re: What would you want in a visualizer?
« Reply #2 on: January 14, 2013, »
Sean,

Thanks! Great feedback

As for playback I'm not trying to be an individual player, I want to be a visual represnetation of what an e1.31 device might get. So the music and playback speed would still be handled by the sequencer (at least that's how I have it in my head). I'll take one of them and play a sequence at different speeds and see how that affects what I have so far. Do you see a need to be a standalone sequencer player (I'm trying to let the sequencers do what they do really well and just fill a visualization spot...so as you change sequencers you can keep the visualizer).

Thanks,
Dan
 
2011 - Year #1
    4000 lights and 16 channels
    5 Songs sequenced
2012 - Year #2
    5000 lights and 123 channels
    8 Songs sequenced

Offline smeighan

  • Patron Member
  • Sr. Member
  • ****
  • Posts: 2285
    • Nutcracker RGB Sequence Builder
Re: What would you want in a visualizer?
« Reply #3 on: January 14, 2013, »
You are not allowed to view links. Register or Login
Sean,

Thanks! Great feedback

As for playback I'm not trying to be an individual player, I want to be a visual represnetation of what an e1.31 device might get. So the music and playback speed would still be handled by the sequencer (at least that's how I have it in my head). I'll take one of them and play a sequence at different speeds and see how that affects what I have so far. Do you see a need to be a standalone sequencer player (I'm trying to let the sequencers do what they do really well and just fill a visualization spot...so as you change sequencers you can keep the visualizer).

Thanks,
Dan

I imagined a visualizer that worked with all the sequencers. This way it could be optimized to handle all the targetss

In the nutcracker, i need to have actual x,y,z dimensions to create effects. I am aware how this starts to get complex.

RGB, Non RGB
Megatreesone string wrapped into multiple strands, start at bottom or rop, wrap cw or ccw.
Matrices. Start at any corner, horizontal and vertical
Stars, all different kinds
Marty Fans
firepoles
eaves, arches,

Since i need to model anything i use, there would be synergy to maybe have an xml standard form for describing the targets. If all the sequencing people could have a standard. It looks like LOR might have started one with their lee file format.

Sean
Littleton, CO
Latest releases You are not allowed to view links. Register or Login
xLights/Nutcracker Forum You are not allowed to view links. Register or Login
Fbook You are not allowed to view links. Register or Login

Offline DanHouston

  • Sr. Member
  • ****
  • Posts: 499
Re: What would you want in a visualizer?
« Reply #4 on: January 14, 2013, »
Quote
I imagined a visualizer that worked with all the sequencers. This way it could be optimized to handle all the targetss

It would work with any sequencer capable of outputting e1.31 data.

Quote
In the nutcracker, i need to have actual x,y,z dimensions to create effects. I am aware how this starts to get complex.

Yeah the idea would be you draw and object on the screen (I'm actually hoping to get this to be totally open so people can create and share objects) and provide the information behind that object (channels it represents, RGB or not, start position, direction to move (ccw, cw)).

LOR might have a good format for storing that kind of information, I'll need to dig into that more.

2011 - Year #1
    4000 lights and 16 channels
    5 Songs sequenced
2012 - Year #2
    5000 lights and 123 channels
    8 Songs sequenced

Offline MrChristmas2000

  • Sr. Member
  • ****
  • Posts: 1115
Re: What would you want in a visualizer?
« Reply #5 on: January 14, 2013, »
I think that the visualizer needs to support a LARGE display that make take a very wide or multiple pictures to represent.

One possible ways to do this would be to have the option to have multiple pictures with a profile tied to each.

I have a corner lot display with a Manger scene on one side, and Santa and all other related elements on the other side. Even with a wide angle shot of the yard the elements show up as very small on the photo. It would need to give me the ability to zoom in and draw the element.


Offline jnealand

  • Patron Member
  • Sr. Member
  • ****
  • Posts: 2494
Re: What would you want in a visualizer?
« Reply #6 on: January 14, 2013, »
You might want to look at this thread over on DIYC.  This addin really improved the Vixen visualizer.  The code may be available.

Editable Adjustable Preview - lets you change your preview around and easily lets you use predefined images for mini trees, snowflake, mega trees, etc.  Has ability to put RGB pixels in place and map to your channels etc.
You are not allowed to view links. Register or Login
Jim Nealand
Kennesaw, GA

Offline DanHouston

  • Sr. Member
  • ****
  • Posts: 499
Re: What would you want in a visualizer?
« Reply #7 on: January 14, 2013, »
That looks very promising and possible to bolt on the packet work I've pulled together....Thanks!
2011 - Year #1
    4000 lights and 16 channels
    5 Songs sequenced
2012 - Year #2
    5000 lights and 123 channels
    8 Songs sequenced

Offline DanHouston

  • Sr. Member
  • ****
  • Posts: 499
Re: What would you want in a visualizer?
« Reply #8 on: January 18, 2013, »
Just a screenshot as progress continues.....

A couple of simple types (icicles and a megatree(not a pixel tree yet)).

It is currently picking up the e1.31 stream and animating the display. The tree is capable of clockwise and coutner clock wise rotations. I still have a lot of work to do to get this to even an alpha release that people can play with, but it's moving forward. :)

2011 - Year #1
    4000 lights and 16 channels
    5 Songs sequenced
2012 - Year #2
    5000 lights and 123 channels
    8 Songs sequenced

Offline rrowan

  • Administrator
  • Sr. Member
  • *****
  • Posts: 5899
  • 08096
Re: What would you want in a visualizer?
« Reply #9 on: January 18, 2013, »
You are not allowed to view links. Register or Login
Just a screenshot as progress continues.....

A couple of simple types (icicles and a megatree(not a pixel tree yet)).

It is currently picking up the e1.31 stream and animating the display. The tree is capable of clockwise and coutner clock wise rotations. I still have a lot of work to do to get this to even an alpha release that people can play with, but it's moving forward. :)

Nice, can't wait to try it

Thanks for doing this

Rick R.
Light Animation Hobby - Having fun and Learning at the same time. (21st member of DLA)
You are not allowed to view links. Register or Login
Warning SOME assembly required

Offline PJNMCT

  • Patron Member
  • Sr. Member
  • ****
  • Posts: 821
Re: What would you want in a visualizer?
« Reply #10 on: January 18, 2013, »
Cool!
Leesburg, FL

Offline lonewolf41

  • Coop Manager
  • Sr. Member
  • *
  • Posts: 2138
Re: What would you want in a visualizer?
« Reply #11 on: January 22, 2013, »
I think this might be helpful for even what I did last year.  I sequenced everything in chunks.  I created 3 separate sequences for each song (megatree, house & arches, DMX) and then combined them into one master.  It made sequencing 6200 channels easier for me.  With one master visualizer, I could use the same preview for all those.  It would be one common preview and prevent me from having to create different ones for each profile/element.  Very interested to see what you come up with.

-Keith

Offline DanHouston

  • Sr. Member
  • ****
  • Posts: 499
Re: What would you want in a visualizer?
« Reply #12 on: August 11, 2014, »
I've had a couple of PMs recently about where I am with this, so I thought I would update this thread. I got fairly far with it and then before I moved into more of the display items I started doing some performance testing with higher channel counts. Performance fell off pretty bad after about 300 channels due to the way I was doing the graphics....then life got in the way. :)

Then I realized I need to learn DirectX (or a framework on top of it) to get the performance I needed....So I've been doing a lot of tutorials and reading and asking some of the other people who have visualizers in their sequencers what they did/learned.

Over the last month or so I've reworked portions of the drawing code to leverage DirectX and I'm just about to a point where I can add back my packet reading code and do some performance tests again. Depending on how all of that goes (hopefully this week or next) the possibility of having something crude people can play with a little would be on the horizon.

Anyways, that's the current status.
2011 - Year #1
    4000 lights and 16 channels
    5 Songs sequenced
2012 - Year #2
    5000 lights and 123 channels
    8 Songs sequenced

Offline DanHouston

  • Sr. Member
  • ****
  • Posts: 499
Re: What would you want in a visualizer?
« Reply #13 on: August 23, 2014, »
I've made some progress and think I have overcome the performance issue. I still need to test with much higher channel counts, but looking good so far.

Here's a short video (no audio):
You are not allowed to view links. Register or Login

And a new screenshot.


It's still got a fair bit of work before it's ready for others to test, and I have not looked at pixelnet at all (just DMX at the moment) which I know many here will want.
2011 - Year #1
    4000 lights and 16 channels
    5 Songs sequenced
2012 - Year #2
    5000 lights and 123 channels
    8 Songs sequenced

Offline arw01

  • Sr. Member
  • ****
  • Posts: 866
Re: What would you want in a visualizer?
« Reply #14 on: August 24, 2014, »
Very impressive Dan, are you going to open source it when you get a little further so some of us could help you out with enhancements etc?

I know a couple of folks were wanting to be able to have a couple of different perspectives, and I suppose if we made up a single image with both sides of the house or so.

Great work!