User Tools

Site Tools


create_sequence:sequence_understanding

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
create_sequence:sequence_understanding [2013/06/12 19:03] – [How can I see/edit the sequence file content] zenbasscreate_sequence:sequence_understanding [2013/06/17 23:22] (current) – [How can I see/edit the sequence file content] zenbass
Line 80: Line 80:
 **I consider only the real size of the file, not the space occupied on the disk** **I consider only the real size of the file, not the space occupied on the disk**
 To make sure, you can download an Hex Editor and open your file, it will display the data regarding the real file size. To make sure, you can download an Hex Editor and open your file, it will display the data regarding the real file size.
 +
 +There is an important thing to notice here, when you record/save a sequence file, FreeStyler store an additional step tou yours; Thus, if you record a sequence with only one step, actually you clicked only onece on the "snapshot" button, FreeStyler store a file with two steps. I don't know why, but trying to make my own sequence files, I had to consider this, and it seems impossible to store a file with only one step. So be advised about that.
  
 The size of a Sequence File, in Octets and in Decimal is calculated like this: The size of a Sequence File, in Octets and in Decimal is calculated like this:
  
-14120 + ( (Number of steps - 1) * 7042) +<note tip>**14120 + ( (Number of steps you stored - 1) * 7042)**</note> 
-Thus, for a Sequence File containg one step, we have: +Thus, for a Sequence File containg one single step, we have: 
 14120 + ((1 - 1) * 7042 ) = 14120 + (0 * 7042) = **14120** 14120 + ((1 - 1) * 7042 ) = 14120 + (0 * 7042) = **14120**
  
Line 118: Line 120:
  
 Addresses $00000004-5 we have value 0200. //Remember, this makes "0002"//. This is the "Number of STEPS" contained in this Sequence File. Thus we have 2 Steps in this file... what ? I recorded only ONE Step ! Addresses $00000004-5 we have value 0200. //Remember, this makes "0002"//. This is the "Number of STEPS" contained in this Sequence File. Thus we have 2 Steps in this file... what ? I recorded only ONE Step !
-<note tip>FreeStyler always record an additional Step when you save your Sequence File</note>+<note tip>FreeStyler always records an additional Step when you save your Sequence File</note>
 This is why, when we load the Sequence Editor from this Sequence File, we can see Step 1/2. FreeStyler "prepare" the next step, and keep in mind the preceding recorded values, allowing you to add another Step, changing only the new values, and keeping the scene status as it was previously (this might be confusing, just remember that FreeStyler records an additional Step with the last values recorded). This is why, when we load the Sequence Editor from this Sequence File, we can see Step 1/2. FreeStyler "prepare" the next step, and keep in mind the preceding recorded values, allowing you to add another Step, changing only the new values, and keeping the scene status as it was previously (this might be confusing, just remember that FreeStyler records an additional Step with the last values recorded).
  
Line 145: Line 147:
 To make it short, for a Sequence File containing One Step, the format from the beginning of the file is: To make it short, for a Sequence File containing One Step, the format from the beginning of the file is:
  
-2 Words containing the data "5A005A00". Constant.+  * 2 Words containing the data "5A005A00". Constant.
  
-2 Words containing the number of Steps + 1 (0200 in our example).+  * 2 Words containing the number of Steps + 1 (0200 in our example).
  
-2 Words containing the number of 500 millisecond units for Fade Time, 0300 in the example.+  * 2 Words containing the number of 500 millisecond units for Fade Time, 0300 in the example.
  
-2 Words containing the number of 100 millisecond units for the Scenne Speed, 0B00 in our example.+  * 2 Words containing the number of 100 millisecond units for the Scenne Speed, 0B00 in our example.
  
-511 groups of 3 Words, one group per Channel. The first one (address 0000000A) is "01 00 FF 00 01 00", meaning:+  * 511 groups of 3 Words, one group per Channel. The first one (address 0000000A) is "01 00 FF 00 01 00"
  
-For DMX Channel 1, we send the value 255 (FF00 gives 00FF), and the value "01 00" following says that it will be sent in "Fade Mode".+  * A bunch of data, with unknown signification, which content does not vary providing we do not add Steps (we do not modify the file size). I mean, providing you create a file with, for instance, 3 steps, you can modify any value, DMX and/or Fade/Snap/Off mode, within the 3 Steps (Actually 4 with the additional Step ceated by FreeStyler). Your modifications will be successfuly understood by FreeStyler when it loads your new Sequence File. 
 + 
 + 
 +In the screenshot above, for DMX Channel 1, we send the value 255 (FF00 gives 00FF), and the following value "01 00" says that it will be sent in "Fade Mode".
  
 Next DMX Channel, number 2, is (address 00000010) 00 00 FF 00 01 00: Next DMX Channel, number 2, is (address 00000010) 00 00 FF 00 01 00:
