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.