Page 1 of 3 123 LastLast
Results 1 to 10 of 23

Thread: Vixen FIle Format?

  1. #1
    Join Date
    Oct 2009
    Location
    Savannah, GA
    Posts
    441
    Post Thanks / Like

    Default Vixen FIle Format?

    Does anyone know the format the data in stored for the EventValues data element? There are to be a reference somewhere, I am just not finding it...

    Thanks!

  2. #2
    Join Date
    Feb 2008
    Location
    Warminster, PA
    Posts
    1,928
    Post Thanks / Like

    Default Re: Vixen FIle Format?

    I believe it is stored in base64.
    Chris
    [URL="http://www.maloneylights.com"]http://www.maloneylights.com[/URL]
    [URL="http://halloween.maloneylights.com"]http://halloween.maloneylights.com[/URL]
    [URL="http://ctm.maloneylights.com"]http://ctm.maloneylights.com[/URL]

  3. #3
    Join Date
    Dec 2008
    Location
    OH, USA
    Posts
    462
    Post Thanks / Like

    Default Re: Vixen FIle Format?

    Quote Originally Posted by ctmal View Post
    I believe it is stored in base64.
    That is correct. It is each channel's event values as a character, with each channel concatenated to the next, and then the entire thing is base64 encoded and stored in the Vixen file. To create this string from intensity values (0-255), you would (in some sort of pseudo code)
    Code:
    str eventdata = '';
    foreach(channel) {
    	foreach(intensity) {
    		eventdata += chr(intensity);
    	}
    }
    return base64_encode(eventdata);
    To work backwards from a Vixen sequence, you do the reverse, base64_decode the EventValues String, split it into equal strings, each containing the same number of characters as there are event periods, then determine the ASCII value of each character to get the intensity values.
    -Chris
    Follow My Journey: [url]http://www.christmasinbrewster.com/blog[/url]

  4. #4
    Join Date
    Oct 2009
    Location
    Savannah, GA
    Posts
    441
    Post Thanks / Like

    Default Re: Vixen FIle Format?

    Fantastic! That makes sense now, so the eventdata matrix will be the number of channels * the number of event periods. Decode_base64 the entire array, split into strings equal to the length of the number of channels, and convert each character to its ascii value. Repeat for the number of events in the sequence. I was thinking there may have been some optimization/compression of the data. Had I just taken the length of the eventdata, it would have been obvious that x*y = z.

    Awesome! Thanks you sooo much! This might just work...

    Wait, I think I read that wrong - each channels intensity for each event time period is concatenated, then that string is concatenated with all of the other channels?

    So I have to process the entire eventdata string to determine the intensity for each channel for the first event. Still doable - the more you know....
    Last edited by rokkett; 12-03-2010 at 11:55 PM.

  5. #5
    Join Date
    Oct 2008
    Location
    Tampa, FL
    Posts
    1,420
    Post Thanks / Like

    Default Re: Vixen FIle Format?

    It's been a while since I worked on that blob-o-data, but if I remember correctly the MSXML DLL will be a huge help. If I am not mistaken, I think I assigned the Vixen file to DOCUMENT and then pulled off the channel data as a string - converted from base64 and ready to use.

    What language are you using?
    -Mike
    [URL="http://www.LandoLights.com"]www.LandoLights.com[/URL]
    [URL="http://www.sequencecenter.com"]www.SequenceCenter.com[/URL] --> Vixen/LOR Sequences and More

  6. #6
    Join Date
    Oct 2009
    Location
    Savannah, GA
    Posts
    441
    Post Thanks / Like

    Default Re: Vixen FIle Format?

    I am prototyping in Perl, because I can develop quickly with a scripted language. But, yes, Perl has a XML parser than just rips the input file apart into a convenient data structure to manipulate.

    Just got the framing math right - had to round-up the music length to be an even multiple of the event period length.

    Now adding code to read in the profile, if used, to get the channel count....

  7. #7
    Join Date
    Dec 2008
    Location
    OH, USA
    Posts
    462
    Post Thanks / Like

    Default Re: Vixen FIle Format?

    Quote Originally Posted by rokkett View Post
    Wait, I think I read that wrong - each channels intensity for each event time period is concatenated, then that string is concatenated with all of the other channels?

    So I have to process the entire eventdata string to determine the intensity for each channel for the first event. Still doable - the more you know....
    Correct, so in the end you will have all of channel 1's events concatenated together which is then concatenated with all of channel 2's events, etc.
    -Chris
    Follow My Journey: [url]http://www.christmasinbrewster.com/blog[/url]

  8. #8
    Join Date
    Oct 2008
    Location
    Tampa, FL
    Posts
    1,420
    Post Thanks / Like

    Default Re: Vixen FIle Format?

    Quote Originally Posted by rokkett View Post
    Just got the framing math right - had to round-up the music length to be an even multiple of the event period length.
    Ah yes... I remember that now
    -Mike
    [URL="http://www.LandoLights.com"]www.LandoLights.com[/URL]
    [URL="http://www.sequencecenter.com"]www.SequenceCenter.com[/URL] --> Vixen/LOR Sequences and More

  9. #9
    Join Date
    Jan 2010
    Location
    New Zealand
    Posts
    255
    Post Thanks / Like

    Default Re: Vixen FIle Format?

    Hi all,
    I've put together a Java light-player that reads .vix files. Well, it reads the one file I've downloaded to test it with.

    What I would really like is an authoritative definition of what the .vix file contains. I guess for various versions of Vixen too.

    Is there some place I can download that?

    Frank

  10. #10
    Join Date
    Oct 2010
    Location
    Santa Barbara, CA
    Posts
    134
    Post Thanks / Like

    Default Re: Vixen FIle Format?

    YES - please, if Vixen is to be a "standard" interchange format, then it would be great if someone could put together a page on the wiki describing the file format. Even if we can just cobble together the best posts.

    I have some very "square one" questions about the format, and this thread makes some assumptions.

    Is .vix a good candidate for a universal exchange format going forward? Does it scale well for thousands of channels at 50-100hz?

    -Preston

Page 1 of 3 123 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •