Difference between revisions of "Sif Format"

From Synfig Studio :: Documentation
Jump to: navigation, search
m (Better headings)
(Reorganize headings)
Line 31: Line 31:
 
New and alternate implementations of .sif are urged to support this compression, although it is not required.
 
New and alternate implementations of .sif are urged to support this compression, although it is not required.
  
=== XML ===
+
=== <canvas> ===
  
==== <canvas> ====
+
==== Overview ====
  
 
The top element of a .sif file is always a <canvas>.
 
The top element of a .sif file is always a <canvas>.
Line 71: Line 71:
 
|bgcolor||[https://github.com/synfig/synfig/blob/master/synfig-core/src/synfig/renddesc.h#L138 0.5 0.5 0.5 1.0]||the color of the background in RGBA
 
|bgcolor||[https://github.com/synfig/synfig/blob/master/synfig-core/src/synfig/renddesc.h#L138 0.5 0.5 0.5 1.0]||the color of the background in RGBA
 
|}
 
|}
 
===== Children =====
 
  
 
Inside a <canvas> you can find the following elements:
 
Inside a <canvas> you can find the following elements:
Line 84: Line 82:
 
* <bones>
 
* <bones>
 
* <keyframe>
 
* <keyframe>
 +
 +
==== <name> ====
 +
 +
The title of the animation.
 +
 +
<pre>
 +
<canvas version="1.0">
 +
    ...
 +
    <name>Little Red Riding Hood</name>
 +
    ...
 +
</canvas>
 +
</pre>
 +
 +
==== &lt;meta&gt; ====
 +
 +
A miscellaneous piece of metadata.
 +
 +
<pre>
 +
<canvas version="1.0">
 +
    ...
 +
    <meta name="grid_show" content="1" />
 +
    ...
 +
</canvas>
 +
</pre>

Revision as of 20:07, 5 January 2016

Languages Language: 

English


A .sif file is the XML representation of a canvas. It holds the canvas's metadata, such as width and height, as well as information about its layers. Typically, a Synfig production comprises many .sif files joined in a sequence or nested within each other.

The .sif format is formidably complex and evolving. It is implementation-defined rather than spec-defined. Therefore, you should take everything on this page with a grain of salt. Indeed, the implementation can change at any point.

There are no plans to freeze the format.

Source code

The .sif format is implemented by the following file:

https://github.com/synfig/synfig/blob/master/synfig-core/src/synfig/loadcanvas.cpp

The format as of January 2016

Concepts

.sif files aren't always self-contained. They can import (read: link to) other .sif files, which creates a dependency of one on the other. This may seem strange to animators who use Flash because, in Flash, importing something causes it to be embedded in the current animation.

One drawback of Synfig's approach is that .sif dependencies can be hard to track. A tool called RenderChan solves this problem.

Recursion of .sif files is prohibited.

.sifz

Synfig recognizes .sifz as the extension of gzip-compressed .sif files. New and alternate implementations of .sif are urged to support this compression, although it is not required.

<canvas>

Overview

The top element of a .sif file is always a <canvas>.

<?xml version="1.0"?>
<canvas version="0.1" width="300" height="350" xres="2952.7559"
        yres="2952.7559" view-box="-1.5 2.5 1.5 -1" antialias="2"
        fps="12" begin-time="0f" end-time="0f" bgcolor="0.5 0.5 0.5 1">
    ...
</canvas>
Attribute Default Value
version no default, this attribute is required 0.1, always
width 720 the width of the canvas in pixels
height 480 the height of the canvas in pixels
xres 2835 the width of the canvas in pixels per meter
yres 2835 the height of the canvas in pixels per meter
view-box -4 2.25 4 -2.25 the bounding coordinates of the canvas (left top right bottom)
antialias 2 how hard Synfig should try to antialias the image
fps 24 frames per second
begin-time 0 where on the timetrack should rendering start
end-time 0 what on the timetrack should rendering end
bgcolor 0.5 0.5 0.5 1.0 the color of the background in RGBA

Inside a <canvas> you can find the following elements:

  • <defs>
  • <meta>
  • <name>
  • <desc>
  • <author>
  • <layer>
  • <bones>
  • <keyframe>

<name>

The title of the animation.

<canvas version="1.0">
    ...
    <name>Little Red Riding Hood</name>
    ...
</canvas>

<meta>

A miscellaneous piece of metadata.

<canvas version="1.0">
    ...
    <meta name="grid_show" content="1" />
    ...
</canvas>


Languages Language: 

English