Line 165: Line 170:
 01 00 means we are in fade mode. 01 00 means we are in fade mode.
  
-To be continued, we will see the organization for the Sequence Files containing mode than Steps.+To be continued, we will see the organization for the Sequence Files containing mode than 1 Step. 
 + 
 +<note>Edited on June 18th, 2013. After having programmed a Step/Sequence editor for my own needs, it sounds that all the blabla I wrote here above can be confusing, and will not be of interest for most people. So here below are the right clues for editing a Sequence File.</note> 
 + 
 +What is interesting in a Sequence File? 
 + 
 +First, given a Step Number, locate the address of the information (one octet) for: 
 +  - The Fading Time 
 +  - The Step Duration 
 + 
 +Second, given a Step Number and a Channel number, find the address of the information (one octet) for: 
 +  - The value to send toward this channel (one Octet, 00 to FF, standing for zero to 255). 
 +  - The Status of this Channel (Fade, Snap, Off) 
 + 
 +That's it, it should be enough for those who want to patch their Sequence files. 
 + 
 +This is what I did: for example I knew that I wanted to make a sequence file with 14 steps (you can make more or less, up to you). So I called the Sequence Creator, with the "Window" menu from FreeStyler, item "Create Sequence". Then, I put all my channels to "Off"" or zero, and pushed 13 times on the little blue cross button, "Add Step/Scene"
 +<note important>Remember, FreeStyler records an additionnal step !</note> 
 +So, as I wanted to manage 14 Steps, I created a dummy 13 Steps Sequence File and recorded it. 
 +From now, I could patch this file with my 14 steps. And it works, it does work. 
 + 
 +Hera are the formulas to retrieve the needed information. 
 + 
 +To store the Fading Time for a given Step:<note tip>6 + (("Step Number" - 1) * 7036)</note> 
 +This is in decimal. 
 +**Steps are from 1 to the FreeStyler limit** There are some topics on this subject, if you want more steps, just update the .ini file. 
 + 
 +Let's take an example, you want to set the value for the fading time of your 3rd Step: 
 +  * 6 + ((3 - 1) * 7036) = 6 + (2 * 7036) = 6 + 14072 = **14078** 
 +  * Convert in hexadecimal, 14078 = **36FE** 
 + 
 +So, with an hex editor, or a program of your own, patch one octet at your file address **36FE** to set the fading time of your 3rd step. remember, the value you store here is in units of 500 milliseconds, so if you want a fading time of 2 seconds and half, you must store "05"
 + 
 +Now the Step Duration Time for a given step: <note tip>8 + (("Step Number" - 1) * 7036)</note> 
 +As an exemple, the duration time for your 4th Step will be an octet, from 00 to FF, at your File Address: 
 +8 + ((4 - 1) * 7036) = **21116** in decimal, giving **527C** in hexadecimal. Here you store in units of 100 milliseconds. 
 + 
 +Now, the **value** (one octet, 00 to FF) for a given DMX Channel within a given Step: 
 +<note tip>12 + (("DMX Channel" - 1) * 6) + (("Step Number" - 1) * 7036)</note> 
 +Ok, let's go for an example. You want to store a DMX value for DMX Channel number 3 of your 5th Step: 
 +  * 12 + ((3 - 1) * 6) + ((5 - 1) * 7036)  =  12 + (2 * 6) + (4 * 7036)  =  12 + 12 + 28144  =  **28168** 
 +  * Convert 28168 in hexadecimal, giving  **6E08** 
 +  * so the DMX value from Channel 3 within Step 5 is located in your Sequence File at address 6E08. 
 + 
 +Now, the **status** of the Channel, regarding FreeeStyler coding, it can takes either Fade, or Snap, or Off, respectiively 01, 02 or 03. 
 + 
 +To patch this value, apply the below formula: 
 +<note tip>14 + (("DMX Channel" - 1) * 6) + (("Step Number" - 1) * 7036)</note> 
 +A last example, you want to patch the status of DMX Channel number 5 of your 4th Step, and set it to "Snap": 
 +  * 14 + ((5 - 1) * 6) + ((4 - 1) * 7036) = 21146, converted in hexa: 529A. 
 +  * You just have to store "02" (stands for Snap) at your file address 529A. 
 + 
 +For my needs, I made a big Excel sheet with the above formulas, this is comfortable as I can see all my scenes at a glance, and modify very easily. I export in a text file the addresses and their values. I read this text file with a program I wrote in C++ visual studio and patch my Sequence File. One could write such a program in any language. 
 +Here is a snapshot of my Excel sheet, it can give ideas to someone: 
 +{{:create_sequence:excel.jpg|}} 
 + 
 + 
 +To complete, be warned, **this works with FreeStyler 3.5.2**. However, the format might change in future versions, and all the above formulas would be obsolete.
  
create_sequence/sequence_understanding.1371063834.txt.gz · Last modified: 2013/06/12 19:03 by zenbass

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki