Nutcracker: new release Matrix target

smeighan said:
ɟɐsʇǝppʎ said:
For me this looks great but as a user of LightShowPro, this is useless to me as i cant use it with LSP. Is there any plans for adding LSP support or have you decided its not worth pursuing


I am still planning on getting a native LSP file. Some LSP users have already gotten Nutcradcker data loaded by opening a lms file. LSP doesnt seem to recognize the <rgbchannel> xml tag and is loading the data in as 3 separate rows. It still works.

Yes this is why im asking, ive posted results previously on using the LMS file and converting to a LSP file but as you have already stated it does not keep the channels as RGB which is a setback because when you change it back to an RGB channel then the effect ends up being all white.
 
smeighan said:
magii said:
Is there a minimum matrix size to do scrolling text? Can it go down as small as 5 - 7 pixels tall on a single line?


The text is 5x7 for upper case, it is 5x9 to have the trailing staffs of lowercase letters. There is a one pixel hap so it is a 6x9 pixel matri to show any letter. Prob would work 6x7 , lower case letters wont show correct, but if you want only upper case you prob are ok

I'm trying to get this to display on a 9 x 18 matrix (one DMX universe) and it seems to compile, however when I try to load the LMS file it's just a solid block. The "preview" online looks just fine but it doesn't translate into the LMS file.
 
magii said:
smeighan said:
magii said:
Is there a minimum matrix size to do scrolling text? Can it go down as small as 5 - 7 pixels tall on a single line?


The text is 5x7 for upper case, it is 5x9 to have the trailing staffs of lowercase letters. There is a one pixel hap so it is a 6x9 pixel matri to show any letter. Prob would work 6x7 , lower case letters wont show correct, but if you want only upper case you prob are ok

I'm trying to get this to display on a 9 x 18 matrix (one DMX universe) and it seems to compile, however when I try to load the LMS file it's just a solid block. The "preview" online looks just fine but it doesn't translate into the LMS file.


There is a bug when i take a scrolling text file and create a lms file. I meant to work that bug this last weekend but i have been sick. I will try and get it fixed by the next week.


sorry
 
smeighan said:
"The LSP file format is changing to be more scalable, but will still be UN-encrypted when generated for the licensed channel count.it will retain backward compatibility with files."
This seems to me to mean that LSP 3 files will not be compressed.

Hey Sean
David was talking about encryption, rather than compression. He mentioned that the existing files are un-encrypted, and LSP 3.0 will continue to be un-encrypted. The reason he was talking about encryption is that he protects his licencing by encrypting any .msq file exported when the channel count exceeds what your licence covers (otherwise, it's un-encrypted)

What he was suggesting, however, is that he is going to a new file format in 3.0, to be more scalable. I am not sure whether he is saying that he's moving away from XML or not.. He may actually decide to stick with XML, but be much more efficient.. For example, if you check out the attached text file, this is one channel in a 90 second sequence - 75kb of XML for one channel is quite a lot!

In any case, I'd be surprised if he moves away from compressing the files - as an example, one of my sequences (relatively simple, only 90 seconds long, about 3000 odd channels total) is 2.7Mb compressed, but is 47mb uncompressed

[attachurl=1]
 

Attachments

  • OneChannel.txt
    75.5 KB · Views: 4
I forgot to say - I actually wrote my own tool last year to insert effects into my LSP sequences - it read in a .msq file, uncompressed it, put the effects in at the appropriate locations, before compressing and saving.

I haven't had a chance to look at Nutcracker yet, but I'll have a play when I get some time. Perhaps I could use the output of Nutcracker to insert the data against a given set of channels at a given time period.

The advantage of doing something like this, is that the data for a matrix or megatree could be imported into sequence that has other elements in it.
 
Kane said:
smeighan said:
"The LSP file format is changing to be more scalable, but will still be UN-encrypted when generated for the licensed channel count.it will retain backward compatibility with files."
This seems to me to mean that LSP 3 files will not be compressed.

Hey Sean
David was talking about encryption, rather than compression. He mentioned that the existing files are un-encrypted, and LSP 3.0 will continue to be un-encrypted. The reason he was talking about encryption is that he protects his licencing by encrypting any .msq file exported when the channel count exceeds what your licence covers (otherwise, it's un-encrypted)

What he was suggesting, however, is that he is going to a new file format in 3.0, to be more scalable. I am not sure whether he is saying that he's moving away from XML or not.. He may actually decide to stick with XML, but be much more efficient.. For example, if you check out the attached text file, this is one channel in a 90 second sequence - 75kb of XML for one channel is quite a lot!

In any case, I'd be surprised if he moves away from compressing the files - as an example, one of my sequences (relatively simple, only 90 seconds long, about 3000 odd channels total) is 2.7Mb compressed, but is 47mb uncompressed

[attachurl=1]


Hi;


I have been looking at Vixen and LOR XML files (their coding is complete). It seems LSP has the most bytes for a sequence.


Here is the first 3 lines of your attachment. I have asked if anyone can decode what this is supposed to have. I don't understand why this file has so many html codes in it (&gt; &quot; &lt; .etc.) seems space wasteful. Neither Vixen or LOR compress their xml. This has made their code easier to support on my web server. It doesn't look like i can get 7zip installed without moving to a dedicated server offering. Maybe i can make the large xml files and let the lsp users compress them into msq files on their desktops?




If i were to produce a file from Nutcracker that looks like your attachment, can you load it into LSP? I would need an explanation for all the keywords that are bolded. BLU i think is one chunk of data for the dat token.





<Intervals>
<TimeInterval eff="4" dat="" gui="{09A9DFBE-9833-413c-95FA-4FFDFEBF896F}" in="1" out="1" pos="-600" sin="-1" att="1" />
<TimeInterval eff="1" dat="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;ec&gt; &lt;in&gt;1&lt;/in&gt; &lt;out&gt;100&lt;/out&gt; &lt;rt&gt;0&lt;/rt&gt;&lt;/ec&gt;" gui="{1B0F1B59-7161-4782-B068-98E021A6E048}" in="10" out="100" pos="35280" sin="-1" att="0" bst="-16776961" ben="-16776961" />
 
smeighan said:
I don't understand why this file has so many html codes in it (&gt; &quot; &lt; .etc.) seems space wasteful.
Yeah, I could never work out why some of the XML nodes had the "dat" property set to a bunch of XML - from memory, I never actually needed to enter anything in there and could leave it blank, and LSP didn't even complain when loading the .msq file back in.
smeighan said:
Neither Vixen or LOR compress their xml. This has made their code easier to support on my web server. It doesn't look like i can get 7zip installed without moving to a dedicated server offering. Maybe i can make the large xml files and let the lsp users compress them into msq files on their desktops?
Based on the LSP 2.0 file format, you could end up with some pretty big files.. But perhaps the 3.0 file format will be much smaller (and then not need to be compressed). I have posted on your LSP forum post asking about getting an early copy of an example sequence - not sure if we'll have any luck though - maybe FE needs to ask nicely for us! :)

smeighan said:
If i were to produce a file from Nutcracker that looks like your attachment, can you load it into LSP? I would need an explanation for all the keywords that are bolded. BLU i think is one chunk of data for the dat token.
Nah, that chunk of XML is not really too useful standalone - it's only one xml node within many others - you'd have to manually edit the sequence file and insert it in the right spot) for each and every channel!!
 
smeighan said:
<Intervals>
<TimeInterval eff="4" dat="" gui="{09A9DFBE-9833-413c-95FA-4FFDFEBF896F}" in="1" out="1" pos="-600" sin="-1" att="1" />
<TimeInterval eff="1" dat="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;ec&gt; &lt;in&gt;1&lt;/in&gt; &lt;out&gt;100&lt;/out&gt; &lt;rt&gt;0&lt;/rt&gt;&lt;/ec&gt;" gui="{1B0F1B59-7161-4782-B068-98E021A6E048}" in="10" out="100" pos="35280" sin="-1" att="0" bst="-16776961" ben="-16776961" />
Not that this is going to be of much use to you, but I've just loaded up my LSP XML manipulation code, and here's what they correspond to - might be useful to anyone else playing around with this sort of thing. That being said, most likely this will all go out the window with the new version!

eff: type of effect (-1=nothing,1=rampup,2=rampdown,3=on,4=off,5=twinkle)

guid: unique identifier for the effect (no idea why the "eff" isn't sufficient) eg Ramp up is {1B0F1B59-7161-4782-B068-98E021A6E048}

dat: (I think I was wrong before, as looking over my notes, this might be required) - this also depends on the effect - ramp up is
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;effectConfig&gt; &lt;intensityIn&gt;1&lt;/intensityIn&gt; &lt;intensityOut&gt;100&lt;/intensityOut&gt; &lt;rampType&gt;0&lt;/rampType&gt;&lt;/effectConfig&gt;

in, out: intensity (0-100) at start and end. (eg ramp up would be in=10 and out=100)

bst,ben: start and end colour (for rgb channels)

pos:start location of effect (there is no "end" location stored - each effect goes up until the next one, which takes over) To calculate the value for "pos", it's number of seconds multiplied by 88200.

sin: always seems to be "-1"

att: not using in channel XML - used in another part of the XML where the timing highlights are setup (eg if you want a green timing highlight at a certain position, you can set "att" to 9.
 
smeighan said:
Kane said:
smeighan said:
"The LSP file format is changing to be more scalable, but will still be UN-encrypted when generated for the licensed channel count.it will retain backward compatibility with files."
This seems to me to mean that LSP 3 files will not be compressed.

Hey Sean
David was talking about encryption, rather than compression. He mentioned that the existing files are un-encrypted, and LSP 3.0 will continue to be un-encrypted. The reason he was talking about encryption is that he protects his licencing by encrypting any .msq file exported when the channel count exceeds what your licence covers (otherwise, it's un-encrypted)

What he was suggesting, however, is that he is going to a new file format in 3.0, to be more scalable. I am not sure whether he is saying that he's moving away from XML or not.. He may actually decide to stick with XML, but be much more efficient.. For example, if you check out the attached text file, this is one channel in a 90 second sequence - 75kb of XML for one channel is quite a lot!

In any case, I'd be surprised if he moves away from compressing the files - as an example, one of my sequences (relatively simple, only 90 seconds long, about 3000 odd channels total) is 2.7Mb compressed, but is 47mb uncompressed

[attachurl=1]


Hi;


I have been looking at Vixen and LOR XML files (their coding is complete). It seems LSP has the most bytes for a sequence.


Here is the first 3 lines of your attachment. I have asked if anyone can decode what this is supposed to have. I don't understand why this file has so many html codes in it (&gt; &quot; &lt; .etc.) seems space wasteful. Neither Vixen or LOR compress their xml. This has made their code easier to support on my web server. It doesn't look like i can get 7zip installed without moving to a dedicated server offering. Maybe i can make the large xml files and let the lsp users compress them into msq files on their desktops?




If i were to produce a file from Nutcracker that looks like your attachment, can you load it into LSP? I would need an explanation for all the keywords that are bolded. BLU i think is one chunk of data for the dat token.





<Intervals>
<TimeInterval eff="4" dat="" gui="{09A9DFBE-9833-413c-95FA-4FFDFEBF896F}" in="1" out="1" pos="-600" sin="-1" att="1" />
<TimeInterval eff="1" dat="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;ec&gt; &lt;in&gt;1&lt;/in&gt; &lt;out&gt;100&lt;/out&gt; &lt;rt&gt;0&lt;/rt&gt;&lt;/ec&gt;" gui="{1B0F1B59-7161-4782-B068-98E021A6E048}" in="10" out="100" pos="35280" sin="-1" att="0" bst="-16776961" ben="-16776961" />


The dat= blue text, looks like this when you decode the html:
<?xml version="1.0" encoding="utf-16"?><ec> <in>1</in> <out>100</out> <rt>0</rt></ec>




For every pixe i have in nutcracker, i could fill in


<TimeInterval
eff="1" <= maybe i could use 3 for "on"
in="10" <= I can provide this, it is the Brightness or Value from the HSV model of RGB
out="100" [SIZE=78%]<= I can provide this, it is the Brightness or Value from the HSV model of RGB[/SIZE]
pos="35280" <= I know where i am in milliseconds on every track.
sin="-1" <= always set this to a -1
att="0" <= always set it to 0 or can i drop it.
bst="-16776961" <= I have a starting rgb value for every frame.
ben="-16776961" /> <= My ending color is the same as my starting color. I think i could drop this.




I read this as i am not providing three channels for RGB , but just the actual rgb value. This is 3 times better than Vixen and LOR files space wise.


Putting out an xml tag with html decoded values for every pixel change is going to be very wasteful of space. I think it will work out that for a given 5 second Nutcracker butterfly effect
Vixen will have the smallest xml file, then LOR and then LSP.


If i could get rid of the gui and dat tokens, i think LSP would then be the smallest.


Kane;
eff: type of effect (-1=nothing,1=rampup,2=rampdown,3=on,4=off,5=twinkle)[/size] guid: unique identifier for the effect (no idea why the "eff" isn't sufficient) eg Ramp up is {1B0F1B59-7161-4782-B068-98E021A6E048}


What are the guid's dat's for the other effects? Are these hard coded or do they change for each persons installation?Maybe i could do somethinglike dat=eff1 gui=eff1and let the user do a mass change in his xml file if they are different based on the users installation.Maybe i could prompt for these values when i am creating the file and then the user doesnt need to try and do a sed through a massive file.
 
smeighan said:
For every pixe i have in nutcracker, i could fill in

<TimeInterval
eff="1" <= maybe i could use 3 for "on"
in="10" <= I can provide this, it is the Brightness or Value from the HSV model of RGB
out="100" [SIZE=78%]<= I can provide this, it is the Brightness or Value from the HSV model of RGB[/SIZE]
pos="35280" <= I know where i am in milliseconds on every track.
sin="-1" <= always set this to a -1
att="0" <= always set it to 0 or can i drop it.
bst="-16776961" <= I have a starting rgb value for every frame.
ben="-16776961" /> <= My ending color is the same as my starting color. I think i could drop this.

Putting out an xml tag with html decoded values for every pixel change is going to be very wasteful of space. I think it will work out that for a given 5 second Nutcracker butterfly effect
Vixen will have the smallest xml file, then LOR and then LSP.


If i could get rid of the gui and dat tokens, i think LSP would then be the smallest.


Kane;
eff: type of effect (-1=nothing,1=rampup,2=rampdown,3=on,4=off,5=twinkle) guid: unique identifier for the effect (no idea why the "eff" isn't sufficient) eg Ramp up is {1B0F1B59-7161-4782-B068-98E021A6E048}


What are the guid's dat's for the other effects? Are these hard coded or do they change for each persons installation?Maybe i could do somethinglike dat=eff1 gui=eff1and let the user do a mass change in his xml file if they are different based on the users installation.Maybe i could prompt for these values when i am creating the file and then the user doesnt need to try and do a sed through a massive file.

I can provide the other guids etc (and I'm pretty sure that they are not unique to an installation), but I really don't think that it will be worth going down that path, as the new file format will mean any effort will be wasted - I think it'd be best to wait until we've at least got an idea of the new file format, and go from there. Given setting "eff" correctly determines the values for guid and dat, that should be all that is required.

That being said, simply producing a bunch of <TimeInterval>'s isn't going to be of much use unless there was a way of inserting those intervals into the correct location in the XML.

I definately think that a simple desktop app would be the easiest way to do this - load up a .msq file, load in csv pixel data from nutcracker, choose the mapping between the nutcracker channels and the LSP channels (eg my matrix might be channels 1000-1600), and then specify the time to apply the effect (eg 20 seconds in), and it just does it's thing.

Probably even more elegant would be an LSP plugin, but David does not seem to want to help out with this - he did tell me last year that he'll send me sample code, but never did so.
 
Kane said:
smeighan said:
For every pixe i have in nutcracker, i could fill in

<TimeInterval
eff="1" <= maybe i could use 3 for "on"
in="10" <= I can provide this, it is the Brightness or Value from the HSV model of RGB
out="100" [SIZE=78%]<= I can provide this, it is the Brightness or Value from the HSV model of RGB[/SIZE]
pos="35280" <= I know where i am in milliseconds on every track.
sin="-1" <= always set this to a -1
att="0" <= always set it to 0 or can i drop it.
bst="-16776961" <= I have a starting rgb value for every frame.
ben="-16776961" /> <= My ending color is the same as my starting color. I think i could drop this.

Putting out an xml tag with html decoded values for every pixel change is going to be very wasteful of space. I think it will work out that for a given 5 second Nutcracker butterfly effect
Vixen will have the smallest xml file, then LOR and then LSP.


If i could get rid of the gui and dat tokens, i think LSP would then be the smallest.


Kane;
eff: type of effect (-1=nothing,1=rampup,2=rampdown,3=on,4=off,5=twinkle) guid: unique identifier for the effect (no idea why the "eff" isn't sufficient) eg Ramp up is {1B0F1B59-7161-4782-B068-98E021A6E048}


What are the guid's dat's for the other effects? Are these hard coded or do they change for each persons installation?Maybe i could do somethinglike dat=eff1 gui=eff1and let the user do a mass change in his xml file if they are different based on the users installation.Maybe i could prompt for these values when i am creating the file and then the user doesnt need to try and do a sed through a massive file.

I can provide the other guids etc (and I'm pretty sure that they are not unique to an installation), but I really don't think that it will be worth going down that path, as the new file format will mean any effort will be wasted - I think it'd be best to wait until we've at least got an idea of the new file format, and go from there. Given setting "eff" correctly determines the values for guid and dat, that should be all that is required.

That being said, simply producing a bunch of <TimeInterval>'s isn't going to be of much use unless there was a way of inserting those intervals into the correct location in the XML.

I definately think that a simple desktop app would be the easiest way to do this - load up a .msq file, load in csv pixel data from nutcracker, choose the mapping between the nutcracker channels and the LSP channels (eg my matrix might be channels 1000-1600), and then specify the time to apply the effect (eg 20 seconds in), and it just does it's thing.

Probably even more elegant would be an LSP plugin, but David does not seem to want to help out with this - he did tell me last year that he'll send me sample code, but never did so.


I already produce space delimited data from Nutcracker of sequences.


When u create an animated sequence, you will see the animated gif in Nutcracker.
Right below that is the options for producing output


Here is a butterfly effect
AA+FLY_0_0_TEST.gif



Below it is the option


kane1.png





Click on the first entry , to get Vixen data.


kane2.png



Now you have two choices, a vixen fir file or a txt file.


Click on txt file and you will see a comma delimited file. This file has one row for each channel


So
String 1, Pixel 1 (R) is the first row
String 1, Pixel 1 (G) is the second row
String 1, Pixel 1 (B) is the third row

String 1, Pixel 2 (R) is the fourth row
String 1, Pixel 2 (G) is the fifth row
String 1, Pixel 3 (B) is the sixth row


Each row has a 0-255 value for the frames.
In this example there were 16 frames.


Vixen and LOR have an ability to paste data (Vixen it is a vir file, LOR is a lcb file) anywhere on an existing sequence.


This ability doesn't seem to exist in LSP.


So , if you wrote a tool that takes this data and inserts it into an already existing msq file, that would seem ideal.


I would prefer to offer both LSP2 and LSP3 so that users were not forced to upgrade, if making two tools is too hard, then i would assume LSP3 would be the focus.


Thanks


0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 123,199,255,255,255,255,255,255,255,255,255,255,255,255,255,255 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 255,255,242,181,129,85,51,25,9,2,4,16,37,67,107,155 42,125,201,255,255,255,255,255,255,255,255,255,255,255,255,255 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 255,255,255,241,180,128,84,50,24,8,2,4,16,38,68,108 0,44,127,203,255,255,255,255,255,255,255,255,255,255,255,255 45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 255,255,255,255,239,179,127,84,49,24,8,2,4,17,38,69 0,0,46,129,205,255,255,255,255,255,255,255,255,255,255,255 138,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0 255,255,255,255,255,237,177,126,83,49,24,8,2,5,17,39 0,0,0,48,131,206,255,255,255,255,255,255,255,255,255,255 236,136,41,0,0,0,0,0,0,0,0,0,0,0,0,0 255,255,255,255,255,255,236,176,125,82,48,23,8,2,5,18 0,0,0,0,50,133,208,255,255,255,255,255,255,255,255,255 255,234,133,39,0,0,0,0,0,0,0,0,0,0,0,0 171,255,255,255,255,255,255,234,175,124,81,47,23,7,2,5 0,0,0,0,0,52,135,210,255,255,255,255,255,255,255,255 255,255,231,131,36,0,0,0,0,0,0,0,0,0,0,0 64,173,255,255,255,255,255,255,233,174,122,80,47,22,7,2 46,0,0,0,0,0,54,136,211,255,255,255,255,255,255,255
 
Back
Top