smeighan
Dedicated elf
Hi all;
i have started the xml output module for vixen.
My color coding for the below is as follows:
GREEN= just output this exactly as shown
ORANGE= i can get rid of these, unneeded for a nutcracker vix file
BLUE= places whjere i need to supply the data.
I found this thread on vixen file format
http://doityourselfchristmas.com/forums/archive/index.php/t-2539.html
This is a cut and paste from a musicbox.vix file.
1..<?xml version="1.0" encoding="utf-8"?>
2..<Program>
3.. <Time>117760</Time>
4.. <EventPeriodInMilliseconds>50
5.. </EventPeriodInMilliseconds>
I assume <Time> is in millis seconds.
Since i have frames in Nutcracker, I will set time and EventPeriodMilliseconds
Lets use an example. 16 strings, 50 pixels each. I need one channel for r,g,b for each pixel
16x50=3 = 2400 channels. If i have a 5 second sequence with a 50ms frame time, then i have 100 frames.
$frames=100;
$frametime=50;
time = $frames * $frameTime;
EventPeriodInMilliseconds=$frameTime;
or
time=5000
EventPeriodInMilliseconds=50
6.. <MinimumLevel>0</MinimumLevel> I assume MinimumLevel,MaximumLevel is the range of each rgb value?
7.. <MaximumLevel>255</MaximumLevel>
8.. <AudioDevice>-1</AudioDevice>
9.. <AudioVolume>0</AudioVolume>
10. <Channels />
11. <PlugInData>
12. <PlugIn name="Adjustable preview" key="-1193625963" id="0" enabled="True" type="Output" from="1"
13. to= "698">Is 698 the number of frames that are in sequence?
14. <BackgroundImage>
15. ... lots of stuff here, assume it is also base64 representing the image ....
16.</BackgroundImage>
17. <RedirectOutputs>False</RedirectOutputs>
18. <Display>
19. <Height>211</Height>
20. <Width>459</Width>
21. <PixelSize>3</PixelSize>
22. <Brightness>5</Brightness>
23. </Display>
24. <Channels>
25. <Channel Number="6">WQAMAFkACwBZAAoAWQAJAFoACQBaAAoAWgALAFoADABbAAwAXA
MAFwADQBdAAwAXQALAF0ACgBeAAoAXwAKAF8ACwBfAAwAXwANAF4ADQBdAA0AXAALAFwA
gBeAAkAXQAJAFwACQBbAAkAXAAOAF0ADgBbAA0AWgANAFkADQBeAA4AWwALAF8ADgBeAAw
AXgALAFoACABZAAgAWAAIAFcACQBWAAkAVQAJAE0AEABMABAAVAAOAFQADQBUAAwAVQAM (i added word wraps here, just for clarity)
AFYACwBWAAoAVwAKAFgACgBYAAsAWAAMAFcADABWAAwAUwAMAFMADQBSAA0AVAALAFUAC
wBWAA0AVgAOAFUADgBTAA4AUgAOAFEADgBQAA4ATwAOAE4ADgBNAA4ATQAPAE4ADwBPAA8A
UAAPAEwADwBLAA8ASgAPAEoADgBLAA4ATAAOAE0ADQBOAA0ATgAMAE8ADABQAAwAUQAMAFIAD
ABSAAsAUwALAFQACgBUAAkAVQAKAFMACgBRAA0AS
gAQAEoAEQBKABIASwASAEsAEQBMABEATgAQAE8AEABRAA8AVQANAFcACwBYAA0AVwANAFIADwB
TAA8ASwAQAFoADwBZAA8AWAAPAFsADwBcAA8AXAAQAFsAEABaABAAWQAQAFgAEABXABAAVgAQ
AFUAEABVABEAVwAPAFYAEQBUABEAUwARAFIAEQBRABEAUgAQAFMAEABUABAAVQAPAFAAEQBPABE
ATgARAE4AEgBNABIATQATAE4AEwBPABMAUAATAFEAEwBSABMAUwATAFMAEgBPABIAUAASAFEAEABSABIAUQASAFQAEgBVABIAVwARAA==</Channel>
....
26. channels are listed here
....
27. <Channel number="478">EAAMABAADQAQAA4AEAAPABAAEAAQABEAEAASABAAEwAQABQAEAAVABAAFgAQABcAEAAYAA==</Channel>
What are these numbers in the channel section? Is this where we specify what device is connected to the channel?
Lets use an example. 16 strings, 50 pixels each. I need one channel for r,g,b for each pixel
16x50=3 = 2400 channels. If i have a 5 second sequence with a 50ms frame time, then i have 100 frames.
So for string 1, Pixel #1 i have channels 1,2,3
So for string 1, Pixel #2 i have channels 4,5,6
So for string 1, Pixel #3 i have channels 7,8,9
..
So for string 16, Pixel #50 i have channels 2398,2399,2400
or is there a different format when outputting to rgb devices?
28. <Channel number="479">DAAWAA4AFAAPABMAEAASABEAEQASABAAEwAPAA0AFQAUAA4A</Channel>
29. <Channel number="477">EAASABEAEwASABQAEwAVABQAFgAPABEADgAQAA0ADwAMAA4A</Channel>
30. </Channels>
31. <DialogPositions>
32. <PreviewDialog x="237" y="186" />
33. </DialogPositions>
34. </PlugIn>
35. <PlugIn name="Renard Dimmer (modified)" key="935429715" id="1" enabled="True" type="Output" from="97" to="124">
36. <name>COM1</name>
37. <baud>57600</baud>
38. <parity>None</parity>
39. <data>8</data>
40. <stop>One</stop>
41. <ProtocolVersion>1</ProtocolVersion>
42. <HoldPort>True</HoldPort>
43. </PlugIn>
44. </PlugInData>
45. <SortOrders lastSort="-1" />
46. <Profile2009 Sequences</Profile>I think i may want to make a profile, *.pro file. If i do , it oges here?
47. <Audio filename="DJ Schwede - Music Box Dancer.mp3" duration="117760">
48. </Audio>
49. <EventValues>
50. .... lots of base64 stuff goes here ....
So I assume all channels are concatenated into one huge string of base64 data?
I will be using php's base64_encode ( string $data ) to encode the data.
I assume this data is the r/g/b value for the frame i am at?
so.
So for channel#1 ( string 1, Pixel #1 ,R) i will encode the 100 bytes that correspond to the 100 frames of RED
So for channel#2 ( string 1, Pixel #1 ,G) i will encode the 100 bytes that correspond to the 100 frames of BLUE
So for channel#3 ( string 1, Pixel #1 ,B) i will encode the 100 bytes that correspond to the 100 frames of GREEN
So for channel#4 ( string 1, Pixel #2 ,R) i will encode the 100 bytes that correspond to the 100 frames of RED
So for channel#5 ( string 1, Pixel #2 ,G) i will encode the 100 bytes that correspond to the 100 frames of BLUE
So for channel#6 ( string 1, Pixel #2 ,B) i will encode the 100 bytes that correspond to the 100 frames of GREEN
51. </EventValues>
52. <LoadableData />
53. <EngineType>Standard</EngineType>
54. <Extensions>
55. <Extension type=".vix" />
56. </Extensions>
57. <WindowSize>160,27</WindowSize>
58. <ChannelWidth>214</ChannelWidth>
59. </Program>
When replying , you can use the line numbers i gave to point me to what section you are talking about.
As soon as i get this, we are probably going to see vixen files by this weekend. (fingers crossed).
Thanks
i have started the xml output module for vixen.
My color coding for the below is as follows:
GREEN= just output this exactly as shown
ORANGE= i can get rid of these, unneeded for a nutcracker vix file
BLUE= places whjere i need to supply the data.
I found this thread on vixen file format
http://doityourselfchristmas.com/forums/archive/index.php/t-2539.html
This is a cut and paste from a musicbox.vix file.
1..<?xml version="1.0" encoding="utf-8"?>
2..<Program>
3.. <Time>117760</Time>
4.. <EventPeriodInMilliseconds>50
5.. </EventPeriodInMilliseconds>
I assume <Time> is in millis seconds.
Since i have frames in Nutcracker, I will set time and EventPeriodMilliseconds
Lets use an example. 16 strings, 50 pixels each. I need one channel for r,g,b for each pixel
16x50=3 = 2400 channels. If i have a 5 second sequence with a 50ms frame time, then i have 100 frames.
$frames=100;
$frametime=50;
time = $frames * $frameTime;
EventPeriodInMilliseconds=$frameTime;
or
time=5000
EventPeriodInMilliseconds=50
6.. <MinimumLevel>0</MinimumLevel> I assume MinimumLevel,MaximumLevel is the range of each rgb value?
7.. <MaximumLevel>255</MaximumLevel>
8.. <AudioDevice>-1</AudioDevice>
9.. <AudioVolume>0</AudioVolume>
10. <Channels />
11. <PlugInData>
12. <PlugIn name="Adjustable preview" key="-1193625963" id="0" enabled="True" type="Output" from="1"
13. to= "698">Is 698 the number of frames that are in sequence?
14. <BackgroundImage>
15. ... lots of stuff here, assume it is also base64 representing the image ....
16.</BackgroundImage>
17. <RedirectOutputs>False</RedirectOutputs>
18. <Display>
19. <Height>211</Height>
20. <Width>459</Width>
21. <PixelSize>3</PixelSize>
22. <Brightness>5</Brightness>
23. </Display>
24. <Channels>
25. <Channel Number="6">WQAMAFkACwBZAAoAWQAJAFoACQBaAAoAWgALAFoADABbAAwAXA
MAFwADQBdAAwAXQALAF0ACgBeAAoAXwAKAF8ACwBfAAwAXwANAF4ADQBdAA0AXAALAFwA
gBeAAkAXQAJAFwACQBbAAkAXAAOAF0ADgBbAA0AWgANAFkADQBeAA4AWwALAF8ADgBeAAw
AXgALAFoACABZAAgAWAAIAFcACQBWAAkAVQAJAE0AEABMABAAVAAOAFQADQBUAAwAVQAM (i added word wraps here, just for clarity)
AFYACwBWAAoAVwAKAFgACgBYAAsAWAAMAFcADABWAAwAUwAMAFMADQBSAA0AVAALAFUAC
wBWAA0AVgAOAFUADgBTAA4AUgAOAFEADgBQAA4ATwAOAE4ADgBNAA4ATQAPAE4ADwBPAA8A
UAAPAEwADwBLAA8ASgAPAEoADgBLAA4ATAAOAE0ADQBOAA0ATgAMAE8ADABQAAwAUQAMAFIAD
ABSAAsAUwALAFQACgBUAAkAVQAKAFMACgBRAA0AS
gAQAEoAEQBKABIASwASAEsAEQBMABEATgAQAE8AEABRAA8AVQANAFcACwBYAA0AVwANAFIADwB
TAA8ASwAQAFoADwBZAA8AWAAPAFsADwBcAA8AXAAQAFsAEABaABAAWQAQAFgAEABXABAAVgAQ
AFUAEABVABEAVwAPAFYAEQBUABEAUwARAFIAEQBRABEAUgAQAFMAEABUABAAVQAPAFAAEQBPABE
ATgARAE4AEgBNABIATQATAE4AEwBPABMAUAATAFEAEwBSABMAUwATAFMAEgBPABIAUAASAFEAEABSABIAUQASAFQAEgBVABIAVwARAA==</Channel>
....
26. channels are listed here
....
27. <Channel number="478">EAAMABAADQAQAA4AEAAPABAAEAAQABEAEAASABAAEwAQABQAEAAVABAAFgAQABcAEAAYAA==</Channel>
What are these numbers in the channel section? Is this where we specify what device is connected to the channel?
Lets use an example. 16 strings, 50 pixels each. I need one channel for r,g,b for each pixel
16x50=3 = 2400 channels. If i have a 5 second sequence with a 50ms frame time, then i have 100 frames.
So for string 1, Pixel #1 i have channels 1,2,3
So for string 1, Pixel #2 i have channels 4,5,6
So for string 1, Pixel #3 i have channels 7,8,9
..
So for string 16, Pixel #50 i have channels 2398,2399,2400
or is there a different format when outputting to rgb devices?
28. <Channel number="479">DAAWAA4AFAAPABMAEAASABEAEQASABAAEwAPAA0AFQAUAA4A</Channel>
29. <Channel number="477">EAASABEAEwASABQAEwAVABQAFgAPABEADgAQAA0ADwAMAA4A</Channel>
30. </Channels>
31. <DialogPositions>
32. <PreviewDialog x="237" y="186" />
33. </DialogPositions>
34. </PlugIn>
35. <PlugIn name="Renard Dimmer (modified)" key="935429715" id="1" enabled="True" type="Output" from="97" to="124">
36. <name>COM1</name>
37. <baud>57600</baud>
38. <parity>None</parity>
39. <data>8</data>
40. <stop>One</stop>
41. <ProtocolVersion>1</ProtocolVersion>
42. <HoldPort>True</HoldPort>
43. </PlugIn>
44. </PlugInData>
45. <SortOrders lastSort="-1" />
46. <Profile2009 Sequences</Profile>I think i may want to make a profile, *.pro file. If i do , it oges here?
47. <Audio filename="DJ Schwede - Music Box Dancer.mp3" duration="117760">
48. </Audio>
49. <EventValues>
50. .... lots of base64 stuff goes here ....
So I assume all channels are concatenated into one huge string of base64 data?
I will be using php's base64_encode ( string $data ) to encode the data.
I assume this data is the r/g/b value for the frame i am at?
so.
So for channel#1 ( string 1, Pixel #1 ,R) i will encode the 100 bytes that correspond to the 100 frames of RED
So for channel#2 ( string 1, Pixel #1 ,G) i will encode the 100 bytes that correspond to the 100 frames of BLUE
So for channel#3 ( string 1, Pixel #1 ,B) i will encode the 100 bytes that correspond to the 100 frames of GREEN
So for channel#4 ( string 1, Pixel #2 ,R) i will encode the 100 bytes that correspond to the 100 frames of RED
So for channel#5 ( string 1, Pixel #2 ,G) i will encode the 100 bytes that correspond to the 100 frames of BLUE
So for channel#6 ( string 1, Pixel #2 ,B) i will encode the 100 bytes that correspond to the 100 frames of GREEN
51. </EventValues>
52. <LoadableData />
53. <EngineType>Standard</EngineType>
54. <Extensions>
55. <Extension type=".vix" />
56. </Extensions>
57. <WindowSize>160,27</WindowSize>
58. <ChannelWidth>214</ChannelWidth>
59. </Program>
When replying , you can use the line numbers i gave to point me to what section you are talking about.
As soon as i get this, we are probably going to see vixen files by this weekend. (fingers crossed).
Thanks