<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.synfig.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zelgadis</id>
		<title>Synfig Studio :: Documentation - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.synfig.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zelgadis"/>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/Special:Contributions/Zelgadis"/>
		<updated>2026-05-03T08:52:06Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.3</generator>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Z_Depth_Parameter&amp;diff=23420</id>
		<title>Z Depth Parameter</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Z_Depth_Parameter&amp;diff=23420"/>
				<updated>2020-12-03T13:46:51Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Reverted edits by Want (talk) to last revision by D.j.a.y&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page Info --&amp;gt;&lt;br /&gt;
&amp;lt;!--Categories--&amp;gt;&lt;br /&gt;
{{Category|Parameters}}&lt;br /&gt;
{{NewTerminology}}&lt;br /&gt;
&amp;lt;!-- End Page Info --&amp;gt;&lt;br /&gt;
{{note|Warning, [http://www.synfig.org/issues/thebuggenie/synfig/issues/868 actually] broken in some cases|[http://www.synfig.org/issues/thebuggenie/synfig/issues/868 Bug report #868]  -  Z-Depth not affected by time offset :  a layer z depth parameter animation is not affected by a time offset manipulation of the group is included to. }}&lt;br /&gt;
This parameter can be used to change the 'depth' (order) of a layer in the layer stack, or of a Bone in a {{l|Skeleton Layer}}.&lt;br /&gt;
&lt;br /&gt;
By default, each canvas gives its layers zdepths which depend on their order in the canvas. The first layer has a depth of 0, the 2nd has a depth of 1, and so on.&lt;br /&gt;
&lt;br /&gt;
Zdepth may be thought of as an indication of the distance to an observer: layers with a lower zdepth are 'nearer' to an observer than layers with a higher zdepth.&lt;br /&gt;
&lt;br /&gt;
The Z Depth parameter on each layer can be used to adjust this default depth. The value of the Z Depth parameter is added to the layer's 'natural' depth, given by its order in its canvas.&lt;br /&gt;
&lt;br /&gt;
For example, suppose we have 2 layers, first a circle, and then a rectangle. The circle will have a 'natural' depth of 0, and the rectangle's will be 1, so the circle will be drawn on top of the rectangle.&lt;br /&gt;
&lt;br /&gt;
If we use the parameters dialog to set the rectangle's zdepth to -2, however, -2 will be added to its natural depth of 1, giving a new depth of -1, and so it will be drawn above the circle.&lt;br /&gt;
&lt;br /&gt;
The parameter can be animated, so that layers change order throughout the animation.&lt;br /&gt;
&lt;br /&gt;
Here's an example which shows the Z Depth parameter being animated to bring one circle in front of another at a certain point in time:  &lt;br /&gt;
&lt;br /&gt;
{{l|Image:Offset-z-depth-revisited.gif}}&lt;br /&gt;
{{l|Media:Offset-z-depth-revisited.sifz|source sif file}}&lt;br /&gt;
&lt;br /&gt;
== Too Much Detail ==&lt;br /&gt;
&lt;br /&gt;
If you want to see a more complex Z depth order animation and an explanation to how it was done please watch this animation and this PDF file.&lt;br /&gt;
&lt;br /&gt;
Animation: http://www.youtube.com/watch?v=YTpSfUthuVE&lt;br /&gt;
&lt;br /&gt;
Project : ''{{File:Zdepth-balls.sifz}}'' [[File:Zdepth-balls.sifz]]&lt;br /&gt;
&lt;br /&gt;
Explanatory PDF file: http://www.darthfurby.com/genete/synfig/Balls.pdf&lt;br /&gt;
&lt;br /&gt;
Same file but ODT format: http://www.darthfurby.com/genete/synfig/Ballsv2.odt&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Widget:AdSenseBlock&amp;diff=23419</id>
		<title>Widget:AdSenseBlock</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Widget:AdSenseBlock&amp;diff=23419"/>
				<updated>2020-05-03T04:52:05Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Remove adsense blocks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
Notification for top and bottom page placement.&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Doc:Plugins&amp;diff=23418</id>
		<title>Doc:Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Doc:Plugins&amp;diff=23418"/>
				<updated>2020-05-01T10:37:44Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Page is moved to https://synfig.readthedocs.io/en/latest/plugins.html&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is moved to https://synfig.readthedocs.io/en/latest/plugins.html&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Doc:Plugins&amp;diff=23417</id>
		<title>Doc:Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Doc:Plugins&amp;diff=23417"/>
				<updated>2020-04-30T11:25:49Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Reverted edits by Zelgadis (talk) to last revision by Glax&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Plugins}}&lt;br /&gt;
{{Category|Manual}}&lt;br /&gt;
{{NewTerminology}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
The Plugins feature allows to run custom python scripts directly from Synfig Studio menu. Each script takes .sif file as first argument and should modify its contents in some way. After script execution finished, the file is automatically reopened back in Synfig Studio. &lt;br /&gt;
&lt;br /&gt;
With the current script feature, has it work with the file itself you can't retrieve the current {{l|Time_Cursor}} position when the script is invoked. But you can know the value of a {{l|Parameter}} or {{l|ValueNode}} at a certain time (the ones fixed by {{l|Waypoints}}), because the {{l|ValueNode#Animated ValueNodes|Animated Value Nodes}} are stored (other problem is to know the interpolated value, which is not trivial for other thing rather than {{l|Linear}} or {{l|Constant}} interpolation)&lt;br /&gt;
&lt;br /&gt;
All plugins are located in the &amp;quot;Plug-Ins&amp;quot; submenu of the canvas.&lt;br /&gt;
&lt;br /&gt;
= Rationale =&lt;br /&gt;
People often write some scripts to make useful things on Synfig (sif) files. The most of these scripts are written in python. But for ordinary users running custom scripts from terminal is tricky. With plugins feature user can install scripts as easy as they copy files and transparently run them in the same way as they use standard Synfig Studio commands. Also, runing scripts from menu is much faster than from terminal and it greatly improves the workflow for advanced users. Having this feature allows to easily add simple functions to Synfig Studio by writting scripts in python.&lt;br /&gt;
&lt;br /&gt;
= How to install plugins =&lt;br /&gt;
&lt;br /&gt;
Plugin is a directory, containing the python script (*.py file), plugin.xml and maybe some other files if they are required by python script.&lt;br /&gt;
&lt;br /&gt;
To install the plugin user should copy its directory into the following location:&lt;br /&gt;
&lt;br /&gt;
* '''Windows Vista/7/8:''' C:\Users\USERNAME\Synfig\plugins&lt;br /&gt;
* '''Windows XP:''' C:\Documents and Settings\USERNAME\Synfig\plugins&lt;br /&gt;
* '''Linux:''' ~/.config/synfig/plugins&lt;br /&gt;
* '''OSX:''' /Users/USERNAME/Library/Synfig/plugins&lt;br /&gt;
&lt;br /&gt;
The system-wide location for the plugins is USER_DIRECTORY/SYNFIG_CONFIGURATION_DIR/plugins&lt;br /&gt;
&lt;br /&gt;
== Where to find plugins ==&lt;br /&gt;
* [https://github.com/yoyobuae/synfig-plugins Yoyobuae:FreeForm Deform]&lt;br /&gt;
* [http://morevnaproject.org/2012/06/11/plugins-feature-in-synfig-studio/ Morevna:Plugins feature in Synfig Studio]&lt;br /&gt;
* [https://github.com/berteh/synfig-import-labels Berteh:Import Labels and Timings]&lt;br /&gt;
* [https://forums.synfig.org/c/development/scripting Synfig forum: scripts/plugin thread]&lt;br /&gt;
&lt;br /&gt;
= Plugin structure =&lt;br /&gt;
&lt;br /&gt;
A plugin keeps all its files inside a directory as described above.&lt;br /&gt;
&lt;br /&gt;
Synfig parses the file called plugin.xml found in each plugin directory, which defines plugin metadata and how to invoke the script.&lt;br /&gt;
&lt;br /&gt;
This section describes the xml elements available and what they do.&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;plugin&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Root element. Can contain the following:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;name&amp;gt;, &amp;lt;exec&amp;gt;, &amp;lt;importer&amp;gt;, and &amp;lt;exporter&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;name&amp;gt; The name of the plugin, must have at least the default version&lt;br /&gt;
* &amp;lt;exec&amp;gt; Script to run when the user clicks on the Plugin menu. Can be omitted if there are importers or exporters&lt;br /&gt;
* &amp;lt;exporter&amp;gt; Defines an exporter, a plugin can have multiple of these&lt;br /&gt;
* &amp;lt;importer&amp;gt; Defines an importer, a plugin can have multiple of these&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;name&amp;gt; == &lt;br /&gt;
&lt;br /&gt;
Name of the plugin, can be specified multiple times to provide translations&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;name&amp;gt;This is the default name&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;name xml:lang=&amp;quot;it&amp;quot;&amp;gt;This is name it will show if you set Italian as your language&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;exec&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Defines a script to run, the text contents must be a path (relative to the plugin directory) of a script to run.&lt;br /&gt;
&lt;br /&gt;
If present inside &amp;lt;plugin&amp;gt;, the plugin will be shown in the Plugins menu, and the script will be invoked when you click on the corresponding menu item.&lt;br /&gt;
&lt;br /&gt;
It has a few attributes, all optional.&lt;br /&gt;
&lt;br /&gt;
{|class=wikitable&lt;br /&gt;
!name&lt;br /&gt;
!default&lt;br /&gt;
!effect&lt;br /&gt;
|-&lt;br /&gt;
!type&lt;br /&gt;
|python&lt;br /&gt;
|selects the interpreter (currently only Python is supported)&lt;br /&gt;
|-&lt;br /&gt;
!stdout&lt;br /&gt;
|ignore&lt;br /&gt;
|What to do with the script standard output:&lt;br /&gt;
* '''ignore''' output is discarded&lt;br /&gt;
* '''log''' the output is shown in the Synfig log&lt;br /&gt;
* '''message''' an error message is shown to the user &lt;br /&gt;
|-&lt;br /&gt;
!stderr&lt;br /&gt;
|message&lt;br /&gt;
|Same as above, but for standard error&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;exec&amp;gt;myscript.py&amp;lt;/exec&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changing stream behaviour:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;exec stdout=&amp;quot;log&amp;quot; stderr=&amp;quot;ignore&amp;quot;&amp;gt;myscript.py&amp;lt;/exec&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;exporter&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Defines a new exporter, used to convert synfig files into other formats.&lt;br /&gt;
&lt;br /&gt;
A plugin can define multiple exporters.&lt;br /&gt;
&lt;br /&gt;
Exporters will be shown in the Export dialog.&lt;br /&gt;
&lt;br /&gt;
The exporter contains the following sub-elements:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;exec&amp;gt; must have exactly one of these&lt;br /&gt;
* &amp;lt;extension&amp;gt; must have at least one of them&lt;br /&gt;
* &amp;lt;description&amp;gt; must have the default version&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;exporter&amp;gt;&lt;br /&gt;
      &amp;lt;extension&amp;gt;svg&amp;lt;/extension&amp;gt;&lt;br /&gt;
      &amp;lt;extension&amp;gt;svgz&amp;lt;/extension&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;Scalable Vector Graphics (*.svg, *.svgz)&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;exec&amp;gt;svg-exporter.py&amp;lt;/exec&amp;gt;&lt;br /&gt;
   &amp;lt;/exporter&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;importer&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Works the same as &amp;lt;exporter&amp;gt;, but provides script to convert from other formats into synfig.&lt;br /&gt;
&lt;br /&gt;
A plugin can define multiple importers.&lt;br /&gt;
&lt;br /&gt;
Importers will be shown in the Open file dialog.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
   &amp;lt;importer&amp;gt;&lt;br /&gt;
      &amp;lt;extension&amp;gt;svg&amp;lt;/extension&amp;gt;&lt;br /&gt;
      &amp;lt;extension&amp;gt;svgz&amp;lt;/extension&amp;gt;&lt;br /&gt;
      &amp;lt;description&amp;gt;Scalable Vector Graphics (*.svg, *.svgz)&amp;lt;/description&amp;gt;&lt;br /&gt;
      &amp;lt;exec&amp;gt;svg-exporter.py&amp;lt;/exec&amp;gt;&lt;br /&gt;
   &amp;lt;/importer&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;extension&amp;gt; == &lt;br /&gt;
&lt;br /&gt;
For &amp;lt;importer&amp;gt; and &amp;lt;exporter&amp;gt;, which extensions are supported.&lt;br /&gt;
&lt;br /&gt;
Multiple &amp;lt;extension&amp;gt; elements may be present in an importer or exporter (at least one is required)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;extension&amp;gt;svg&amp;lt;/extension&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;description&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
For &amp;lt;importer&amp;gt; and &amp;lt;exporter&amp;gt;, the text to be shown in the file dialog.&lt;br /&gt;
&lt;br /&gt;
Similarly to &amp;lt;name&amp;gt; this can be translated using xml:lang&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;description&amp;gt;Scalable Vector Graphics (*.svg, *.svgz)&amp;lt;/description&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Script Invocation =&lt;br /&gt;
&lt;br /&gt;
== Plugins Menu ==&lt;br /&gt;
&lt;br /&gt;
For scripts run when the user clicks on the plugin name in the Plugins menu, synfig will save a copy of the open canvas and pass the path to that file as the argument to the script.&lt;br /&gt;
&lt;br /&gt;
The script can then modify that file and synfig will reload the canvas to reflect any changes.&lt;br /&gt;
&lt;br /&gt;
== Exporter ==&lt;br /&gt;
&lt;br /&gt;
For an exporter, synfig will pass two arguments to the script: the first is the path to a synfig file containing the open canvas; the second is the file name.&lt;br /&gt;
&lt;br /&gt;
== Importer ==&lt;br /&gt;
&lt;br /&gt;
For an importer, synfig will pass the file selected in the open dialog as first argument, and the path to a temporary synfig file as second argument.&lt;br /&gt;
&lt;br /&gt;
Once the script is completed, synfig will load that second file, so the plugin script should populate it appropriately.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Tutorial =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;videoflash&amp;gt;De9UhUkzNiY|425|344&amp;lt;/videoflash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Details =&lt;br /&gt;
&lt;br /&gt;
Each plugin located in a separate subdirectory with unique name. The part of the name before first &amp;quot;-&amp;quot; symbol is used to set the group plugin belongs to (not implemented yet). The main information about plugin (plugins name and script to execute) is stored in the plugin.xml file. It's self-explanatory :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;plugin&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Unhide All Layers&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;es&amp;quot;&amp;gt;Activa todas las capas&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;eu&amp;quot;&amp;gt;Erakutsi geruza guztiak&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;eu_ES&amp;quot;&amp;gt;Erakutsi geruza guztiak&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;fr&amp;quot;&amp;gt;Afficher Tous les Calques&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;lt&amp;quot;&amp;gt;Parodyti visus sluoksnius&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;ru&amp;quot;&amp;gt;Показать все скрытые слои&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;exec&amp;gt;view-unhide-all-layers.py&amp;lt;/exec&amp;gt;&lt;br /&gt;
&amp;lt;/plugin&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
view-unhide-all-layers.py :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Copyright (c) 2012 by Konstantin Dmitriev &amp;lt;k....z...gmail.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or modify&lt;br /&gt;
# it under the terms of the GNU General Public License as published by&lt;br /&gt;
# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;
# (at your option) any later version.&lt;br /&gt;
&lt;br /&gt;
import os&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
def process(filename):&lt;br /&gt;
	&lt;br /&gt;
	# Read the input file&lt;br /&gt;
	inputfile_f = open(filename, 'r')&lt;br /&gt;
	inputfile_contents = inputfile_f.readlines()&lt;br /&gt;
	inputfile_f.close()&lt;br /&gt;
	&lt;br /&gt;
	# Now write results to the same file&lt;br /&gt;
	inputfile_f = open(filename, 'w')&lt;br /&gt;
&lt;br /&gt;
	for line in inputfile_contents:&lt;br /&gt;
		if &amp;quot;&amp;lt;layer &amp;quot; in line:&lt;br /&gt;
			inputfile_f.write(line.replace(' active=&amp;quot;false&amp;quot; ',' active=&amp;quot;true&amp;quot; '))&lt;br /&gt;
		else:&lt;br /&gt;
			inputfile_f.write(line)&lt;br /&gt;
	inputfile_f.close()&lt;br /&gt;
&lt;br /&gt;
if len(sys.argv) &amp;lt; 2:&lt;br /&gt;
	sys.exit()&lt;br /&gt;
else:&lt;br /&gt;
	process(sys.argv[1])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All scripts are interpreted with python 3. &lt;br /&gt;
&lt;br /&gt;
In Linux and Mac OSX case Synfig Studio looks for &amp;quot;python&amp;quot; or &amp;quot;python3&amp;quot; binary. For windows case Python binary is expected at INSTALL_PREFIX/python/python.exe. New environment variable SYNFIG_PYTHON_BINARY allows to set custom path to the python 3 binary.&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Doc:Plugins&amp;diff=23416</id>
		<title>Doc:Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Doc:Plugins&amp;diff=23416"/>
				<updated>2020-04-30T07:32:04Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Reverted edits by Glax (talk) to last revision by Zelgadis&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Plugins}}&lt;br /&gt;
{{Category|Manual}}&lt;br /&gt;
{{NewTerminology}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
The Plugins feature allows to run custom python scripts directly from Synfig Studio menu. Each script takes .sif file as first argument and should modify its contents in some way. After script execution finished, the file is automatically reopened back in Synfig Studio. &lt;br /&gt;
&lt;br /&gt;
With the current script feature, has it work with the file itself you can't retrieve the current {{l|Time_Cursor}} position when the script is invoked. But you can know the value of a {{l|Parameter}} or {{l|ValueNode}} at a certain time (the ones fixed by {{l|Waypoints}}), because the {{l|ValueNode#Animated ValueNodes|Animated Value Nodes}} are stored (other problem is to know the interpolated value, which is not trivial for other thing rather than {{l|Linear}} or {{l|Constant}} interpolation)&lt;br /&gt;
&lt;br /&gt;
All plugins are located in the &amp;quot;Plug-Ins&amp;quot; submenu of the canvas.&lt;br /&gt;
&lt;br /&gt;
= Rationale =&lt;br /&gt;
People often write some scripts to make useful things on Synfig (sif) files. The most of these scripts are written in python. But for ordinary users running custom scripts from terminal is tricky. With plugins feature user can install scripts as easy as they copy files and transparently run them in the same way as they use standard Synfig Studio commands. Also, runing scripts from menu is much faster than from terminal and it greatly improves the workflow for advanced users. Having this feature allows to easily add simple functions to Synfig Studio by writting scripts in python.&lt;br /&gt;
&lt;br /&gt;
= How to install plugins =&lt;br /&gt;
&lt;br /&gt;
Plugin is a directory, containing the python script (*.py file), plugin.xml and maybe some other files if they are required by python script.&lt;br /&gt;
&lt;br /&gt;
To install the plugin user should copy its directory into the following location:&lt;br /&gt;
&lt;br /&gt;
* '''Windows Vista/7/8:''' C:\Users\USERNAME\Synfig\plugins&lt;br /&gt;
* '''Windows XP:''' C:\Documents and Settings\USERNAME\Synfig\plugins&lt;br /&gt;
* '''Linux:''' ~/.config/synfig/plugins&lt;br /&gt;
* '''OSX:''' /Users/USERNAME/Library/Synfig/plugins&lt;br /&gt;
&lt;br /&gt;
The system-wide location for the plugins is USER_DIRECTORY/SYNFIG_CONFIGURATION_DIR/plugins&lt;br /&gt;
&lt;br /&gt;
== Where to find plugins ==&lt;br /&gt;
* [https://github.com/yoyobuae/synfig-plugins Yoyobuae:FreeForm Deform]&lt;br /&gt;
* [http://morevnaproject.org/2012/06/11/plugins-feature-in-synfig-studio/ Morevna:Plugins feature in Synfig Studio]&lt;br /&gt;
* [https://github.com/berteh/synfig-import-labels Berteh:Import Labels and Timings]&lt;br /&gt;
* [https://forums.synfig.org/c/development/scripting Synfig forum: scripts/plugin thread]&lt;br /&gt;
&lt;br /&gt;
= Tutorial =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;videoflash&amp;gt;De9UhUkzNiY|425|344&amp;lt;/videoflash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Details =&lt;br /&gt;
&lt;br /&gt;
Each plugin located in a separate subdirectory with unique name. The part of the name before first &amp;quot;-&amp;quot; symbol is used to set the group plugin belongs to (not implemented yet). The main information about plugin (plugins name and script to execute) is stored in the plugin.xml file. It's self-explanatory :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;plugin&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Unhide All Layers&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;es&amp;quot;&amp;gt;Activa todas las capas&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;eu&amp;quot;&amp;gt;Erakutsi geruza guztiak&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;eu_ES&amp;quot;&amp;gt;Erakutsi geruza guztiak&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;fr&amp;quot;&amp;gt;Afficher Tous les Calques&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;lt&amp;quot;&amp;gt;Parodyti visus sluoksnius&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;ru&amp;quot;&amp;gt;Показать все скрытые слои&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;exec&amp;gt;view-unhide-all-layers.py&amp;lt;/exec&amp;gt;&lt;br /&gt;
&amp;lt;/plugin&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
view-unhide-all-layers.py :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Copyright (c) 2012 by Konstantin Dmitriev &amp;lt;k....z...gmail.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or modify&lt;br /&gt;
# it under the terms of the GNU General Public License as published by&lt;br /&gt;
# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;
# (at your option) any later version.&lt;br /&gt;
&lt;br /&gt;
import os&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
def process(filename):&lt;br /&gt;
	&lt;br /&gt;
	# Read the input file&lt;br /&gt;
	inputfile_f = open(filename, 'r')&lt;br /&gt;
	inputfile_contents = inputfile_f.readlines()&lt;br /&gt;
	inputfile_f.close()&lt;br /&gt;
	&lt;br /&gt;
	# Now write results to the same file&lt;br /&gt;
	inputfile_f = open(filename, 'w')&lt;br /&gt;
&lt;br /&gt;
	for line in inputfile_contents:&lt;br /&gt;
		if &amp;quot;&amp;lt;layer &amp;quot; in line:&lt;br /&gt;
			inputfile_f.write(line.replace(' active=&amp;quot;false&amp;quot; ',' active=&amp;quot;true&amp;quot; '))&lt;br /&gt;
		else:&lt;br /&gt;
			inputfile_f.write(line)&lt;br /&gt;
	inputfile_f.close()&lt;br /&gt;
&lt;br /&gt;
if len(sys.argv) &amp;lt; 2:&lt;br /&gt;
	sys.exit()&lt;br /&gt;
else:&lt;br /&gt;
	process(sys.argv[1])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All scripts are interpreted with python 3. &lt;br /&gt;
&lt;br /&gt;
In Linux and Mac OSX case Synfig Studio looks for &amp;quot;python&amp;quot; or &amp;quot;python3&amp;quot; binary. For windows case Python binary is expected at INSTALL_PREFIX/python/python.exe. New environment variable SYNFIG_PYTHON_BINARY allows to set custom path to the python 3 binary.&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Time_Loop_Layer&amp;diff=23406</id>
		<title>Time Loop Layer</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Time_Loop_Layer&amp;diff=23406"/>
				<updated>2020-04-07T14:00:01Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Local Time is now fixed, fix will be shipped in 1.3.14&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Time Loop Layer}}&lt;br /&gt;
{{Category|Layers}}&lt;br /&gt;
{{Category|Time}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{l|Image:Layer_other_timeloop_icon.png|64px}}&lt;br /&gt;
&lt;br /&gt;
== About Time Loop Layers==&lt;br /&gt;
&lt;br /&gt;
The {{literal|Time Loop layer}} is used to repeat an animation over and over. It loops a section of the layers below and within the same canvas over and over.&lt;br /&gt;
&lt;br /&gt;
See also the {{l|Convert#Time_Loop|Time Loop ValueNode}} conversion, which can be used to loop the value of a single parameter, rather than an entire layer or group of layers.&lt;br /&gt;
&lt;br /&gt;
==Parameters of Time Loop Layers==&lt;br /&gt;
&lt;br /&gt;
These parameters, to '''prevent undesired modification''', by default are {{l|Static_Parameters|statics}}. &lt;br /&gt;
&lt;br /&gt;
The parameters of the time loop layers are:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;0&amp;quot; align=&amp;quot;none&amp;quot; style=&amp;quot;border-collapse&amp;quot;  cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
|-style=&amp;quot;background:silver&amp;quot;&lt;br /&gt;
|'''Name'''||'''Value'''||'''Type'''  &lt;br /&gt;
|-style=&amp;quot;background:#&amp;quot;&lt;br /&gt;
||{{l|Image:Type_real_icon.png|16px}} {{l|Z Depth Parameter|Z Depth}}&lt;br /&gt;
||0.000000&lt;br /&gt;
||real&lt;br /&gt;
&lt;br /&gt;
|-style=&amp;quot;background:#eeeeee&amp;quot;&lt;br /&gt;
||{{l|Image:Type_time_icon.png|16px}} {{l|Time_Loop_Layer#Link_Time_.28time.29|Link Time}}&lt;br /&gt;
||0f&lt;br /&gt;
||time&lt;br /&gt;
&lt;br /&gt;
|-style=&amp;quot;background:#&amp;quot;&lt;br /&gt;
||{{l|Image:Type_time_icon.png|16px}} {{l|Time_Loop_Layer#Local_Time_.28time.29|Local Time}}&lt;br /&gt;
||0f&lt;br /&gt;
||time&lt;br /&gt;
&lt;br /&gt;
|-style=&amp;quot;background:#eeeeee&amp;quot;&lt;br /&gt;
||{{l|Image:Type_time_icon.png|16px}} {{l|Time_Loop_Layer#Duration_.28time.29|Duration}}&lt;br /&gt;
||1s&lt;br /&gt;
||time&lt;br /&gt;
&lt;br /&gt;
|-style=&amp;quot;background:#&amp;quot;&lt;br /&gt;
||{{l|Image:Type_bool_icon.png|16px}} {{l|Time_Loop_Layer#Only_For_Positive_Duration_.28bool.29|Only For Positive Duration}}&lt;br /&gt;
||&lt;br /&gt;
{| style=&amp;quot;width:16px; height:16px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
||bool&lt;br /&gt;
&lt;br /&gt;
|-style=&amp;quot;background:#eeeeee&amp;quot;&lt;br /&gt;
||{{l|Image:Type_bool_icon.png|16px}} {{l|Time_Loop_Layer#Symmetrical_.28bool.29|Symmetrical}}&lt;br /&gt;
||&lt;br /&gt;
{| style=&amp;quot;width:16px; height:16px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
||bool&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Link Time (time) ===&lt;br /&gt;
Start time of cycled material/child layers.&lt;br /&gt;
&lt;br /&gt;
=== Local Time (time) ===&lt;br /&gt;
Start time of loop. &lt;br /&gt;
&lt;br /&gt;
=== Duration (time) ===&lt;br /&gt;
Number of seconds or frames that are looped in the child layer.&lt;br /&gt;
&lt;br /&gt;
=== Only For Positive Duration (bool) ===&lt;br /&gt;
* If checked and {{Literal|Duration}} is zero or negative, then the time loop layer is effectively disabled, and acts as if it wasn't there.&lt;br /&gt;
* If not checked and the Duration is zero, the Time Loop layer freezes the animation of the children layers at the value of {{Literal|Link Time}}.&lt;br /&gt;
&lt;br /&gt;
=== Symmetrical (bool) ===&lt;br /&gt;
If not checked, and the current time is less than {{Literal|Local Time}}, then {{Literal|Duration}} is taken off the resulting time.  This is to provide compatibility with {{l|Time Loop Layer (v0.1)|version 0.1}} of the time loop layer.&lt;br /&gt;
&lt;br /&gt;
== How to use the Time Loop Layer ? ==&lt;br /&gt;
&lt;br /&gt;
The {{literal|Time Loop layer}} repeatedly loops through the {{Literal|Duration}} seconds of its child layers, from {{Literal|Link Time}} to {{Literal|Link Time}} + {{Literal|Duration}}.&lt;br /&gt;
&lt;br /&gt;
{{Literal|Local Time}} is used to line up the offset of the time looping. &lt;br /&gt;
&lt;br /&gt;
When the Time Loop layer is asked to set its time to {{Literal|Local Time}}, it sets the time in its child layers to be {{Literal|Link Time}}, ie. the start of the loop.&lt;br /&gt;
&lt;br /&gt;
=== Breaking loop ===&lt;br /&gt;
&lt;br /&gt;
# Be Sure you are not in {{l|Animate Editing Mode|Animation Mode}}&lt;br /&gt;
# In the layer's parameters of the time loop, you need to remove the 'green guy' ({{l|Image:Animate mode off icon.png|16px}}), indicating that the parameter is {{literal|Static}}, from {{l|Time_Loop_Layer#Duration_.28time.29|Duration Parameter}}. Just right-click on him and set {{literal|Allow animation}}. See {{l|Static Parameters}} for more informations.&lt;br /&gt;
# On the {{L|Timebar|timeline}} navigate to a place where you want to break the animation. And now enter the {{l|Animate Editing Mode|Animation Mode}}.&lt;br /&gt;
# In the time loop parameters, set 'Duration' to {{literal|EOT}} (End-of-Time).&lt;br /&gt;
# Now you have three {{l|Waypoint|waypoints}}. One before the current, we left it as it is. One is current, we {{l|Convert|convert}} it to the {{literal|constant}} (right-click on it -&amp;gt; Both -&amp;gt; Constant). And one after current, this one have to be removed (right-click on it -&amp;gt; Remove). &lt;br /&gt;
# Now test it. Pay attention, that loop will always break at the very first frame of you animation, so you need to break it in the right place. &lt;br /&gt;
&lt;br /&gt;
===Detailed explanation===&lt;br /&gt;
'Green guy' ({{l|Image:Animate mode off icon.png|16px}}) - {{l|Static Parameters}} - is a guard that says &amp;quot;You shall not pass!&amp;quot; to the animation. So when you attempt to change such parameter in animation mode it just changes the usual way. It's done to prevent unnecessary parameters to be animated, e.g. {{l|Blend Method Parameter|Blend Method}}.&lt;br /&gt;
&lt;br /&gt;
Setting {{Literal|Duration}} to {{literal|EOT}}. If you set it to 0f, then the whole animation will stop, because you try to play it from 0f ({{Literal|local time}}) to 0f ({{Literal|Duration}}). And EOT means it'll continue to play your animation to the end of the time...&lt;br /&gt;
&lt;br /&gt;
Removing {{l|Waypoint|waypoint}} after current one. If you skip this step, then at the next waypoint {{Literal|Duration}} parameter will be restored to the value before current waypoint. It's a standard Synfig's behavior, but there's a magical button somewhere that can change it.&lt;br /&gt;
&lt;br /&gt;
Converting current waypoint to the constant. Without it, {{Literal|Duration}} will be smoothly interpolated from value you set to the EOT and the constant type will just set immediately at the waypoint. Interpolation can be a bit confusing sometimes, so you better read this about {{l|Waypoint|waypoints}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
To break a loop and continue animating you basically need to do two things; break the loop with a {{L|Waypoint|waypoint}} and copy the animation {{L|Keyframe|keyframe}} to your position in the {{L|Timebar|timeline}}.&lt;br /&gt;
* Find out which frame in the child layers that corresponds to the frame in the time loop layer where you want to break the loop.&lt;br /&gt;
Goto this frame in the child layer and add a {{L|Keyframe|keyframe}} here. Then goto the frame where you want to break the loop and duplicate the keyframe.&lt;br /&gt;
* Set the first time loop {{Literal|Duration}} waypoint to {{Literal|Constant}} and check {{Literal|Only For Positive Duration}}. Then at the breaking frame set {{Literal|Duration}} to 0.&lt;br /&gt;
* Continue animating the child layer(s) which are not looped anymore.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Visualized Example ==&lt;br /&gt;
&lt;br /&gt;
For example, suppose:&lt;br /&gt;
* Link Time is 5s&lt;br /&gt;
* Duration is 3s&lt;br /&gt;
* Local Time' is 4s&lt;br /&gt;
&lt;br /&gt;
And suppose that the Time Loop layer is applied over an existing animation.  The {{Literal|Link Time}} and {{Literal|Duration}} specify that the section from 5s to 8s in the children layers will be looped.  The {{Literal|Local Time}} specifies that this loop will be at the beginning at 4s.  (And so also therefore at 1s, 7s, 10s, etc).&lt;br /&gt;
&lt;br /&gt;
This is how the mapping actually works:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|'''real time'''||'''child time&amp;lt;br/&amp;gt;(symmetrical = true)'''||'''child time&amp;lt;br/&amp;gt;(symmetrical = false)'''&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 7 || 4&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 || 2&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6 || 3&lt;br /&gt;
|-&lt;br /&gt;
| 3 || 7 || 4&lt;br /&gt;
|-&lt;br /&gt;
| 4 || 5 || 5 (local time = 4; link time = 5)&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 6 || 6&lt;br /&gt;
|-&lt;br /&gt;
| 6 || 7 || 7&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 5 || 5 (duration = 3, so loop repeats after 3 seconds)&lt;br /&gt;
|-&lt;br /&gt;
| 8 || 6 || 6&lt;br /&gt;
|-&lt;br /&gt;
| 9 || 7 || 7&lt;br /&gt;
|-&lt;br /&gt;
| 10 || 5 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Specifying a huge number for the Duration parameter effectively turns the Time Loop layer into a Time Shift layer.  The Link Time and Local Time parameters controls which time in the children lines up with which time in the Time Loop layer, giving the amount of the timeshift, with both positive and negative differences working as expected.&lt;br /&gt;
&lt;br /&gt;
== Contrived Example ==&lt;br /&gt;
&lt;br /&gt;
Download and examine this example file: {{l|Media:Time-loop-demo-0.2.sifz|Time-loop-demo-0.2.sifz}}&lt;br /&gt;
&lt;br /&gt;
It's a 10 second animation, and shows 2 circles.  The top one moves linearly from the left to the right.  Its position is marked by static text digits 0 through 10.&lt;br /&gt;
&lt;br /&gt;
The other circle is an identical copy of the first one, with the same waypoints, but it's inside an Group layer.  The parameters are:&lt;br /&gt;
* Link Time: 5s&lt;br /&gt;
* Duration: 1.5s&lt;br /&gt;
* Local Time: 2s&lt;br /&gt;
* Symmetrical: true&lt;br /&gt;
&lt;br /&gt;
So as time=2s, the top circle is at position 2 (local time) and the bottom circle is at position 5 (link time):&lt;br /&gt;
&lt;br /&gt;
{{l|Image:Time-loop-demo-0.2-2s-0f.png}}&lt;br /&gt;
&lt;br /&gt;
The loop is 1.5s long, so the bottom circle is also at position 5 every 1.5 seconds before and after this point in time, for example at t=3.5s and at t=8s:&lt;br /&gt;
&lt;br /&gt;
{{l|Image:Time-loop-demo-0.2-3s-12f.png}}&lt;br /&gt;
{{l|Image:Time-loop-demo-0.2-8s-0f.png}}&lt;br /&gt;
&lt;br /&gt;
The following two images show the positions at t=0s and t=3s.  The loop starts at t=2s, so it's also at the start at t=0.5s.  So at t=0s it's half a second before finishing the previous loop.  And at t=3s the same is true, but 2 loops later on:&lt;br /&gt;
&lt;br /&gt;
{{l|Image:Time-loop-demo-0.2-0s-0f.png}}&lt;br /&gt;
{{l|Image:Time-loop-demo-0.2-3s-0f.png}}&lt;br /&gt;
&lt;br /&gt;
There's a rendered copy of this example on [http://www.youtube.com/watch?v=WyYLd7319Gw YouTube], and it's also available for download: {{l|Media:Time-loop-demo-0.2.avi‎|Time-loop-demo-0.2.avi‎}}.&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Group_Layer&amp;diff=23333</id>
		<title>Group Layer</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Group_Layer&amp;diff=23333"/>
				<updated>2019-06-19T12:55:20Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: /* Parameters of Group Layers */ Fix link to Outline Grow Parameter&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Group Layer}}&lt;br /&gt;
{{TOCright}}&lt;br /&gt;
{{Category|Layers}}&lt;br /&gt;
{{Category|Other}}&lt;br /&gt;
{{NewTerminology}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
{{l|Image:Layer other group icon.png|64px}}&lt;br /&gt;
&lt;br /&gt;
== About Group Layers==&lt;br /&gt;
&lt;br /&gt;
The {{Literal|Group Layer}} is a special layer that can hold other layers. It is generated via the {{l|Group}} command accessed via the context menu in the {{l|Layers Panel}} or through the {{l|Category:Layer Menu}} in the {{l|Canvas Menu Caret}}.  As well as grouping a set of layers it can also translate them, scale them, and even modify the time for the layers it contains.&lt;br /&gt;
&lt;br /&gt;
{{Literal|Group Layers}} can also be created through the {{l|Category:Layer_Menu#New_Layer_Menu|New Layer Menu}}, using {{c|&amp;lt;New Layer&amp;gt;|&amp;lt;Other&amp;gt;|Group Layer|}}.&lt;br /&gt;
&lt;br /&gt;
==Parameters of Group Layers==&lt;br /&gt;
&lt;br /&gt;
The parameters of the {{Literal|Group Layers}} are:&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;0&amp;quot; align=&amp;quot;none&amp;quot; style=&amp;quot;border-collapse&amp;quot;  cellpadding=&amp;quot;3&amp;quot; cellspacing=&amp;quot;0&amp;quot; &lt;br /&gt;
|-style=&amp;quot;background:#c8c8c8&amp;quot;&lt;br /&gt;
|'''Name'''||'''Value'''||'''Type'''  &lt;br /&gt;
|-&lt;br /&gt;
||{{l|Image:Type_real_icon.png|16px}} {{l|Z Depth Parameter|Z Depth}}&lt;br /&gt;
||0.000000&lt;br /&gt;
||real&lt;br /&gt;
&lt;br /&gt;
|-style=&amp;quot;background:#eeeeee&amp;quot;&lt;br /&gt;
||{{l|Image:Type_real_icon.png|16px}} {{l|Amount Parameter|Amount}}&lt;br /&gt;
||1.000000&lt;br /&gt;
||real&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
||{{l|Image:type_integer_icon.png|16px}} {{l|Blend Method|Blend Method}}&lt;br /&gt;
||Composite&lt;br /&gt;
||integer&lt;br /&gt;
&lt;br /&gt;
|-style=&amp;quot;background:#eeeeee&amp;quot;&lt;br /&gt;
||{{l|Image:Type_vector_icon.png|16px}} {{l|Origin Parameter|Origin}}&lt;br /&gt;
||0.000000u,0.000000u&lt;br /&gt;
||vector&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
||{{l|Group Layer#Transformation Parameter|Transformation}}&lt;br /&gt;
||0.000000, 0.000000, 0.00°, 60, 60&lt;br /&gt;
||transformation&lt;br /&gt;
&lt;br /&gt;
|-style=&amp;quot;background:#eeeeee&amp;quot;&lt;br /&gt;
||{{l|Image:Type canvas icon 0.63.06.png|16px}}  {{l|Group Layer#Canvas Parameter|Canvas}}&lt;br /&gt;
||&amp;lt;No Image Selected&amp;gt;&lt;br /&gt;
||canvas&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
||{{l|Image:Type_real_icon.png|16px}} {{l|Group Layer#Speed|Speed}}&lt;br /&gt;
||1.000000&lt;br /&gt;
||real&lt;br /&gt;
&lt;br /&gt;
|-style=&amp;quot;background:#eeeeee&amp;quot;&lt;br /&gt;
||{{l|Image:Type_real_icon.png|16px}} {{l|Zoom Parameter|Zoom}}&lt;br /&gt;
||0.000000&lt;br /&gt;
||real&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
||{{l|Image:Type_time_icon.png|16px}} {{l|Time Offset Parameter|Time Offset}}&lt;br /&gt;
||Of&lt;br /&gt;
||time&lt;br /&gt;
&lt;br /&gt;
|-style=&amp;quot;background:#eeeeee&amp;quot;&lt;br /&gt;
||{{l|Image:Type_bool_icon.png|16px}} {{l|Lock Selection}}&lt;br /&gt;
||&lt;br /&gt;
{| style=&amp;quot;width:18px; height:16px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
||bool (Static)&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
||{{l|Image:Type_vector_icon.png|16px}} {{l|Focus Point}}&lt;br /&gt;
||0.000000u,0.000000u&lt;br /&gt;
||vector&lt;br /&gt;
&lt;br /&gt;
|-style=&amp;quot;background:#eeeeee&amp;quot;&lt;br /&gt;
||{{l|Image:Type_real_icon.png|16px}} {{l|Group Layer#Outline Grow Parameter|Outline Grow}}&lt;br /&gt;
||0.000000&lt;br /&gt;
||real&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
||{{l|Image:Type_bool_icon.png|16px}} {{l|Group Layer#Z Depth Range Enabled|Z Range}}&lt;br /&gt;
||&lt;br /&gt;
{| style=&amp;quot;width:18px; height:16px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
||bool&lt;br /&gt;
&lt;br /&gt;
|-style=&amp;quot;background:#eeeeee&amp;quot;&lt;br /&gt;
||{{l|Image:Type_real_icon.png|16px}} {{l|Group Layer#Z Depth Range Position|Z Range Position}}&lt;br /&gt;
||0.000000&lt;br /&gt;
||real&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
||{{l|Image:Type_real_icon.png|16px}} {{l|Group Layer#Z Depth Range Depth|Z Range Depth}}&lt;br /&gt;
||1.000000&lt;br /&gt;
||real&lt;br /&gt;
&lt;br /&gt;
|-style=&amp;quot;background:#eeeeee&amp;quot;&lt;br /&gt;
||{{l|Image:Type_real_icon.png|16px}} {{l|Group Layer#Z Depth Range Transition|Z Range Blur}}&lt;br /&gt;
||0.000000&lt;br /&gt;
||real&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Transformation Parameter ===&lt;br /&gt;
The {{Literal|Transformation}} parameter is a composite parameter, it hold an Offset, a rotation angle, a skew angle and a scale value for the group. The {{Literal|Transformation}} parameter is already {{l|Convert#Composite|converted to composite}} when the {{l|Group Layer}} is created and so directly expose the {{l|Offset Parameter|Offset}}, {{l|Rotation Parameter|Rotation}}, {{l|Skew Parameter|Skew}} and {{l|Scale Parameter|Scale}} subparameters.&lt;br /&gt;
&lt;br /&gt;
See also {{l|Group_Transformation_Widget}}&lt;br /&gt;
&lt;br /&gt;
=== Canvas Parameter ===&lt;br /&gt;
{{l|Image:Type canvas icon 0.63.06.png|64px}}&lt;br /&gt;
&lt;br /&gt;
This is &amp;quot;Group&amp;quot; by default if the {{Literal|Group Layers}} was created by grouping other layers, or {{Literal|No Image Selected}} if it was created from the {{l|New Layer Menu}}. This parameter lets you select another canvas.&lt;br /&gt;
&lt;br /&gt;
The canvas parameter presents a drop-down menu of the exported canvases, plus an extra entry called &amp;quot;Other...&amp;quot;.  Selecting &amp;quot;Other...&amp;quot; presents the user with a text entry box asking for the name of the canvas to use.  The name typed should have the following format (where &amp;lt;nowiki&amp;gt;[ ]&amp;lt;/nowiki&amp;gt; indicates an optional part, ( ) is for grouping, and * means &amp;quot;0 or more times&amp;quot;):&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt; [[filename]#][:]&amp;lt;/nowiki&amp;gt;''id''(:''id'')*&lt;br /&gt;
&lt;br /&gt;
In its simplest form, this is just an ''id'', ie. the exported name of one of the child canvases of the current canvas.&lt;br /&gt;
&lt;br /&gt;
Other possibilities are:&lt;br /&gt;
* if a '#' is present, the part before the '#' is interpreted as the filename of an external .sif file to use.&lt;br /&gt;
* if the '#' is the first character of the string (ie. the filename is blank) then the '#' is ignored, and the current canvas is used instead&lt;br /&gt;
* if a ':' appears before the first ''id'', it means to start at the root canvas of the current canvas&lt;br /&gt;
* each subsequent :id steps down into the specified child&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
* '''/usr/share/doc/synfig/examples/business_card.sifz#:IndividualCard''' -- gives the absolute path to a .sifz file, and says to use the canvas that was exported from its root canvas as &amp;quot;IndividualCard&amp;quot;&lt;br /&gt;
* '''../../examples/business_card.sifz#:IndividualCard''' -- the same, but with a relative path to the .sifz file&lt;br /&gt;
* '''#:sy:head:eyes:left''' -- look in the current composition, and starting from the root, navigate down through the canvas tree.  Find a child canvas of the root canvas called 'sy', look in 'sy' for a child canvas called 'head', and so on.&lt;br /&gt;
* ''':sy:head:eyes:left''' -- exactly as above.  an empty filename is the same as not using the '#' at all&lt;br /&gt;
* '''eyes:left''' -- without a ':' before the first ''id'', this starts at the current canvas (presumably the Group in question is in the &amp;quot;head&amp;quot; subcanvas of the &amp;quot;sy&amp;quot; subcanvas of the root)&lt;br /&gt;
&lt;br /&gt;
=== Outline Grow Parameter ===&lt;br /&gt;
This parameter allows to control thickness of all outline layers inside. Assigning positive value to this parameter makes all child outlines rendered thicker, while negative value makes them look thinner. This feature is very helpful for tuning outlines in complex artwork and it also allows to achieve some nice effects like constant outline width at any zoom level.&lt;br /&gt;
&lt;br /&gt;
Note: The {{Literal|Outline Grow}} parameter can not be applied to exported and imported (external) Groups layers.&lt;br /&gt;
&lt;br /&gt;
{{l|Image:Paste-canvas-outline-grow-param.png}}&lt;br /&gt;
&lt;br /&gt;
===Z Range parameters===&lt;br /&gt;
&lt;br /&gt;
====Z Depth Range Enabled====&lt;br /&gt;
When checked, only layers inside range are visible and the visible layers are signaled with bolded font in the {{l|Layers_Panel}}&lt;br /&gt;
====Z Depth Range Position====&lt;br /&gt;
Starting z_depth position where layers are visible&lt;br /&gt;
====Z Depth Range Depth====&lt;br /&gt;
Depth where layers are visibles in z_depth range&lt;br /&gt;
====Z Depth Range Transition====&lt;br /&gt;
Z_Depth area where layers inside are partially visible.&lt;br /&gt;
&lt;br /&gt;
Example of Z Range use : http://www.youtube.com/watch?v=UPpmOz0wUY4&lt;br /&gt;
&lt;br /&gt;
===Speed===&lt;br /&gt;
Alters the velocity group's child animated layers (not the {{literal|Group Layer}} itself)&lt;br /&gt;
&lt;br /&gt;
Set it to zero, it would stop the animation. A value of one makes the animation run at normal speed and a value of two makes it run double speed. Minus one reverses the animation.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
{{l|Switch_Group_Layer}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Doc:Plugins&amp;diff=23323</id>
		<title>Doc:Plugins</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Doc:Plugins&amp;diff=23323"/>
				<updated>2019-03-03T15:43:38Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Fix link to scripts thread on Synfig Forums&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Plugins}}&lt;br /&gt;
{{Category|Manual}}&lt;br /&gt;
{{NewTerminology}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
The Plugins feature allows to run custom python scripts directly from Synfig Studio menu. Each script takes .sif file as first argument and should modify its contents in some way. After script execution finished, the file is automatically reopened back in Synfig Studio. &lt;br /&gt;
&lt;br /&gt;
With the current script feature, has it work with the file itself you can't retrieve the current {{l|Time_Cursor}} position when the script is invoked. But you can know the value of a {{l|Parameter}} or {{l|ValueNode}} at a certain time (the ones fixed by {{l|Waypoints}}), because the {{l|ValueNode#Animated ValueNodes|Animated Value Nodes}} are stored (other problem is to know the interpolated value, which is not trivial for other thing rather than {{l|Linear}} or {{l|Constant}} interpolation)&lt;br /&gt;
&lt;br /&gt;
All plugins are located in the &amp;quot;Plug-Ins&amp;quot; submenu of the canvas.&lt;br /&gt;
&lt;br /&gt;
= Rationale =&lt;br /&gt;
People often write some scripts to make useful things on Synfig (sif) files. The most of these scripts are written in python. But for ordinary users running custom scripts from terminal is tricky. With plugins feature user can install scripts as easy as they copy files and transparently run them in the same way as they use standard Synfig Studio commands. Also, runing scripts from menu is much faster than from terminal and it greatly improves the workflow for advanced users. Having this feature allows to easily add simple functions to Synfig Studio by writting scripts in python.&lt;br /&gt;
&lt;br /&gt;
= How to install plugins =&lt;br /&gt;
&lt;br /&gt;
Plugin is a directory, containing the python script (*.py file), plugin.xml and maybe some other files if they are required by python script.&lt;br /&gt;
&lt;br /&gt;
To install the plugin user should copy its directory into the following location:&lt;br /&gt;
&lt;br /&gt;
* '''Windows Vista/7/8:''' C:\Users\USERNAME\Synfig\plugins&lt;br /&gt;
* '''Windows XP:''' C:\Documents and Settings\USERNAME\Synfig\plugins&lt;br /&gt;
* '''Linux:''' ~/.config/synfig/plugins&lt;br /&gt;
* '''OSX:''' /Users/USERNAME/Library/Synfig/plugins&lt;br /&gt;
&lt;br /&gt;
The system-wide location for the plugins is USER_DIRECTORY/SYNFIG_CONFIGURATION_DIR/plugins&lt;br /&gt;
&lt;br /&gt;
== Where to find plugins ==&lt;br /&gt;
* [https://github.com/yoyobuae/synfig-plugins Yoyobuae:FreeForm Deform]&lt;br /&gt;
* [http://morevnaproject.org/2012/06/11/plugins-feature-in-synfig-studio/ Morevna:Plugins feature in Synfig Studio]&lt;br /&gt;
* [https://github.com/berteh/synfig-import-labels Berteh:Import Labels and Timings]&lt;br /&gt;
* [https://forums.synfig.org/c/development/scripting Synfig forum: scripts/plugin thread]&lt;br /&gt;
&lt;br /&gt;
= Tutorial =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;videoflash&amp;gt;De9UhUkzNiY|425|344&amp;lt;/videoflash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Details =&lt;br /&gt;
&lt;br /&gt;
Each plugin located in a separate subdirectory with unique name. The part of the name before first &amp;quot;-&amp;quot; symbol is used to set the group plugin belongs to (not implemented yet). The main information about plugin (plugins name and script to execute) is stored in the plugin.xml file. It's self-explanatory :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;plugin&amp;gt;&lt;br /&gt;
   &amp;lt;name&amp;gt;Unhide All Layers&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;es&amp;quot;&amp;gt;Activa todas las capas&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;eu&amp;quot;&amp;gt;Erakutsi geruza guztiak&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;eu_ES&amp;quot;&amp;gt;Erakutsi geruza guztiak&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;fr&amp;quot;&amp;gt;Afficher Tous les Calques&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;lt&amp;quot;&amp;gt;Parodyti visus sluoksnius&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;name xml:lang=&amp;quot;ru&amp;quot;&amp;gt;Показать все скрытые слои&amp;lt;/name&amp;gt;&lt;br /&gt;
   &amp;lt;exec&amp;gt;view-unhide-all-layers.py&amp;lt;/exec&amp;gt;&lt;br /&gt;
&amp;lt;/plugin&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
view-unhide-all-layers.py :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
# Copyright (c) 2012 by Konstantin Dmitriev &amp;lt;k....z...gmail.com&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# This program is free software; you can redistribute it and/or modify&lt;br /&gt;
# it under the terms of the GNU General Public License as published by&lt;br /&gt;
# the Free Software Foundation; either version 2 of the License, or&lt;br /&gt;
# (at your option) any later version.&lt;br /&gt;
&lt;br /&gt;
import os&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
def process(filename):&lt;br /&gt;
	&lt;br /&gt;
	# Read the input file&lt;br /&gt;
	inputfile_f = open(filename, 'r')&lt;br /&gt;
	inputfile_contents = inputfile_f.readlines()&lt;br /&gt;
	inputfile_f.close()&lt;br /&gt;
	&lt;br /&gt;
	# Now write results to the same file&lt;br /&gt;
	inputfile_f = open(filename, 'w')&lt;br /&gt;
&lt;br /&gt;
	for line in inputfile_contents:&lt;br /&gt;
		if &amp;quot;&amp;lt;layer &amp;quot; in line:&lt;br /&gt;
			inputfile_f.write(line.replace(' active=&amp;quot;false&amp;quot; ',' active=&amp;quot;true&amp;quot; '))&lt;br /&gt;
		else:&lt;br /&gt;
			inputfile_f.write(line)&lt;br /&gt;
	inputfile_f.close()&lt;br /&gt;
&lt;br /&gt;
if len(sys.argv) &amp;lt; 2:&lt;br /&gt;
	sys.exit()&lt;br /&gt;
else:&lt;br /&gt;
	process(sys.argv[1])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All scripts are interpreted with python 3. &lt;br /&gt;
&lt;br /&gt;
In Linux and Mac OSX case Synfig Studio looks for &amp;quot;python&amp;quot; or &amp;quot;python3&amp;quot; binary. For windows case Python binary is expected at INSTALL_PREFIX/python/python.exe. New environment variable SYNFIG_PYTHON_BINARY allows to set custom path to the python 3 binary.&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=23320</id>
		<title>Dev:Build Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=23320"/>
				<updated>2019-02-12T15:34:20Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Link to new build instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Build Instructions}}&lt;br /&gt;
{{Category|Manual}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See https://synfig-docs-dev.readthedocs.io/en/latest/common/building.html&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Roadmap&amp;diff=23319</id>
		<title>Dev:Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Roadmap&amp;diff=23319"/>
				<updated>2019-02-12T15:31:46Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Link to recent roadmap&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Title|Roadmap}}&lt;br /&gt;
&lt;br /&gt;
WARNING: This roadmap is outdated. See latest one here - https://synfig-docs-dev.readthedocs.io/en/latest/common/roadmap.html&lt;br /&gt;
&lt;br /&gt;
=== Current Status of polishing ===&lt;br /&gt;
* {{L|Dev:Roadmap/Bones|Bones}} (''18/26 done'')&lt;br /&gt;
* {{L|Dev:Roadmap/Frame-by-frame animation (bitmap)|Frame-by-frame animation (bitmap)}} (''10/26 done'')&lt;br /&gt;
* {{L|Dev:Roadmap/UI|UI improvement}} (''4/7 done'')&lt;br /&gt;
* {{L|Dev:Roadmap/Speed|Rendering speed optimization}} (''3/11 done'')&lt;br /&gt;
* {{L|Dev:Roadmap/SFG Format|SFG Format}} &lt;br /&gt;
* {{L|Dev:Roadmap/Sound|Sound support}} (''6/10 done'')&lt;br /&gt;
* Video import&lt;br /&gt;
* Vector drawing tools&lt;br /&gt;
* Scripting (python) (''minimal support ready : scripts can be called from an entry menu'')&lt;br /&gt;
* SWF export&lt;br /&gt;
&lt;br /&gt;
Take also a look to our [http://www.synfig.org/issues/thebuggenie/synfig/roadmap issue tracker roadmap]&lt;br /&gt;
&lt;br /&gt;
Nota : The following list of features will NOT be subject for polishing for 1.0, but will be available as &amp;quot;experimental features&amp;quot;:&lt;br /&gt;
* SFG container&lt;br /&gt;
* MyPaint integration&lt;br /&gt;
* Frame-by-frame animation tools&lt;br /&gt;
(we will focus on them after 1.0 release)&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Environment_Variables&amp;diff=23318</id>
		<title>Environment Variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Environment_Variables&amp;diff=23318"/>
				<updated>2019-02-09T08:31:19Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: /* Environment Variables */ Add SYNFIG_USER_SETTINGS environment variable, as requested in https://github.com/synfig/synfig/issues/716&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Environment Variables}}&lt;br /&gt;
{{NewTerminology}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Environment Variables ==&lt;br /&gt;
&lt;br /&gt;
Several environment variables can be set to affect the behavior of Synfig Studio:&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
|'''variable'''||'''description'''&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_DISABLE_AUTOMATIC_DOCUMENT_CREATION || If no documents are specified when synfig is run, it will create a new blank document unless this variable is set.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_ENABLE_NEW_CANVAS_EDIT_PROPERTIES || When a new document is created, the {{l|Canvas Properties Dialog}} will only be shown if this variable is set.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_DISABLE_OPTIMIZE&amp;lt;br/&amp;gt;SYNFIG_DISABLE_OPTIMIZE_TRANS&amp;lt;br/&amp;gt;SYNFIG_DISABLE_REMOVE_DUPS || These three variables, when set, disable various steps of the animated gif optimization process in the magick++ module.  Namely: disable optimization completely, disable optimization of transparent pixels, and disable the removal of adjacent duplicate frames respectively.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_DISABLE_DRAW&amp;lt;br/&amp;gt;SYNFIG_DISABLE_POLYGON&amp;lt;br/&amp;gt;SYNFIG_DISABLE_SKETCH || These can be used to disable the named tools from being shown in the {{l|Toolbox}}.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_ENABLE_WIDTH || If set, this enables the (mostly broken) {{l|Width Tool}} in the {{l|Toolbox}}.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_TIMETRACK_HEADER_HEIGHT&amp;lt;br/&amp;gt;SYNFIG_TIMETRACK_ROW_HEIGHT || These are used to change the header and row heights in the {{l|Timetrack_Panel}}. This is sometimes needed to make the timetrack panel rows line up with the parameter panel's rows.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_DISABLE_POPUP_WINDOWS || When set, this makes the splash screen and &amp;quot;one moment please&amp;quot; popup windows behave like regular windows - ie. they can be minimized, and covered by other windows.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_DISABLE_TILE_RENDER || When set, the workarea is always rendered using the scanline renderer, rather than being broken up into small square tiles which are rendered separately.  This is overridden by SYNFIG_FORCE_TILE_RENDER.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_FORCE_TILE_RENDER || When set, the workarea is always rendered using the tile renderer, rather than being rendered in a single block.  This overrides SYNFIG_DISABLE_TILE_RENDER.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_SHOW_TILE_OUTLINES || For debugging, this draws a red outline around each tile when using the tile renderer.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_ENABLE_POPUP_MENU_IN_ALL_TOOLS || Allow the right-click context menu to be used in all the various tool states.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_MODULE_LIST || Specifies where to load the list of dynamic modules from.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_ROOT || Specifies the path to the synfig resources.  It should be the directory which contains share/pixmaps/synfigstudio/ - usually /usr or /usr/local.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_USER_SETTINGS || Specifies the path user settings directory.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_TOOLS_CLEAR_SELECTION || When set, unselect all layers before creating a new layer in any of the tools (other than the {{l|Draw Tool}}, which always leaves selected layers selected so that their {{l|Handle|Handles}} can be linked to).&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_TRANSIENT_DIALOGS || Some window managers fail to associate synfig's panels with the toolbox.  Setting this can help.  It seems to work quite well on Windows too, preventing the panels from taking up space on the task bar, but be careful not to minimize any of the panels, it can cause problems.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_DEBUG_DESTRUCTORS || Logs the sequence of destructions that go on when closing things down.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_SHOW_FULL_TIME_ON_FOCUS || When editing a Time field, start with the full formatted time, ie. &amp;quot;0h 0m 1s 0f&amp;quot; rather than &amp;quot;1s&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_WINDOW_POSITION_X_OFFSET&amp;lt;br/&amp;gt;SYNFIG_WINDOW_POSITION_Y_OFFSET || Added on to the stored position of each panel when studio starts up.  Used to combat the pixel-by-pixel drifting that happens with some window managers.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_SHOW_CANVAS_PARAM_WAYPOINTS || In {{l|Group Layer|Group Layers}}, show waypoints for the Canvas parameter itself, rather than for the canvas that is the parameter's value.  Experimental.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_KEEP_ABORTED_DRAW_LINES || In the {{l|Draw Tool}}, if you make a very fast stroke, it's not used. Synfig Studio always used to leave the unused stroke on the display until a longer stroke was made.  SVN r1689 changed things so that these short strokes are immediately hidden.  Setting this variable restores the previous behavior.&lt;br /&gt;
|-&lt;br /&gt;
| SYNFIG_DISABLE_OPTIMIZE_LAYER_TREE || Before starting to render a tree of layers, Synfig makes an optimized copy of the layer tree, omitting any layers that currently have an amount of 0.  The aim is to make the render go faster, but it may introduce some instability into the application.  Set this variable to disable the optimization step.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Doc:Shiny_Effects&amp;diff=23297</id>
		<title>Doc:Shiny Effects</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Doc:Shiny_Effects&amp;diff=23297"/>
				<updated>2018-11-11T15:22:21Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: test&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Shiny Effects}}&lt;br /&gt;
{{Category|Tutorials}}&lt;br /&gt;
{{Category|Tutorials Intermediate}}&lt;br /&gt;
{{NewTerminology}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
  Somes of the screenshots needs to be updated&lt;br /&gt;
&lt;br /&gt;
Shiny Effects #1 by Ceox&lt;br /&gt;
&lt;br /&gt;
'''Skill Level:''' Intermediate&lt;br /&gt;
&lt;br /&gt;
'''Length:''' About 30 minutes&lt;br /&gt;
&lt;br /&gt;
'''Version of Synfig Studio:''' 0.61.07&lt;br /&gt;
&lt;br /&gt;
In this  tutorial we will make some shiny/glowy effects on your text.&lt;br /&gt;
&lt;br /&gt;
It might seem long to you because there is a lot of text, but when I&lt;br /&gt;
first tried this out I did it in 5-10 minutes, so if you learn all the&lt;br /&gt;
stuff you'll be able to do it that fast as well.&lt;br /&gt;
&lt;br /&gt;
== Part 1 - Designing ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Create New Document ===&lt;br /&gt;
&lt;br /&gt;
We start by opening Synfig Studio and creating a new document with all&lt;br /&gt;
the default settings except these:&lt;br /&gt;
[[File:Shiny-tut_pic1.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Create Text Layer ===&lt;br /&gt;
&lt;br /&gt;
Now we create a new text layer.  In this tutorial I'm going to use&lt;br /&gt;
the text &amp;quot;Ceox&amp;quot;. That's not my real name, but it will have to&lt;br /&gt;
do. Start by adding the text layer:&lt;br /&gt;
&lt;br /&gt;
[[File:Shiny-tut_pic2.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Select Text Layer ===&lt;br /&gt;
&lt;br /&gt;
Now you should see a &amp;quot;Text Layer&amp;quot; text in the middle of your&lt;br /&gt;
project. Select the text layer in the layers list, so that it is&lt;br /&gt;
highlighted, and you should see its parameters in the &amp;quot;Parameters&amp;quot; window,&lt;br /&gt;
which is on the bottom of your workspace if you haven't placed it&lt;br /&gt;
somewhere else. (Click on the image to enlarge it; it will open in a&lt;br /&gt;
new window).&lt;br /&gt;
[[File:Shiny-tut_pic3.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Edit Text Layer ===&lt;br /&gt;
&lt;br /&gt;
Now we are going to modify the text in the &amp;quot;Parameters&amp;quot; window. First&lt;br /&gt;
double-click on the color in the &amp;quot;Value&amp;quot; cell and choose the color you&lt;br /&gt;
want, with 100 &amp;quot;Alpha&amp;quot;. I chose a darkish blue. Then double-click on&lt;br /&gt;
the &amp;quot;Text Layer&amp;quot; text, also in the &amp;quot;Value&amp;quot; cell and enter your name&lt;br /&gt;
into the pop-up window. After this, change the size to 50pt and the&lt;br /&gt;
font to Arial, both by double-clicking the field in the &amp;quot;Value&amp;quot;&lt;br /&gt;
cell. Here's a screenshot of all things need to be modified: (I have&lt;br /&gt;
darkened all the values that should be good to go by default, but if&lt;br /&gt;
you like you can check the others as well).&lt;br /&gt;
[[File:Shiny-tut_pic4.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Step 5: (OPTIONAL) ===&lt;br /&gt;
&lt;br /&gt;
If you want some more &amp;quot;fancyness&amp;quot; on your text, create a stroke for&lt;br /&gt;
the text, like this step tells you. Right click on the text layer in&lt;br /&gt;
the layers list and choose &amp;quot;Duplicate Layer&amp;quot;:&lt;br /&gt;
[[File:Shiny-tut_pic5.gif]]&lt;br /&gt;
&lt;br /&gt;
Now you should have two &amp;quot;Text&amp;quot; layers on top of each other. Choose&lt;br /&gt;
the lower &amp;quot;Text&amp;quot; layer and change the color to something else what&lt;br /&gt;
you have on the top &amp;quot;Text&amp;quot; layer. Im am going to choose a simple&lt;br /&gt;
green. Now change the size of this layer to about 2-3 pt bigger than&lt;br /&gt;
the layer on the top, in this case to 52pt. (50pt 2pt, if you didn't&lt;br /&gt;
get it). Now we have a stroke for our text, though it might not be&lt;br /&gt;
perfectly around the text. You can fix this, my moving the lower layer&lt;br /&gt;
a bit. This is how my text looks like now:&lt;br /&gt;
[[File:Shiny-tut_pic6.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Step 6: ===&lt;br /&gt;
&lt;br /&gt;
Now we create the first the shiny thing. Add a new layer just like we&lt;br /&gt;
added the text layer, by clicking on the little black arrow in the&lt;br /&gt;
corner of our canvas and choosing &amp;quot;Layer &amp;gt; New Layer &amp;gt; Gradients &amp;gt; Linear Gradient. &lt;br /&gt;
Now your canvas should be filled with&lt;br /&gt;
a some colored gradient. Don't worry, we will get your text back in&lt;br /&gt;
the next step. Which actually comes now. Choose the &amp;quot;Linear Gradient&amp;quot;&lt;br /&gt;
layer in the layers list and then double-click on the &amp;quot;Gradient&amp;quot;&lt;br /&gt;
value in the &amp;quot;Parameters&amp;quot; window, like we double-clicked in Step 4. Now&lt;br /&gt;
you should see a window which calls itself the &amp;quot;Gradient Editor&amp;quot;. At&lt;br /&gt;
the bottom of this window you should see two black 'half-arrows', one&lt;br /&gt;
on the left side and one on the right side. Click on the one, which is&lt;br /&gt;
on the left side. (When the color of it changes to white, it is&lt;br /&gt;
selected.) Change the color to white and the &amp;quot;Alpha&amp;quot; value to 0. Now&lt;br /&gt;
select the arrow on the right side and do the same thing. Now insert a&lt;br /&gt;
new arrow (or Color Stop, what ever you want to call them) by clicking in&lt;br /&gt;
the center of the area, which is over the half-arrows with your right&lt;br /&gt;
mouse button and select &amp;quot;Insert Color Stop&amp;quot;. Notice that the menu will&lt;br /&gt;
only appear when you keep the right mouse button pressed down. Now&lt;br /&gt;
select this arrow and change its color to white and its &amp;quot;Alpha&amp;quot; value&lt;br /&gt;
to 50. As you may have noticed by now, the alpha amount controls the&lt;br /&gt;
transparency of an object. Now your Gradient Editor should look like&lt;br /&gt;
this:&lt;br /&gt;
&lt;br /&gt;
[[File:Shiny-tut_pic7.gif]]&lt;br /&gt;
&lt;br /&gt;
and your canvas something like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Shiny-tut_pic8.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Step 7: ===&lt;br /&gt;
&lt;br /&gt;
Rotate and scale the &amp;quot;Linear Gradient&amp;quot; layer with the &amp;quot;Normal Tool&amp;quot;&lt;br /&gt;
using the control points like the video shows.&lt;br /&gt;
[http://personal.inet.fi/musiikki/ceox/synfigtuto1/vid1.swf.html Click&lt;br /&gt;
here to view video. Opens up in new window.]&lt;br /&gt;
&lt;br /&gt;
=== Step 8: ===&lt;br /&gt;
&lt;br /&gt;
Select the &amp;quot;Linear Gradient&amp;quot; layer in the layers list and set its&lt;br /&gt;
&amp;quot;Blend Method&amp;quot; to &amp;quot;Onto&amp;quot; in the &amp;quot;Parameters&amp;quot; window. Now the Gradient&lt;br /&gt;
layer is visible only on the layers below it. Your gradient should&lt;br /&gt;
disappear if you placed like the video showed in the previous&lt;br /&gt;
step. (Not on top of the text)&lt;br /&gt;
&lt;br /&gt;
[[File:Shiny-tut_pic9.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Step 9: ===&lt;br /&gt;
&lt;br /&gt;
It's easier to do all the animations afterwards, so now we could make&lt;br /&gt;
the other shiny effect, which I prefer to call a 'shimmer'. We start&lt;br /&gt;
by taking the Spline tool ({{l|Image:draw-path_128sif.png}}) and zooming&lt;br /&gt;
in 400% into our canvas. You can zoom in and out in the &amp;quot;Navigator&amp;quot;:&lt;br /&gt;
[[File:Shiny-tut_pic19.gif]]&lt;br /&gt;
&lt;br /&gt;
Â Now we have to draw a new object with the Spline tool&lt;br /&gt;
({{l|Image:draw-path_128sif.png}}) in to some sharp corner of our&lt;br /&gt;
text. I chose the corner of the X, because this effect looks good on&lt;br /&gt;
the last character(s). So now draw a shape like this one:&lt;br /&gt;
&lt;br /&gt;
(Insert a controller by pressing your left mouse button and close the&lt;br /&gt;
line by clicking on the first point with your right mouse button and&lt;br /&gt;
selecting &amp;quot;Loop Spline&amp;quot;)&lt;br /&gt;
[[File:Shiny-tut_pic20.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Step 10: ===&lt;br /&gt;
&lt;br /&gt;
Now zoom out to 100% again. You should now have a new layer in your&lt;br /&gt;
layers list:&lt;br /&gt;
[[File:Shiny-tut_pic10.gif]]&lt;br /&gt;
&lt;br /&gt;
Select it by clicking on it. Now we have its parameters in the&lt;br /&gt;
&amp;quot;Parameters&amp;quot; window. Change its color to white, if it isn't it aleady. You&lt;br /&gt;
also have to set its &amp;quot;Feather&amp;quot; to 1pt and the &amp;quot;Type of Feather&amp;quot; to&lt;br /&gt;
&amp;quot;Box Blur&amp;quot;. We don't want it to be visible yet so we also have to set&lt;br /&gt;
the &amp;quot;Alpha&amp;quot; value to 0 in the color editor. Now everything is ready&lt;br /&gt;
for the animation.&lt;br /&gt;
[[File:Shiny-tut_pic11.gif]]&lt;br /&gt;
&lt;br /&gt;
== Part 2 - Animating ==&lt;br /&gt;
&lt;br /&gt;
=== Step 1: ===&lt;br /&gt;
&lt;br /&gt;
First we animate the &amp;quot;Linear Gradient&amp;quot; layer. Select it in the layers&lt;br /&gt;
list. Now you should have to have two green control points visible in&lt;br /&gt;
your canvas. Choose the &amp;quot;Normal Tool&amp;quot; ({{l|Image:normal_icon-full.jpg}})&lt;br /&gt;
and select both of those points by drawing an rectangle over&lt;br /&gt;
them. Open the keyframe- window by clicking on its icon (a golden key)&lt;br /&gt;
in the same window where the &amp;quot;Parameters&amp;quot; are. Make sure your timeline&lt;br /&gt;
indicator is at &amp;quot;0f&amp;quot; (the small orange line on a gray background) and&lt;br /&gt;
add a new keyframe by pressing on the blue icon. Move the timeline&lt;br /&gt;
indicator to &amp;quot;2s&amp;quot; and add a new keyframe. Now your window should look&lt;br /&gt;
like this:&lt;br /&gt;
&lt;br /&gt;
[[File:Shiny-tut_pic12.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Step 2: ===&lt;br /&gt;
&lt;br /&gt;
Move the time indicator to &amp;quot;0f&amp;quot; and press on the green ball in the&lt;br /&gt;
lower right corner of your canvas. After pressing on it, its color&lt;br /&gt;
changes to red, like it is in the screenshot. Now move the control&lt;br /&gt;
points up a bit (this doesn't affect the animation), just to create a&lt;br /&gt;
waypoint. Go back to &amp;quot;2s&amp;quot;, where we inserted the second keyframe and&lt;br /&gt;
move the two green control points to the right side of your text. The&lt;br /&gt;
first animation has been created. You can move your timline indicator&lt;br /&gt;
around to see it. This should be your timeline and canvas now:&lt;br /&gt;
[[File:Shiny-tut_pic13.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Step 3: ===&lt;br /&gt;
&lt;br /&gt;
Now let's group our &amp;quot;Linear Gradient&amp;quot; layer and the two &amp;quot;Text&amp;quot;&lt;br /&gt;
layers by selecting them all. (Select multiple layers by holding CTRL&lt;br /&gt;
down and selecting the layers). Then press on one of the selected&lt;br /&gt;
layers and choose &amp;quot;Group&amp;quot;. The layers should now be grouped in&lt;br /&gt;
one layer with a box symbol and labeled &amp;quot;Group&amp;quot;. You can open&lt;br /&gt;
all the layers by clicking on the small arrow on the left side of the&lt;br /&gt;
box- icon.&lt;br /&gt;
&lt;br /&gt;
[[File:Shiny-tut_pic14.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Step 4: ===&lt;br /&gt;
&lt;br /&gt;
I just noticed, that I screwed up and we have to make the whole&lt;br /&gt;
animation a bit longer. Click on the black arrow in the upper left&lt;br /&gt;
corner of your canvas, select &amp;quot;Edit&amp;quot; and then &amp;quot;Properties&amp;quot;. A new&lt;br /&gt;
window should pop up. Go to the &amp;quot;Time&amp;quot; tab and then set the &amp;quot;End Time&amp;quot;&lt;br /&gt;
to 4s 2f.&lt;br /&gt;
[[File:Shiny-tut_pic15.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Step 5: ===&lt;br /&gt;
&lt;br /&gt;
Select the &amp;quot;NewSpline(some number) Region&amp;quot; layer, place the timeline&lt;br /&gt;
indicator to &amp;quot;2s&amp;quot; and a add a keyframe, like in Step 2. Now repeat&lt;br /&gt;
this by adding keyframes also to &amp;quot;3s&amp;quot; and &amp;quot;4s&amp;quot;. Move your timeline&lt;br /&gt;
indicator back to &amp;quot;2s&amp;quot; and press the green ball icon to get into the&lt;br /&gt;
animate editing mode. Now open the &amp;quot;Colors&amp;quot; window from the &amp;quot;Parameters&amp;quot;&lt;br /&gt;
window and set the &amp;quot;Alpha&amp;quot; value to 1. Close the window. Move the time&lt;br /&gt;
indicator to &amp;quot;3s&amp;quot; and set the &amp;quot;Alpha&amp;quot; value to 100 trough the&lt;br /&gt;
&amp;quot;Colors&amp;quot; window like before. Now move the time indicator to &amp;quot;4s&amp;quot; and&lt;br /&gt;
set &amp;quot;Alpha&amp;quot; to 0. Now we have the shimmer in the corner of our text&lt;br /&gt;
fading in and out in 2 seconds. Your timeline should now look like&lt;br /&gt;
this (without those texts, of course):&lt;br /&gt;
&lt;br /&gt;
[[File:Shiny-tut_pic16.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Step 6: ===&lt;br /&gt;
&lt;br /&gt;
Your animation is basically ready, but that shimmer needs some&lt;br /&gt;
enhancement. First add a new layer onto the &amp;quot;NewSpline(some number)&lt;br /&gt;
Region&amp;quot; layer, by left clicking on it and selecting &amp;quot;New Layer &amp;amp;gt;&lt;br /&gt;
Transform &amp;amp;gt; Rotate&amp;quot;. A new layer named &amp;quot;Rotate&amp;quot; should appear. Now&lt;br /&gt;
lets group the &amp;quot;Rotate&amp;quot; and &amp;quot;NewSpline...&amp;quot; layer like in Step 3,&lt;br /&gt;
but just selecting the &amp;quot;Rotate&amp;quot; and &amp;quot;NewSpline...&amp;quot; layers this&lt;br /&gt;
time. If we wouldn't do this the rotation effect would affect our&lt;br /&gt;
text too, but that's not what we want. Now you should have 2 Group layers. &lt;br /&gt;
Open the first one by pressing on the small&lt;br /&gt;
white arrow next to the [box]- icon. This is what your layers list&lt;br /&gt;
should look like now:&lt;br /&gt;
[[File:Shiny-tut_pic17.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Step 7: ===&lt;br /&gt;
&lt;br /&gt;
Select both of the layers in the opened &amp;quot;Inline canvas&amp;quot; and you should&lt;br /&gt;
see the outline of your shimmer and a new line, which has a green dot&lt;br /&gt;
and a blue dot in both ends. Move the green dot to the center of your&lt;br /&gt;
shimmer like this:&lt;br /&gt;
[[File:Shiny-tut_pic18.gif]]&lt;br /&gt;
&lt;br /&gt;
=== Step 8: ===&lt;br /&gt;
&lt;br /&gt;
Make sure, you're still in the &amp;quot;Animate Editing Mode&amp;quot; (the ball in the&lt;br /&gt;
bottom left corner of your canvas is red, if you are), place your&lt;br /&gt;
timeline indicator to &amp;quot;2s&amp;quot; and select only the &amp;quot;Rotate&amp;quot; layer. Now&lt;br /&gt;
you have to set the &amp;quot;Amount&amp;quot; value to 0.01 in the &amp;quot;Parameters&amp;quot; window,&lt;br /&gt;
just to set the waypoint. Move the timeline indicator to &amp;quot;3s&amp;quot; and set&lt;br /&gt;
the &amp;quot;Amount&amp;quot; value to 180 (for 180 degrees) and then move the&lt;br /&gt;
timeline indicator to &amp;quot;4s&amp;quot; and the &amp;quot;Amount&amp;quot; value to 359.&lt;br /&gt;
&lt;br /&gt;
Congratulations, you are done!&lt;br /&gt;
&lt;br /&gt;
Here's the Synfig Studio file:&lt;br /&gt;
[[File:Shiny_Effects_Tutorial_1_by_Ceox.sif]]&lt;br /&gt;
&lt;br /&gt;
And here's the final result:&lt;br /&gt;
&lt;br /&gt;
[[File:Shiny-tut_animation.gif]]&lt;br /&gt;
&lt;br /&gt;
Hope this tutorial helped you with something :)&lt;br /&gt;
&lt;br /&gt;
For further questions, contact me at ceoxmusic (at) gmail (dot) com&lt;br /&gt;
&lt;br /&gt;
[http://ceox.urli.net Ceox] |&lt;br /&gt;
[http://personal.inet.fi/musiikki/ceox/synfigtuto1/ HTML version]&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Doc:Troubleshooting_Synfig_on_OSX&amp;diff=23279</id>
		<title>Doc:Troubleshooting Synfig on OSX</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Doc:Troubleshooting_Synfig_on_OSX&amp;diff=23279"/>
				<updated>2018-05-15T16:35:07Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Update instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some users have problems with running Synfig on OSX. If you downloaded our [http://www.synfig.org/cms/en/download/ official DMG package] and it doesn't start then you can troubleshoot the problem by following instructions on this page.&lt;br /&gt;
&lt;br /&gt;
Follow these steps:&lt;br /&gt;
&lt;br /&gt;
# Reboot your Mac.&lt;br /&gt;
# Open DMG package you downloaded and double-click SynfigStudio app to run it (this step is necessary even if nothing happens after that).&lt;br /&gt;
# If it doesn't run and no error message is given, then open terminal window and execute the following command:&lt;br /&gt;
   /tmp/skl/SynfigStudio/Contents/Resources/synfig/bin/synfigstudio&lt;br /&gt;
&lt;br /&gt;
You should get some messages. Please create an issue at [https://github.com/synfig/synfig/issues our bugtracker] and post them there.&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Doc:Walk_Cycle/ru&amp;diff=23275</id>
		<title>Doc:Walk Cycle/ru</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Doc:Walk_Cycle/ru&amp;diff=23275"/>
				<updated>2018-04-07T14:22:40Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: /* Создание цикла ходьбы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Анимация &amp;quot;Шагающего человечка&amp;quot;}}&lt;br /&gt;
{{Category|Tutorials}}&lt;br /&gt;
{{Category|Tutorials Advanced}}&lt;br /&gt;
{{Category|ImportArt}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Файл &amp;quot;Список&amp;quot; (List) ==&lt;br /&gt;
&lt;br /&gt;
Одна из самых не очевидных возможностей Synfig кроется в использовании слоя &amp;quot;Импорт изображения&amp;quot; (Import Image layer). Помимо того что он позволяет просто импортировать основные графические форматы хранения изображений он также может работать с файлом &amp;quot;.lst&amp;quot;. Этот файл &amp;quot;Список&amp;quot; простой текстовый файл хранящий информацию о &amp;quot;Частоте кадров&amp;quot; (framerate) и список файлов с изображениями которые будут использоваться (если частота кадров не будет указана то используется её значение равное 15 FPS (кадров в секунду)).&lt;br /&gt;
&lt;br /&gt;
Вот пример от &amp;quot;Voria Studios&amp;quot;, он содержит 4 неподвижных изображения персонажа в разных стадиях цикла ходьбы. Эта последовательность изображений по сути 4 кадра которые повторяясь создадут идущего персонажа.  &lt;br /&gt;
&lt;br /&gt;
Вот эти изображения&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;104px&amp;quot; heights=&amp;quot;216px&amp;quot;&amp;gt;&lt;br /&gt;
Image:frame_01.jpg|Frame 1&lt;br /&gt;
Image:frame_02.jpg|Frame 2&lt;br /&gt;
Image:frame_03.jpg|Frame 3&lt;br /&gt;
Image:frame_04.jpg|Frame 4&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
А вот начало файла &amp;quot;lst&amp;quot;.  &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
FPS 4&amp;lt;br&amp;gt;&lt;br /&gt;
frame_01.jpg&amp;lt;br&amp;gt;&lt;br /&gt;
frame_02.jpg&amp;lt;br&amp;gt;&lt;br /&gt;
frame_03.jpg&amp;lt;br&amp;gt;&lt;br /&gt;
frame_04.jpg&amp;lt;br&amp;gt;&lt;br /&gt;
frame_01.jpg&amp;lt;br&amp;gt;&lt;br /&gt;
frame_02.jpg&amp;lt;br&amp;gt;&lt;br /&gt;
frame_03.jpg&amp;lt;br&amp;gt;&lt;br /&gt;
frame_04.jpg&amp;lt;br&amp;gt;&lt;br /&gt;
frame_01.jpg&amp;lt;br&amp;gt;&lt;br /&gt;
frame_02.jpg&amp;lt;br&amp;gt;&lt;br /&gt;
frame_03.jpg&amp;lt;br&amp;gt;&lt;br /&gt;
frame_04.jpg&amp;lt;br&amp;gt;&lt;br /&gt;
...&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Создание цикла ходьбы ==&lt;br /&gt;
&lt;br /&gt;
Давайте теперь разберёмся как использовать эти изображения для того чтобы создать законченный цикл ходьбы персонажа в Synfig. &lt;br /&gt;
&lt;br /&gt;
Начните с создания нового холста, со стандартной частотой кадров в 24 FPS. В меню холста выберите Слой &amp;gt; Создать слой &amp;gt; Прочие &amp;gt; Импорт изображения (Caret &amp;gt; Layer, New layer, Other, Import Image).&lt;br /&gt;
&lt;br /&gt;
Теперь у нас есть новый Слой &amp;quot;Импорт изображения&amp;quot;, но он остаётся пустым до тех пор пока не указан путь к файлу для импорта. Найдите строку &amp;quot;Имя Файла&amp;quot; (Filename) на панели параметров и укажите в ней путь к файлу &amp;quot;.lst&amp;quot;.&lt;br /&gt;
Теперь вы должны видеть первое изображение из списка. Продвигаясь вперёд по шкале кадров вы увидите расположенные последовательно изображения из списка на каждом 6 кадре. Вы можете сделать предпросмотр или визуализировать (отрендерить) эту последовательность в нынешнем виде и получите анимацию с низкой кадровой частотой.&lt;br /&gt;
&lt;br /&gt;
Но результат не будет достаточно плавным, а изображения не изменяемы (их можно переместить, вращать и растягивать но детали самого изображения не могут быть изменены). Для создания полностью редактируемого персонажа мы должны его трассировать, то есть продублировать его форму векторными элементами Synfig такими как Blines (Кривые) или Векторный карандаш.  &lt;br /&gt;
&lt;br /&gt;
У меня графический планшет, поэтому для меня больше подойдёт Векторный карандаш {{l|Draw Tool}}. Вернитесь обратно на нулевой кадр, выберите инструмент которым будете трассировать персонаж. Проще всего создать отдельные элементы нескольких областей (Голова, Левая рука, Правая рука, Торс, Левая нога, Правая нога). Дам вам полезный совет, чтобы лучше видеть оригинал во время трассировки отключите слой заливки сняв соответствующий флажок на панели слоёв, это позволит вам видеть изображение внизу и правильней подогнать форму под оригинал с помощью контрольных точек.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{l|Image:Synfig_walk.png|488x192px}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Когда закончите на нулевом кадре, переместитесь по шкале времени на 6 кадр. Вместо того чтоб трассировать в этот раз мы переместим уже имеющиеся элементы так чтобы они совпали с изображением. Снова отключите слой заливки чтобы видеть изображение внизу и можете начинать. Используйте инструмент вращения и инструмент перемещения чтобы подогнать элементы персонажа, с помощью контрольных точек предайте им нужную форму. [Не забудьте перед этим переключиться в &amp;quot;Режим редактирования анимации&amp;quot; (Animate Editing Mode) как это сделать описано в {{L|Doc:Animation Basics}}] &lt;br /&gt;
&lt;br /&gt;
Повторите эти действия на 12 и 18 кадрах, после чего вы можете отключить слой &amp;quot;импорт изображения&amp;quot;(сняв флажок с него на панели слоёв). Теперь, не смотря на то что мы нарисовали только четыре кадра, используя мощь Synfig мы можем отрендерить плавную (24 кадра в секунду) анимацию цикла ходьбы. Добавьте сверху слой &amp;quot;Петля времени&amp;quot; (timeloop layer) с длительностью 1 секунда и персонаж будет шагать на месте на всём протяжении анимации. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{l|Image:walk.gif}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Добавив слой &amp;quot;Перемещение&amp;quot; (Translation layer) вы сможете заставить персонаж двигаться вперёд от одной части холста к другой (или двигаться назад, лунной походкой, если так вам больше нравится)&lt;br /&gt;
&lt;br /&gt;
{{l|media:walk.zip|Вот zip архив}} в котором находится файл (.lst), 4 неподвижных изображения (ключевых кадра), и  готовый файл Synfig. Разархивируйте их в одну папку и откройте newwalk.sif с помощью synfig.&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Template:Advertising&amp;diff=23212</id>
		<title>Template:Advertising</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Template:Advertising&amp;diff=23212"/>
				<updated>2017-05-17T04:46:37Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Tweak advertising block&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq: {{PAGENAME}} | {{BASEPAGENAME}}&lt;br /&gt;
  |&amp;lt;!--then EN --&amp;gt;&lt;br /&gt;
  {{#ifexpr: {{#time: s }} &amp;lt; 15 &lt;br /&gt;
    | {{#widget:AdCourseEn}}&lt;br /&gt;
    | {{#widget:AdSenseBlock}}&lt;br /&gt;
  }}&lt;br /&gt;
  |&amp;lt;!--else--&amp;gt;&lt;br /&gt;
  {{#switch: {{SUBPAGENAME}}&lt;br /&gt;
    | de = {{#widget:AdCourseDe}}&lt;br /&gt;
    | fr = {{#widget:AdCourseFr}}&lt;br /&gt;
    | ru = {{#widget:AdCourseRu}}&lt;br /&gt;
    | {{#widget:AdSenseBlock}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=23208</id>
		<title>Dev:Build Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=23208"/>
				<updated>2017-05-08T09:38:38Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: /* Linux */ Update instructions for version &amp;gt; 1.3.3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Build Instructions}}&lt;br /&gt;
{{Category|Manual}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some information may be outdated, please have a look in the forums at the [http://www.synfig.org/forums/viewforum.php?f=13 build thread] to get fresh data...&lt;br /&gt;
&lt;br /&gt;
== Scripts provided with the source code ==&lt;br /&gt;
&lt;br /&gt;
Within the source code we provide two automatic package scripts. They are used to generate the library independent packages for Linux or Mac OSX. Since the scripts ship all the needed libraries in a single package the size of the packages are higher compared to the typical deb or rpm package. That's not the case for dmg package for OSX because in general they bundle all needed libraries in the dmg image.&lt;br /&gt;
&lt;br /&gt;
You can find those scripts under the ''autobuild'' folder from the source code. There are usage instruction inside each script allowing resuming builds (reusing the current downloaded libraries) and specific options to just compile and build the binaries without package them.&lt;br /&gt;
&lt;br /&gt;
Note that &amp;lt;u&amp;gt;for Fedora 24 (at least), you must define a password for root user&amp;lt;/u&amp;gt; in order to run ''synfigstudio-linux-build.sh'', otherwise su authentication failure will occur.&lt;br /&gt;
If needed add it with ''sudo su -'' then ''passwd''&lt;br /&gt;
&lt;br /&gt;
===Staged boost library===&lt;br /&gt;
To use the autobuild scripts with a staged boost library, you will need to define environment variables:&lt;br /&gt;
  $ export BOOST_ROOT=/my/boost/path&lt;br /&gt;
  $ export CPLUS_INCLUDE_PATH=&amp;quot;$CPLUS_INCLUDE_PATH:$BOOST_ROOT/include&amp;quot;&lt;br /&gt;
  $ export LD_LIBRARY_PATH=&amp;quot;$LD_LIBRARY_PATH:$BOOST_ROOT/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Debug build===&lt;br /&gt;
Consider, that you can run in the following way to enable debug:&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh&lt;br /&gt;
&lt;br /&gt;
In this case you can combine debug with other modes:&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh quick # just invokes &amp;quot;make install&amp;quot; for every component&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh synfig # builds synfig-core only&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh synfigstudio # builds synfig-studio only&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* If you are using the released versions instead of GIT, none of the libtoolize or autoreconf steps are necessary. For released versions, &amp;quot;./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&amp;quot; should be enough.&lt;br /&gt;
&lt;br /&gt;
* If you are using packages for synfig's dependencies, you want the '''development packages''' not the main packages. Check below for your distribution's packages.&lt;br /&gt;
&lt;br /&gt;
* Please read the {{l|Dev:Source code|source code}} page to check out the latest code. Please also check the {{l|Download|download page}} and the {{l|FAQ}} to find out about any issues that you may run into along the way.&lt;br /&gt;
&lt;br /&gt;
* Some Linux/BSD distros (Like Gentoo Linux) have a pkg-config that doesn't look in /usr/local/lib/pkgconfig by default. So if you are installing in anywhere other than the system pkg-config path, please run &amp;quot;export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig&amp;quot; or similar before building or installing anything.&lt;br /&gt;
&lt;br /&gt;
* Don't use automake 1.4, there are problems with it.&lt;br /&gt;
&lt;br /&gt;
* Using automake 1.9, 'make install' seems to re-link and re-install all the synfig core modules every time whether they have changed or not. If you intend to build code repetitively you can export export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;. This allows to not rebuild the already build modules so they taken from the cache.&lt;br /&gt;
&lt;br /&gt;
* After you obtain the source code using the git repository, you obtain a single 'synfig' folder where the three main modules (etl, synfig-core and synfig-studio) are up to date. '''The trunk folder has been removed in the git tree'''. Please modify the build instructions for other platforms.&lt;br /&gt;
&lt;br /&gt;
* If you want to test a particular branch of the repository do the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/synfig$ git branch -r &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You'll obtain a list of the remote branches that exists in the repo. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  origin/HEAD&lt;br /&gt;
  origin/genete_bones&lt;br /&gt;
  origin/genete_canvasview&lt;br /&gt;
  origin/genete_master&lt;br /&gt;
  origin/genete_onionskin&lt;br /&gt;
  origin/genete_scale_reverse&lt;br /&gt;
  origin/genete_setup_dialog&lt;br /&gt;
  origin/genete_svg&lt;br /&gt;
  origin/gerco_opengl&lt;br /&gt;
  origin/master&lt;br /&gt;
  origin/uiomae_opengl&lt;br /&gt;
  origin/zelgadis_cia&lt;br /&gt;
  origin/zelgadis_master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then to properly checkout a remote branch you have to create a local branch to track a particular remote branch and checkout it. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/synfig$ git branch --track test_canvas origin/genete_canvasview&lt;br /&gt;
~/synfig$ git checkout test_canvas&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your code is ready to be built on that branch.&lt;br /&gt;
&lt;br /&gt;
* The CVS requirement is only because the autopoint program run by autoreconf needs CVS. You can avoid the need for CVS by disabling the translation/gettext stuff in configure.ac.&lt;br /&gt;
&lt;br /&gt;
* If you don't want to install to a system-wide directory using sudo, run something like these commands before starting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot; allows to find the linking libraries.&lt;br /&gt;
** export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH allows synfigstudio find the correct * libraries to render the icons for the toolbox etc.&lt;br /&gt;
** export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot; allows to use the cache to avoid rebuilding.&lt;br /&gt;
&lt;br /&gt;
And when you run ./configure, run it with &amp;lt;pre&amp;gt;--prefix $prefix&amp;lt;/pre&amp;gt; and don't use sudo when you do make install.&lt;br /&gt;
&lt;br /&gt;
* See the automatic building script attached.&lt;br /&gt;
&lt;br /&gt;
== System-specific instructions ==&lt;br /&gt;
 Please update them including the new GIT repo.&lt;br /&gt;
&lt;br /&gt;
* Gentoo: {{l|Dev:Gentoo Ebuilds|ebuilds}} are available for both release versions and GIT&lt;br /&gt;
* MacOS X: {{l|Dev:Building_On_Mac_OS_X|instructions for building}} with the GTK+ Aqua port are available.&lt;br /&gt;
* PCLinuxOS: {{l|Dev:PCLinuxOS build instructions|build instructions}}&lt;br /&gt;
* Windows: {{l|Dev:Building on Windows|instructions for building}} with {{l|Dev:Mingw_installation|mingw}} in {{l|Dev:MSYS2_Build|MSYS2}} are available.&lt;br /&gt;
&lt;br /&gt;
==System wide build Instructions==&lt;br /&gt;
&lt;br /&gt;
=== ETL ===&lt;br /&gt;
&lt;br /&gt;
ETL is a template library, there is nothing to build really, it just needs to be installed.&lt;br /&gt;
&lt;br /&gt;
'''Requires''': autoconf automake&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: build-essential autoconf automake libtool&lt;br /&gt;
* OS X:  already included with Mac OS X&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/ETL&lt;br /&gt;
$ autoreconf --install --force&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== synfig-core ===&lt;br /&gt;
&lt;br /&gt;
'''Requires''': ETL (etl-dev, already installed if you successfully built etl), libxml++, libsigc++, libltdl, libtool, gettext, autopoint (part of gettext-dev), cvs, boost-program-options&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libxml++2.6-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs autopoint&lt;br /&gt;
* Fedora: ETL-devel libxml++-devel libsigc++20-devel libtool-ltdl-devel libtool gettext-devel cvs&lt;br /&gt;
* Gentoo: dev-cpp/ETL dev-cpp/libxmlpp dev-libs/libsigc++ dev-util/cvs&lt;br /&gt;
** If you are using ./configure --prefix=&amp;quot;$PREFIX&amp;quot; to configure synfig, do not install dev-cpp/ETL.&lt;br /&gt;
*OS X use glibtoolize instead of libtoolize, as Apple renamed it.&lt;br /&gt;
&lt;br /&gt;
'''Note''': libpng isn't required to build synfig, but if you build synfig without PNG support and go on to build synfigstudio, that step will fail (because the build process for synfigstudio uses synfig to create .png icon files).  The package is  libpng12-dev on Debian or media-libs/libpng on Gentoo.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the 'configure.ac' file in the synfig-core directory doesn't work with libtool version 2, as shipped with ubuntu 8.10.  To work around the problem until a proper fix is found, comment out line 622 or thereabouts (it says &amp;quot;AC_CONFIG_SUBDIRS(libltdl)&amp;quot;) by putting a &amp;quot;#&amp;quot; at the front of the line.  The line is required for older versions of libtool, as shipped with other distributions. DO it straight with this command:&lt;br /&gt;
&amp;lt;pre&amp;gt; sed -i 's/^AC_CONFIG_SUBDIRS/# AC_CONFIG_SUBDIRS/' synfig-core/configure.ac &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Optional''': libpng, libmng, libjpeg, libfreetype, libfontconfig, libopenexr, libavcodec, libmagick++, vimage (MacOS only, proprietary)&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: libpng12-dev libmng-dev libjpeg62-dev libfreetype6-dev libfontconfig1-dev libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libmagick++9-dev&lt;br /&gt;
* Gentoo: sys-devel/libtool media-libs/libpng media-libs/libmng media-libs/jpeg media-libs/freetype media-libs/fontconfig media-libs/openexr media-libs/tiff&lt;br /&gt;
*Ubuntu (since Jaunty): Same libraries as Debian but do not use libmagick++9-dev, use graphicsmagick-libmagick-dev-compat instead. &lt;br /&gt;
&lt;br /&gt;
'''Runtime''': encodedv (from libdv), ffmpeg, convert (from imagemagick)&lt;br /&gt;
* Debian: libdv-bin ffmpeg imagemagick&lt;br /&gt;
* Gentoo: media-libs/libdv media-video/ffmpeg media-gfx/imagemagick&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/synfig-core&lt;br /&gt;
$ ./bootstrap.sh&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
* Don't use --enable-half, it is slow.&lt;br /&gt;
* If ETL was installed in a non-standard directory using --prefix=&amp;lt;location&amp;gt;, it suffices to run the configure script with an updated PKG_CONFIG_PATH environment variable. E.g.:&amp;lt;br&amp;gt;PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/my/install/prefix/lib/pkgconfig ./configure --prefix=/my/install/prefix&lt;br /&gt;
&lt;br /&gt;
=== synfig-studio ===&lt;br /&gt;
&lt;br /&gt;
''Requires'': ETL (etl-dev, already installed if you successfully built etl), synfig (libsynfig-dev, already installed if you successfully built synfig-core), gtkmm &amp;gt;= 2.4, gtk &amp;gt;= 2.0, glibmm, libsigc++, libltdl, libtool, gettext, cvs, intltool, libboost &amp;gt;= 1.53, libcairo &amp;gt;= 1.12&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libsynfig-dev libgtkmm-2.4-dev libgtk2.0-dev libglibmm-2.4-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs&lt;br /&gt;
* Gentoo: virtual/ETL virtual/synfig dev-cpp/gtkmm-2.4 dev-libs/libsigc++ sys-devel/libtool&lt;br /&gt;
** If you are using ./configure --prefix=&amp;quot;$PREFIX&amp;quot; to configure synfigstudio, do not install virtual/ETL or virtual/synfig.&lt;br /&gt;
''Optional'': fonts (for the images), [http://www.fmod.org FMOD] (version 3.x, proprietary)&lt;br /&gt;
* Debian: ttf-freefont ttf-dejavu ttf-dustin&lt;br /&gt;
* Gentoo: freefonts dejavu&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/synfig-studio&lt;br /&gt;
$ ./bootstrap.sh&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
== synfig-docs ==&lt;br /&gt;
&lt;br /&gt;
(This step isn't required to run synfig or synfigstudio, and the documents it gets you are really quite out of date)&lt;br /&gt;
&lt;br /&gt;
This is basically a copy of what is on this wiki.&lt;br /&gt;
&lt;br /&gt;
Requires: sgml processor, ldp docbook stylesheets, db2ps, db2pdf&lt;br /&gt;
* Debian: openjade ldp-docbook-dsssl docbook-utils&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make multiple-html&lt;br /&gt;
make ps&lt;br /&gt;
make pdf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== finalizing ==&lt;br /&gt;
&lt;br /&gt;
Depending on where you installed synfig to, you might have to tell your system where the libraries can be found.  That can be done via the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo ldconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build script examples ==&lt;br /&gt;
&lt;br /&gt;
If you want to build a binary for testing or debugging proposes you can run one of the following scripts:&lt;br /&gt;
&lt;br /&gt;
The binaries are installed at $(pwd)/install/bin. Alter the script according to your preferences.&lt;br /&gt;
&lt;br /&gt;
Your system must satisfy synfig's build requirements, the script won't do it for you. Also be sure what git branch are you building each time. In some cases you'll need to make clean on each folder first.&lt;br /&gt;
&lt;br /&gt;
Be sure that '''you have ccache installed''' on your system because you will get errors otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
CPUS=4&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
# Uncomment this line if you want to use ccache&lt;br /&gt;
# export CXX=&amp;quot;/usr/bin/ccache g++-snapshot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix						&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b install							&amp;amp;&amp;amp;&lt;br /&gt;
									\&lt;br /&gt;
cd ../synfig-core							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh                   					&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install					        &amp;amp;&amp;amp;&lt;br /&gt;
     	  								\&lt;br /&gt;
cd ../synfig-studio							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With libboost no standard installation to /personal/boost/install/path/ :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#move to synfig folder (to get the script out from git)&lt;br /&gt;
cd synfig&lt;br /&gt;
CPUS=2&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix 						&amp;amp;&amp;amp;&lt;br /&gt;
make install 								&amp;amp;&amp;amp;&lt;br /&gt;
 									\&lt;br /&gt;
cd ../synfig-core 							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh                   					&amp;amp;&amp;amp;&lt;br /&gt;
./configure --with-boost=/personal/boost/install/path/boost_1_55_0 --enable-optimization=0 --prefix $prefix --enable-debug &amp;amp;&amp;amp;&lt;br /&gt;
make -j $CPUS install 							&amp;amp;&amp;amp;&lt;br /&gt;
 									\&lt;br /&gt;
cd ../synfig-studio 							&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force 						&amp;amp;&amp;amp;&lt;br /&gt;
intltoolize --force --copy 						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --enable-optimization=0 --prefix $prefix --enable-debug 	&amp;amp;&amp;amp;&lt;br /&gt;
make -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OSX ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
CPUS=4&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export ACLOCAL_FLAGS=&amp;quot;-I $prefix/share/aclocal&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
# Uncomment those line if you want to use g++ instead of the native clang &lt;br /&gt;
# compiler and preprocessor&lt;br /&gt;
#export CXX=&amp;quot;/opt/local/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
#export CPP=&amp;quot;/usr/bin/cpp&amp;quot;&lt;br /&gt;
export CPPFLAGS=&amp;quot;-I/opt/local/include&amp;quot;&lt;br /&gt;
export LDFLAGS=&amp;quot;-L/opt/local/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix						&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b install							&amp;amp;&amp;amp;&lt;br /&gt;
									\&lt;br /&gt;
cd ../synfig-core							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh                  					&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install					        &amp;amp;&amp;amp;&lt;br /&gt;
     	  								\&lt;br /&gt;
cd ../synfig-studio							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=23207</id>
		<title>Dev:Build Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=23207"/>
				<updated>2017-05-08T09:38:10Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: /* synfig-core */ Update instructions for version &amp;gt; 1.3.3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Build Instructions}}&lt;br /&gt;
{{Category|Manual}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some information may be outdated, please have a look in the forums at the [http://www.synfig.org/forums/viewforum.php?f=13 build thread] to get fresh data...&lt;br /&gt;
&lt;br /&gt;
== Scripts provided with the source code ==&lt;br /&gt;
&lt;br /&gt;
Within the source code we provide two automatic package scripts. They are used to generate the library independent packages for Linux or Mac OSX. Since the scripts ship all the needed libraries in a single package the size of the packages are higher compared to the typical deb or rpm package. That's not the case for dmg package for OSX because in general they bundle all needed libraries in the dmg image.&lt;br /&gt;
&lt;br /&gt;
You can find those scripts under the ''autobuild'' folder from the source code. There are usage instruction inside each script allowing resuming builds (reusing the current downloaded libraries) and specific options to just compile and build the binaries without package them.&lt;br /&gt;
&lt;br /&gt;
Note that &amp;lt;u&amp;gt;for Fedora 24 (at least), you must define a password for root user&amp;lt;/u&amp;gt; in order to run ''synfigstudio-linux-build.sh'', otherwise su authentication failure will occur.&lt;br /&gt;
If needed add it with ''sudo su -'' then ''passwd''&lt;br /&gt;
&lt;br /&gt;
===Staged boost library===&lt;br /&gt;
To use the autobuild scripts with a staged boost library, you will need to define environment variables:&lt;br /&gt;
  $ export BOOST_ROOT=/my/boost/path&lt;br /&gt;
  $ export CPLUS_INCLUDE_PATH=&amp;quot;$CPLUS_INCLUDE_PATH:$BOOST_ROOT/include&amp;quot;&lt;br /&gt;
  $ export LD_LIBRARY_PATH=&amp;quot;$LD_LIBRARY_PATH:$BOOST_ROOT/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Debug build===&lt;br /&gt;
Consider, that you can run in the following way to enable debug:&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh&lt;br /&gt;
&lt;br /&gt;
In this case you can combine debug with other modes:&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh quick # just invokes &amp;quot;make install&amp;quot; for every component&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh synfig # builds synfig-core only&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh synfigstudio # builds synfig-studio only&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* If you are using the released versions instead of GIT, none of the libtoolize or autoreconf steps are necessary. For released versions, &amp;quot;./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&amp;quot; should be enough.&lt;br /&gt;
&lt;br /&gt;
* If you are using packages for synfig's dependencies, you want the '''development packages''' not the main packages. Check below for your distribution's packages.&lt;br /&gt;
&lt;br /&gt;
* Please read the {{l|Dev:Source code|source code}} page to check out the latest code. Please also check the {{l|Download|download page}} and the {{l|FAQ}} to find out about any issues that you may run into along the way.&lt;br /&gt;
&lt;br /&gt;
* Some Linux/BSD distros (Like Gentoo Linux) have a pkg-config that doesn't look in /usr/local/lib/pkgconfig by default. So if you are installing in anywhere other than the system pkg-config path, please run &amp;quot;export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig&amp;quot; or similar before building or installing anything.&lt;br /&gt;
&lt;br /&gt;
* Don't use automake 1.4, there are problems with it.&lt;br /&gt;
&lt;br /&gt;
* Using automake 1.9, 'make install' seems to re-link and re-install all the synfig core modules every time whether they have changed or not. If you intend to build code repetitively you can export export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;. This allows to not rebuild the already build modules so they taken from the cache.&lt;br /&gt;
&lt;br /&gt;
* After you obtain the source code using the git repository, you obtain a single 'synfig' folder where the three main modules (etl, synfig-core and synfig-studio) are up to date. '''The trunk folder has been removed in the git tree'''. Please modify the build instructions for other platforms.&lt;br /&gt;
&lt;br /&gt;
* If you want to test a particular branch of the repository do the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/synfig$ git branch -r &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You'll obtain a list of the remote branches that exists in the repo. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  origin/HEAD&lt;br /&gt;
  origin/genete_bones&lt;br /&gt;
  origin/genete_canvasview&lt;br /&gt;
  origin/genete_master&lt;br /&gt;
  origin/genete_onionskin&lt;br /&gt;
  origin/genete_scale_reverse&lt;br /&gt;
  origin/genete_setup_dialog&lt;br /&gt;
  origin/genete_svg&lt;br /&gt;
  origin/gerco_opengl&lt;br /&gt;
  origin/master&lt;br /&gt;
  origin/uiomae_opengl&lt;br /&gt;
  origin/zelgadis_cia&lt;br /&gt;
  origin/zelgadis_master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then to properly checkout a remote branch you have to create a local branch to track a particular remote branch and checkout it. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/synfig$ git branch --track test_canvas origin/genete_canvasview&lt;br /&gt;
~/synfig$ git checkout test_canvas&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your code is ready to be built on that branch.&lt;br /&gt;
&lt;br /&gt;
* The CVS requirement is only because the autopoint program run by autoreconf needs CVS. You can avoid the need for CVS by disabling the translation/gettext stuff in configure.ac.&lt;br /&gt;
&lt;br /&gt;
* If you don't want to install to a system-wide directory using sudo, run something like these commands before starting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot; allows to find the linking libraries.&lt;br /&gt;
** export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH allows synfigstudio find the correct * libraries to render the icons for the toolbox etc.&lt;br /&gt;
** export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot; allows to use the cache to avoid rebuilding.&lt;br /&gt;
&lt;br /&gt;
And when you run ./configure, run it with &amp;lt;pre&amp;gt;--prefix $prefix&amp;lt;/pre&amp;gt; and don't use sudo when you do make install.&lt;br /&gt;
&lt;br /&gt;
* See the automatic building script attached.&lt;br /&gt;
&lt;br /&gt;
== System-specific instructions ==&lt;br /&gt;
 Please update them including the new GIT repo.&lt;br /&gt;
&lt;br /&gt;
* Gentoo: {{l|Dev:Gentoo Ebuilds|ebuilds}} are available for both release versions and GIT&lt;br /&gt;
* MacOS X: {{l|Dev:Building_On_Mac_OS_X|instructions for building}} with the GTK+ Aqua port are available.&lt;br /&gt;
* PCLinuxOS: {{l|Dev:PCLinuxOS build instructions|build instructions}}&lt;br /&gt;
* Windows: {{l|Dev:Building on Windows|instructions for building}} with {{l|Dev:Mingw_installation|mingw}} in {{l|Dev:MSYS2_Build|MSYS2}} are available.&lt;br /&gt;
&lt;br /&gt;
==System wide build Instructions==&lt;br /&gt;
&lt;br /&gt;
=== ETL ===&lt;br /&gt;
&lt;br /&gt;
ETL is a template library, there is nothing to build really, it just needs to be installed.&lt;br /&gt;
&lt;br /&gt;
'''Requires''': autoconf automake&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: build-essential autoconf automake libtool&lt;br /&gt;
* OS X:  already included with Mac OS X&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/ETL&lt;br /&gt;
$ autoreconf --install --force&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== synfig-core ===&lt;br /&gt;
&lt;br /&gt;
'''Requires''': ETL (etl-dev, already installed if you successfully built etl), libxml++, libsigc++, libltdl, libtool, gettext, autopoint (part of gettext-dev), cvs, boost-program-options&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libxml++2.6-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs autopoint&lt;br /&gt;
* Fedora: ETL-devel libxml++-devel libsigc++20-devel libtool-ltdl-devel libtool gettext-devel cvs&lt;br /&gt;
* Gentoo: dev-cpp/ETL dev-cpp/libxmlpp dev-libs/libsigc++ dev-util/cvs&lt;br /&gt;
** If you are using ./configure --prefix=&amp;quot;$PREFIX&amp;quot; to configure synfig, do not install dev-cpp/ETL.&lt;br /&gt;
*OS X use glibtoolize instead of libtoolize, as Apple renamed it.&lt;br /&gt;
&lt;br /&gt;
'''Note''': libpng isn't required to build synfig, but if you build synfig without PNG support and go on to build synfigstudio, that step will fail (because the build process for synfigstudio uses synfig to create .png icon files).  The package is  libpng12-dev on Debian or media-libs/libpng on Gentoo.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the 'configure.ac' file in the synfig-core directory doesn't work with libtool version 2, as shipped with ubuntu 8.10.  To work around the problem until a proper fix is found, comment out line 622 or thereabouts (it says &amp;quot;AC_CONFIG_SUBDIRS(libltdl)&amp;quot;) by putting a &amp;quot;#&amp;quot; at the front of the line.  The line is required for older versions of libtool, as shipped with other distributions. DO it straight with this command:&lt;br /&gt;
&amp;lt;pre&amp;gt; sed -i 's/^AC_CONFIG_SUBDIRS/# AC_CONFIG_SUBDIRS/' synfig-core/configure.ac &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Optional''': libpng, libmng, libjpeg, libfreetype, libfontconfig, libopenexr, libavcodec, libmagick++, vimage (MacOS only, proprietary)&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: libpng12-dev libmng-dev libjpeg62-dev libfreetype6-dev libfontconfig1-dev libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libmagick++9-dev&lt;br /&gt;
* Gentoo: sys-devel/libtool media-libs/libpng media-libs/libmng media-libs/jpeg media-libs/freetype media-libs/fontconfig media-libs/openexr media-libs/tiff&lt;br /&gt;
*Ubuntu (since Jaunty): Same libraries as Debian but do not use libmagick++9-dev, use graphicsmagick-libmagick-dev-compat instead. &lt;br /&gt;
&lt;br /&gt;
'''Runtime''': encodedv (from libdv), ffmpeg, convert (from imagemagick)&lt;br /&gt;
* Debian: libdv-bin ffmpeg imagemagick&lt;br /&gt;
* Gentoo: media-libs/libdv media-video/ffmpeg media-gfx/imagemagick&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/synfig-core&lt;br /&gt;
$ ./bootstrap.sh&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
* Don't use --enable-half, it is slow.&lt;br /&gt;
* If ETL was installed in a non-standard directory using --prefix=&amp;lt;location&amp;gt;, it suffices to run the configure script with an updated PKG_CONFIG_PATH environment variable. E.g.:&amp;lt;br&amp;gt;PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/my/install/prefix/lib/pkgconfig ./configure --prefix=/my/install/prefix&lt;br /&gt;
&lt;br /&gt;
=== synfig-studio ===&lt;br /&gt;
&lt;br /&gt;
''Requires'': ETL (etl-dev, already installed if you successfully built etl), synfig (libsynfig-dev, already installed if you successfully built synfig-core), gtkmm &amp;gt;= 2.4, gtk &amp;gt;= 2.0, glibmm, libsigc++, libltdl, libtool, gettext, cvs, intltool, libboost &amp;gt;= 1.53, libcairo &amp;gt;= 1.12&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libsynfig-dev libgtkmm-2.4-dev libgtk2.0-dev libglibmm-2.4-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs&lt;br /&gt;
* Gentoo: virtual/ETL virtual/synfig dev-cpp/gtkmm-2.4 dev-libs/libsigc++ sys-devel/libtool&lt;br /&gt;
** If you are using ./configure --prefix=&amp;quot;$PREFIX&amp;quot; to configure synfigstudio, do not install virtual/ETL or virtual/synfig.&lt;br /&gt;
''Optional'': fonts (for the images), [http://www.fmod.org FMOD] (version 3.x, proprietary)&lt;br /&gt;
* Debian: ttf-freefont ttf-dejavu ttf-dustin&lt;br /&gt;
* Gentoo: freefonts dejavu&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/synfig-studio&lt;br /&gt;
$ ./bootstrap.sh&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
== synfig-docs ==&lt;br /&gt;
&lt;br /&gt;
(This step isn't required to run synfig or synfigstudio, and the documents it gets you are really quite out of date)&lt;br /&gt;
&lt;br /&gt;
This is basically a copy of what is on this wiki.&lt;br /&gt;
&lt;br /&gt;
Requires: sgml processor, ldp docbook stylesheets, db2ps, db2pdf&lt;br /&gt;
* Debian: openjade ldp-docbook-dsssl docbook-utils&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make multiple-html&lt;br /&gt;
make ps&lt;br /&gt;
make pdf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== finalizing ==&lt;br /&gt;
&lt;br /&gt;
Depending on where you installed synfig to, you might have to tell your system where the libraries can be found.  That can be done via the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo ldconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build script examples ==&lt;br /&gt;
&lt;br /&gt;
If you want to build a binary for testing or debugging proposes you can run one of the following scripts:&lt;br /&gt;
&lt;br /&gt;
The binaries are installed at $(pwd)/install/bin. Alter the script according to your preferences.&lt;br /&gt;
&lt;br /&gt;
Your system must satisfy synfig's build requirements, the script won't do it for you. Also be sure what git branch are you building each time. In some cases you'll need to make clean on each folder first.&lt;br /&gt;
&lt;br /&gt;
Be sure that '''you have ccache installed''' on your system because you will get errors otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
CPUS=4&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
# Uncomment this line if you want to use ccache&lt;br /&gt;
# export CXX=&amp;quot;/usr/bin/ccache g++-snapshot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix						&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b install							&amp;amp;&amp;amp;&lt;br /&gt;
									\&lt;br /&gt;
cd ../synfig-core							&amp;amp;&amp;amp;&lt;br /&gt;
libtoolize --copy --force		 	                	&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install					        &amp;amp;&amp;amp;&lt;br /&gt;
     	  								\&lt;br /&gt;
cd ../synfig-studio							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With libboost no standard installation to /personal/boost/install/path/ :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#move to synfig folder (to get the script out from git)&lt;br /&gt;
cd synfig&lt;br /&gt;
CPUS=2&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix 						&amp;amp;&amp;amp;&lt;br /&gt;
make install 								&amp;amp;&amp;amp;&lt;br /&gt;
 									\&lt;br /&gt;
cd ../synfig-core 							&amp;amp;&amp;amp;&lt;br /&gt;
libtoolize --ltdl --copy --force 					&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force 						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --with-boost=/personal/boost/install/path/boost_1_55_0 --enable-optimization=0 --prefix $prefix --enable-debug &amp;amp;&amp;amp;&lt;br /&gt;
make -j $CPUS install 							&amp;amp;&amp;amp;&lt;br /&gt;
 									\&lt;br /&gt;
cd ../synfig-studio 							&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force 						&amp;amp;&amp;amp;&lt;br /&gt;
intltoolize --force --copy 						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --enable-optimization=0 --prefix $prefix --enable-debug 	&amp;amp;&amp;amp;&lt;br /&gt;
make -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OSX ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
CPUS=4&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export ACLOCAL_FLAGS=&amp;quot;-I $prefix/share/aclocal&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
# Uncomment those line if you want to use g++ instead of the native clang &lt;br /&gt;
# compiler and preprocessor&lt;br /&gt;
#export CXX=&amp;quot;/opt/local/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
#export CPP=&amp;quot;/usr/bin/cpp&amp;quot;&lt;br /&gt;
export CPPFLAGS=&amp;quot;-I/opt/local/include&amp;quot;&lt;br /&gt;
export LDFLAGS=&amp;quot;-L/opt/local/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix						&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b install							&amp;amp;&amp;amp;&lt;br /&gt;
									\&lt;br /&gt;
cd ../synfig-core							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh                  					&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install					        &amp;amp;&amp;amp;&lt;br /&gt;
     	  								\&lt;br /&gt;
cd ../synfig-studio							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=23206</id>
		<title>Dev:Build Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=23206"/>
				<updated>2017-05-08T09:37:20Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: /* Mac OSX */ Update instructions for version &amp;gt; 1.3.3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Build Instructions}}&lt;br /&gt;
{{Category|Manual}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some information may be outdated, please have a look in the forums at the [http://www.synfig.org/forums/viewforum.php?f=13 build thread] to get fresh data...&lt;br /&gt;
&lt;br /&gt;
== Scripts provided with the source code ==&lt;br /&gt;
&lt;br /&gt;
Within the source code we provide two automatic package scripts. They are used to generate the library independent packages for Linux or Mac OSX. Since the scripts ship all the needed libraries in a single package the size of the packages are higher compared to the typical deb or rpm package. That's not the case for dmg package for OSX because in general they bundle all needed libraries in the dmg image.&lt;br /&gt;
&lt;br /&gt;
You can find those scripts under the ''autobuild'' folder from the source code. There are usage instruction inside each script allowing resuming builds (reusing the current downloaded libraries) and specific options to just compile and build the binaries without package them.&lt;br /&gt;
&lt;br /&gt;
Note that &amp;lt;u&amp;gt;for Fedora 24 (at least), you must define a password for root user&amp;lt;/u&amp;gt; in order to run ''synfigstudio-linux-build.sh'', otherwise su authentication failure will occur.&lt;br /&gt;
If needed add it with ''sudo su -'' then ''passwd''&lt;br /&gt;
&lt;br /&gt;
===Staged boost library===&lt;br /&gt;
To use the autobuild scripts with a staged boost library, you will need to define environment variables:&lt;br /&gt;
  $ export BOOST_ROOT=/my/boost/path&lt;br /&gt;
  $ export CPLUS_INCLUDE_PATH=&amp;quot;$CPLUS_INCLUDE_PATH:$BOOST_ROOT/include&amp;quot;&lt;br /&gt;
  $ export LD_LIBRARY_PATH=&amp;quot;$LD_LIBRARY_PATH:$BOOST_ROOT/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Debug build===&lt;br /&gt;
Consider, that you can run in the following way to enable debug:&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh&lt;br /&gt;
&lt;br /&gt;
In this case you can combine debug with other modes:&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh quick # just invokes &amp;quot;make install&amp;quot; for every component&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh synfig # builds synfig-core only&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh synfigstudio # builds synfig-studio only&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* If you are using the released versions instead of GIT, none of the libtoolize or autoreconf steps are necessary. For released versions, &amp;quot;./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&amp;quot; should be enough.&lt;br /&gt;
&lt;br /&gt;
* If you are using packages for synfig's dependencies, you want the '''development packages''' not the main packages. Check below for your distribution's packages.&lt;br /&gt;
&lt;br /&gt;
* Please read the {{l|Dev:Source code|source code}} page to check out the latest code. Please also check the {{l|Download|download page}} and the {{l|FAQ}} to find out about any issues that you may run into along the way.&lt;br /&gt;
&lt;br /&gt;
* Some Linux/BSD distros (Like Gentoo Linux) have a pkg-config that doesn't look in /usr/local/lib/pkgconfig by default. So if you are installing in anywhere other than the system pkg-config path, please run &amp;quot;export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig&amp;quot; or similar before building or installing anything.&lt;br /&gt;
&lt;br /&gt;
* Don't use automake 1.4, there are problems with it.&lt;br /&gt;
&lt;br /&gt;
* Using automake 1.9, 'make install' seems to re-link and re-install all the synfig core modules every time whether they have changed or not. If you intend to build code repetitively you can export export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;. This allows to not rebuild the already build modules so they taken from the cache.&lt;br /&gt;
&lt;br /&gt;
* After you obtain the source code using the git repository, you obtain a single 'synfig' folder where the three main modules (etl, synfig-core and synfig-studio) are up to date. '''The trunk folder has been removed in the git tree'''. Please modify the build instructions for other platforms.&lt;br /&gt;
&lt;br /&gt;
* If you want to test a particular branch of the repository do the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/synfig$ git branch -r &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You'll obtain a list of the remote branches that exists in the repo. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  origin/HEAD&lt;br /&gt;
  origin/genete_bones&lt;br /&gt;
  origin/genete_canvasview&lt;br /&gt;
  origin/genete_master&lt;br /&gt;
  origin/genete_onionskin&lt;br /&gt;
  origin/genete_scale_reverse&lt;br /&gt;
  origin/genete_setup_dialog&lt;br /&gt;
  origin/genete_svg&lt;br /&gt;
  origin/gerco_opengl&lt;br /&gt;
  origin/master&lt;br /&gt;
  origin/uiomae_opengl&lt;br /&gt;
  origin/zelgadis_cia&lt;br /&gt;
  origin/zelgadis_master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then to properly checkout a remote branch you have to create a local branch to track a particular remote branch and checkout it. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/synfig$ git branch --track test_canvas origin/genete_canvasview&lt;br /&gt;
~/synfig$ git checkout test_canvas&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your code is ready to be built on that branch.&lt;br /&gt;
&lt;br /&gt;
* The CVS requirement is only because the autopoint program run by autoreconf needs CVS. You can avoid the need for CVS by disabling the translation/gettext stuff in configure.ac.&lt;br /&gt;
&lt;br /&gt;
* If you don't want to install to a system-wide directory using sudo, run something like these commands before starting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot; allows to find the linking libraries.&lt;br /&gt;
** export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH allows synfigstudio find the correct * libraries to render the icons for the toolbox etc.&lt;br /&gt;
** export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot; allows to use the cache to avoid rebuilding.&lt;br /&gt;
&lt;br /&gt;
And when you run ./configure, run it with &amp;lt;pre&amp;gt;--prefix $prefix&amp;lt;/pre&amp;gt; and don't use sudo when you do make install.&lt;br /&gt;
&lt;br /&gt;
* See the automatic building script attached.&lt;br /&gt;
&lt;br /&gt;
== System-specific instructions ==&lt;br /&gt;
 Please update them including the new GIT repo.&lt;br /&gt;
&lt;br /&gt;
* Gentoo: {{l|Dev:Gentoo Ebuilds|ebuilds}} are available for both release versions and GIT&lt;br /&gt;
* MacOS X: {{l|Dev:Building_On_Mac_OS_X|instructions for building}} with the GTK+ Aqua port are available.&lt;br /&gt;
* PCLinuxOS: {{l|Dev:PCLinuxOS build instructions|build instructions}}&lt;br /&gt;
* Windows: {{l|Dev:Building on Windows|instructions for building}} with {{l|Dev:Mingw_installation|mingw}} in {{l|Dev:MSYS2_Build|MSYS2}} are available.&lt;br /&gt;
&lt;br /&gt;
==System wide build Instructions==&lt;br /&gt;
&lt;br /&gt;
=== ETL ===&lt;br /&gt;
&lt;br /&gt;
ETL is a template library, there is nothing to build really, it just needs to be installed.&lt;br /&gt;
&lt;br /&gt;
'''Requires''': autoconf automake&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: build-essential autoconf automake libtool&lt;br /&gt;
* OS X:  already included with Mac OS X&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/ETL&lt;br /&gt;
$ autoreconf --install --force&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== synfig-core ===&lt;br /&gt;
&lt;br /&gt;
'''Requires''': ETL (etl-dev, already installed if you successfully built etl), libxml++, libsigc++, libltdl, libtool, gettext, autopoint (part of gettext-dev), cvs, boost-program-options&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libxml++2.6-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs autopoint&lt;br /&gt;
* Fedora: ETL-devel libxml++-devel libsigc++20-devel libtool-ltdl-devel libtool gettext-devel cvs&lt;br /&gt;
* Gentoo: dev-cpp/ETL dev-cpp/libxmlpp dev-libs/libsigc++ dev-util/cvs&lt;br /&gt;
** If you are using ./configure --prefix=&amp;quot;$PREFIX&amp;quot; to configure synfig, do not install dev-cpp/ETL.&lt;br /&gt;
*OS X use glibtoolize instead of libtoolize, as Apple renamed it.&lt;br /&gt;
&lt;br /&gt;
'''Note''': libpng isn't required to build synfig, but if you build synfig without PNG support and go on to build synfigstudio, that step will fail (because the build process for synfigstudio uses synfig to create .png icon files).  The package is  libpng12-dev on Debian or media-libs/libpng on Gentoo.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the 'configure.ac' file in the synfig-core directory doesn't work with libtool version 2, as shipped with ubuntu 8.10.  To work around the problem until a proper fix is found, comment out line 622 or thereabouts (it says &amp;quot;AC_CONFIG_SUBDIRS(libltdl)&amp;quot;) by putting a &amp;quot;#&amp;quot; at the front of the line.  The line is required for older versions of libtool, as shipped with other distributions. DO it straight with this command:&lt;br /&gt;
&amp;lt;pre&amp;gt; sed -i 's/^AC_CONFIG_SUBDIRS/# AC_CONFIG_SUBDIRS/' synfig-core/configure.ac &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Optional''': libpng, libmng, libjpeg, libfreetype, libfontconfig, libopenexr, libavcodec, libmagick++, vimage (MacOS only, proprietary)&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: libpng12-dev libmng-dev libjpeg62-dev libfreetype6-dev libfontconfig1-dev libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libmagick++9-dev&lt;br /&gt;
* Gentoo: sys-devel/libtool media-libs/libpng media-libs/libmng media-libs/jpeg media-libs/freetype media-libs/fontconfig media-libs/openexr media-libs/tiff&lt;br /&gt;
*Ubuntu (since Jaunty): Same libraries as Debian but do not use libmagick++9-dev, use graphicsmagick-libmagick-dev-compat instead. &lt;br /&gt;
&lt;br /&gt;
'''Runtime''': encodedv (from libdv), ffmpeg, convert (from imagemagick)&lt;br /&gt;
* Debian: libdv-bin ffmpeg imagemagick&lt;br /&gt;
* Gentoo: media-libs/libdv media-video/ffmpeg media-gfx/imagemagick&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/synfig-core&lt;br /&gt;
$ libtoolize --copy --force&lt;br /&gt;
$ autoreconf --install --force&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
* Don't use --enable-half, it is slow.&lt;br /&gt;
* If ETL was installed in a non-standard directory using --prefix=&amp;lt;location&amp;gt;, it suffices to run the configure script with an updated PKG_CONFIG_PATH environment variable. E.g.:&amp;lt;br&amp;gt;PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/my/install/prefix/lib/pkgconfig ./configure --prefix=/my/install/prefix&lt;br /&gt;
&lt;br /&gt;
=== synfig-studio ===&lt;br /&gt;
&lt;br /&gt;
''Requires'': ETL (etl-dev, already installed if you successfully built etl), synfig (libsynfig-dev, already installed if you successfully built synfig-core), gtkmm &amp;gt;= 2.4, gtk &amp;gt;= 2.0, glibmm, libsigc++, libltdl, libtool, gettext, cvs, intltool, libboost &amp;gt;= 1.53, libcairo &amp;gt;= 1.12&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libsynfig-dev libgtkmm-2.4-dev libgtk2.0-dev libglibmm-2.4-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs&lt;br /&gt;
* Gentoo: virtual/ETL virtual/synfig dev-cpp/gtkmm-2.4 dev-libs/libsigc++ sys-devel/libtool&lt;br /&gt;
** If you are using ./configure --prefix=&amp;quot;$PREFIX&amp;quot; to configure synfigstudio, do not install virtual/ETL or virtual/synfig.&lt;br /&gt;
''Optional'': fonts (for the images), [http://www.fmod.org FMOD] (version 3.x, proprietary)&lt;br /&gt;
* Debian: ttf-freefont ttf-dejavu ttf-dustin&lt;br /&gt;
* Gentoo: freefonts dejavu&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/synfig-studio&lt;br /&gt;
$ ./bootstrap.sh&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
== synfig-docs ==&lt;br /&gt;
&lt;br /&gt;
(This step isn't required to run synfig or synfigstudio, and the documents it gets you are really quite out of date)&lt;br /&gt;
&lt;br /&gt;
This is basically a copy of what is on this wiki.&lt;br /&gt;
&lt;br /&gt;
Requires: sgml processor, ldp docbook stylesheets, db2ps, db2pdf&lt;br /&gt;
* Debian: openjade ldp-docbook-dsssl docbook-utils&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make multiple-html&lt;br /&gt;
make ps&lt;br /&gt;
make pdf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== finalizing ==&lt;br /&gt;
&lt;br /&gt;
Depending on where you installed synfig to, you might have to tell your system where the libraries can be found.  That can be done via the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo ldconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build script examples ==&lt;br /&gt;
&lt;br /&gt;
If you want to build a binary for testing or debugging proposes you can run one of the following scripts:&lt;br /&gt;
&lt;br /&gt;
The binaries are installed at $(pwd)/install/bin. Alter the script according to your preferences.&lt;br /&gt;
&lt;br /&gt;
Your system must satisfy synfig's build requirements, the script won't do it for you. Also be sure what git branch are you building each time. In some cases you'll need to make clean on each folder first.&lt;br /&gt;
&lt;br /&gt;
Be sure that '''you have ccache installed''' on your system because you will get errors otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
CPUS=4&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
# Uncomment this line if you want to use ccache&lt;br /&gt;
# export CXX=&amp;quot;/usr/bin/ccache g++-snapshot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix						&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b install							&amp;amp;&amp;amp;&lt;br /&gt;
									\&lt;br /&gt;
cd ../synfig-core							&amp;amp;&amp;amp;&lt;br /&gt;
libtoolize --copy --force		 	                	&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install					        &amp;amp;&amp;amp;&lt;br /&gt;
     	  								\&lt;br /&gt;
cd ../synfig-studio							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With libboost no standard installation to /personal/boost/install/path/ :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#move to synfig folder (to get the script out from git)&lt;br /&gt;
cd synfig&lt;br /&gt;
CPUS=2&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix 						&amp;amp;&amp;amp;&lt;br /&gt;
make install 								&amp;amp;&amp;amp;&lt;br /&gt;
 									\&lt;br /&gt;
cd ../synfig-core 							&amp;amp;&amp;amp;&lt;br /&gt;
libtoolize --ltdl --copy --force 					&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force 						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --with-boost=/personal/boost/install/path/boost_1_55_0 --enable-optimization=0 --prefix $prefix --enable-debug &amp;amp;&amp;amp;&lt;br /&gt;
make -j $CPUS install 							&amp;amp;&amp;amp;&lt;br /&gt;
 									\&lt;br /&gt;
cd ../synfig-studio 							&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force 						&amp;amp;&amp;amp;&lt;br /&gt;
intltoolize --force --copy 						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --enable-optimization=0 --prefix $prefix --enable-debug 	&amp;amp;&amp;amp;&lt;br /&gt;
make -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OSX ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
CPUS=4&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export ACLOCAL_FLAGS=&amp;quot;-I $prefix/share/aclocal&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
# Uncomment those line if you want to use g++ instead of the native clang &lt;br /&gt;
# compiler and preprocessor&lt;br /&gt;
#export CXX=&amp;quot;/opt/local/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
#export CPP=&amp;quot;/usr/bin/cpp&amp;quot;&lt;br /&gt;
export CPPFLAGS=&amp;quot;-I/opt/local/include&amp;quot;&lt;br /&gt;
export LDFLAGS=&amp;quot;-L/opt/local/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix						&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b install							&amp;amp;&amp;amp;&lt;br /&gt;
									\&lt;br /&gt;
cd ../synfig-core							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh                  					&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install					        &amp;amp;&amp;amp;&lt;br /&gt;
     	  								\&lt;br /&gt;
cd ../synfig-studio							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=23205</id>
		<title>Dev:Build Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=23205"/>
				<updated>2017-05-08T09:36:39Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Reverted edits by Zelgadis (talk) to last revision by BobSynfig&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Build Instructions}}&lt;br /&gt;
{{Category|Manual}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some information may be outdated, please have a look in the forums at the [http://www.synfig.org/forums/viewforum.php?f=13 build thread] to get fresh data...&lt;br /&gt;
&lt;br /&gt;
== Scripts provided with the source code ==&lt;br /&gt;
&lt;br /&gt;
Within the source code we provide two automatic package scripts. They are used to generate the library independent packages for Linux or Mac OSX. Since the scripts ship all the needed libraries in a single package the size of the packages are higher compared to the typical deb or rpm package. That's not the case for dmg package for OSX because in general they bundle all needed libraries in the dmg image.&lt;br /&gt;
&lt;br /&gt;
You can find those scripts under the ''autobuild'' folder from the source code. There are usage instruction inside each script allowing resuming builds (reusing the current downloaded libraries) and specific options to just compile and build the binaries without package them.&lt;br /&gt;
&lt;br /&gt;
Note that &amp;lt;u&amp;gt;for Fedora 24 (at least), you must define a password for root user&amp;lt;/u&amp;gt; in order to run ''synfigstudio-linux-build.sh'', otherwise su authentication failure will occur.&lt;br /&gt;
If needed add it with ''sudo su -'' then ''passwd''&lt;br /&gt;
&lt;br /&gt;
===Staged boost library===&lt;br /&gt;
To use the autobuild scripts with a staged boost library, you will need to define environment variables:&lt;br /&gt;
  $ export BOOST_ROOT=/my/boost/path&lt;br /&gt;
  $ export CPLUS_INCLUDE_PATH=&amp;quot;$CPLUS_INCLUDE_PATH:$BOOST_ROOT/include&amp;quot;&lt;br /&gt;
  $ export LD_LIBRARY_PATH=&amp;quot;$LD_LIBRARY_PATH:$BOOST_ROOT/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Debug build===&lt;br /&gt;
Consider, that you can run in the following way to enable debug:&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh&lt;br /&gt;
&lt;br /&gt;
In this case you can combine debug with other modes:&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh quick # just invokes &amp;quot;make install&amp;quot; for every component&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh synfig # builds synfig-core only&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh synfigstudio # builds synfig-studio only&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* If you are using the released versions instead of GIT, none of the libtoolize or autoreconf steps are necessary. For released versions, &amp;quot;./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&amp;quot; should be enough.&lt;br /&gt;
&lt;br /&gt;
* If you are using packages for synfig's dependencies, you want the '''development packages''' not the main packages. Check below for your distribution's packages.&lt;br /&gt;
&lt;br /&gt;
* Please read the {{l|Dev:Source code|source code}} page to check out the latest code. Please also check the {{l|Download|download page}} and the {{l|FAQ}} to find out about any issues that you may run into along the way.&lt;br /&gt;
&lt;br /&gt;
* Some Linux/BSD distros (Like Gentoo Linux) have a pkg-config that doesn't look in /usr/local/lib/pkgconfig by default. So if you are installing in anywhere other than the system pkg-config path, please run &amp;quot;export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig&amp;quot; or similar before building or installing anything.&lt;br /&gt;
&lt;br /&gt;
* Don't use automake 1.4, there are problems with it.&lt;br /&gt;
&lt;br /&gt;
* Using automake 1.9, 'make install' seems to re-link and re-install all the synfig core modules every time whether they have changed or not. If you intend to build code repetitively you can export export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;. This allows to not rebuild the already build modules so they taken from the cache.&lt;br /&gt;
&lt;br /&gt;
* After you obtain the source code using the git repository, you obtain a single 'synfig' folder where the three main modules (etl, synfig-core and synfig-studio) are up to date. '''The trunk folder has been removed in the git tree'''. Please modify the build instructions for other platforms.&lt;br /&gt;
&lt;br /&gt;
* If you want to test a particular branch of the repository do the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/synfig$ git branch -r &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You'll obtain a list of the remote branches that exists in the repo. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  origin/HEAD&lt;br /&gt;
  origin/genete_bones&lt;br /&gt;
  origin/genete_canvasview&lt;br /&gt;
  origin/genete_master&lt;br /&gt;
  origin/genete_onionskin&lt;br /&gt;
  origin/genete_scale_reverse&lt;br /&gt;
  origin/genete_setup_dialog&lt;br /&gt;
  origin/genete_svg&lt;br /&gt;
  origin/gerco_opengl&lt;br /&gt;
  origin/master&lt;br /&gt;
  origin/uiomae_opengl&lt;br /&gt;
  origin/zelgadis_cia&lt;br /&gt;
  origin/zelgadis_master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then to properly checkout a remote branch you have to create a local branch to track a particular remote branch and checkout it. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/synfig$ git branch --track test_canvas origin/genete_canvasview&lt;br /&gt;
~/synfig$ git checkout test_canvas&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your code is ready to be built on that branch.&lt;br /&gt;
&lt;br /&gt;
* The CVS requirement is only because the autopoint program run by autoreconf needs CVS. You can avoid the need for CVS by disabling the translation/gettext stuff in configure.ac.&lt;br /&gt;
&lt;br /&gt;
* If you don't want to install to a system-wide directory using sudo, run something like these commands before starting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot; allows to find the linking libraries.&lt;br /&gt;
** export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH allows synfigstudio find the correct * libraries to render the icons for the toolbox etc.&lt;br /&gt;
** export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot; allows to use the cache to avoid rebuilding.&lt;br /&gt;
&lt;br /&gt;
And when you run ./configure, run it with &amp;lt;pre&amp;gt;--prefix $prefix&amp;lt;/pre&amp;gt; and don't use sudo when you do make install.&lt;br /&gt;
&lt;br /&gt;
* See the automatic building script attached.&lt;br /&gt;
&lt;br /&gt;
== System-specific instructions ==&lt;br /&gt;
 Please update them including the new GIT repo.&lt;br /&gt;
&lt;br /&gt;
* Gentoo: {{l|Dev:Gentoo Ebuilds|ebuilds}} are available for both release versions and GIT&lt;br /&gt;
* MacOS X: {{l|Dev:Building_On_Mac_OS_X|instructions for building}} with the GTK+ Aqua port are available.&lt;br /&gt;
* PCLinuxOS: {{l|Dev:PCLinuxOS build instructions|build instructions}}&lt;br /&gt;
* Windows: {{l|Dev:Building on Windows|instructions for building}} with {{l|Dev:Mingw_installation|mingw}} in {{l|Dev:MSYS2_Build|MSYS2}} are available.&lt;br /&gt;
&lt;br /&gt;
==System wide build Instructions==&lt;br /&gt;
&lt;br /&gt;
=== ETL ===&lt;br /&gt;
&lt;br /&gt;
ETL is a template library, there is nothing to build really, it just needs to be installed.&lt;br /&gt;
&lt;br /&gt;
'''Requires''': autoconf automake&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: build-essential autoconf automake libtool&lt;br /&gt;
* OS X:  already included with Mac OS X&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/ETL&lt;br /&gt;
$ autoreconf --install --force&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== synfig-core ===&lt;br /&gt;
&lt;br /&gt;
'''Requires''': ETL (etl-dev, already installed if you successfully built etl), libxml++, libsigc++, libltdl, libtool, gettext, autopoint (part of gettext-dev), cvs, boost-program-options&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libxml++2.6-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs autopoint&lt;br /&gt;
* Fedora: ETL-devel libxml++-devel libsigc++20-devel libtool-ltdl-devel libtool gettext-devel cvs&lt;br /&gt;
* Gentoo: dev-cpp/ETL dev-cpp/libxmlpp dev-libs/libsigc++ dev-util/cvs&lt;br /&gt;
** If you are using ./configure --prefix=&amp;quot;$PREFIX&amp;quot; to configure synfig, do not install dev-cpp/ETL.&lt;br /&gt;
*OS X use glibtoolize instead of libtoolize, as Apple renamed it.&lt;br /&gt;
&lt;br /&gt;
'''Note''': libpng isn't required to build synfig, but if you build synfig without PNG support and go on to build synfigstudio, that step will fail (because the build process for synfigstudio uses synfig to create .png icon files).  The package is  libpng12-dev on Debian or media-libs/libpng on Gentoo.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the 'configure.ac' file in the synfig-core directory doesn't work with libtool version 2, as shipped with ubuntu 8.10.  To work around the problem until a proper fix is found, comment out line 622 or thereabouts (it says &amp;quot;AC_CONFIG_SUBDIRS(libltdl)&amp;quot;) by putting a &amp;quot;#&amp;quot; at the front of the line.  The line is required for older versions of libtool, as shipped with other distributions. DO it straight with this command:&lt;br /&gt;
&amp;lt;pre&amp;gt; sed -i 's/^AC_CONFIG_SUBDIRS/# AC_CONFIG_SUBDIRS/' synfig-core/configure.ac &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Optional''': libpng, libmng, libjpeg, libfreetype, libfontconfig, libopenexr, libavcodec, libmagick++, vimage (MacOS only, proprietary)&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: libpng12-dev libmng-dev libjpeg62-dev libfreetype6-dev libfontconfig1-dev libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libmagick++9-dev&lt;br /&gt;
* Gentoo: sys-devel/libtool media-libs/libpng media-libs/libmng media-libs/jpeg media-libs/freetype media-libs/fontconfig media-libs/openexr media-libs/tiff&lt;br /&gt;
*Ubuntu (since Jaunty): Same libraries as Debian but do not use libmagick++9-dev, use graphicsmagick-libmagick-dev-compat instead. &lt;br /&gt;
&lt;br /&gt;
'''Runtime''': encodedv (from libdv), ffmpeg, convert (from imagemagick)&lt;br /&gt;
* Debian: libdv-bin ffmpeg imagemagick&lt;br /&gt;
* Gentoo: media-libs/libdv media-video/ffmpeg media-gfx/imagemagick&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/synfig-core&lt;br /&gt;
$ libtoolize --copy --force&lt;br /&gt;
$ autoreconf --install --force&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
* Don't use --enable-half, it is slow.&lt;br /&gt;
* If ETL was installed in a non-standard directory using --prefix=&amp;lt;location&amp;gt;, it suffices to run the configure script with an updated PKG_CONFIG_PATH environment variable. E.g.:&amp;lt;br&amp;gt;PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/my/install/prefix/lib/pkgconfig ./configure --prefix=/my/install/prefix&lt;br /&gt;
&lt;br /&gt;
=== synfig-studio ===&lt;br /&gt;
&lt;br /&gt;
''Requires'': ETL (etl-dev, already installed if you successfully built etl), synfig (libsynfig-dev, already installed if you successfully built synfig-core), gtkmm &amp;gt;= 2.4, gtk &amp;gt;= 2.0, glibmm, libsigc++, libltdl, libtool, gettext, cvs, intltool, libboost &amp;gt;= 1.53, libcairo &amp;gt;= 1.12&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libsynfig-dev libgtkmm-2.4-dev libgtk2.0-dev libglibmm-2.4-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs&lt;br /&gt;
* Gentoo: virtual/ETL virtual/synfig dev-cpp/gtkmm-2.4 dev-libs/libsigc++ sys-devel/libtool&lt;br /&gt;
** If you are using ./configure --prefix=&amp;quot;$PREFIX&amp;quot; to configure synfigstudio, do not install virtual/ETL or virtual/synfig.&lt;br /&gt;
''Optional'': fonts (for the images), [http://www.fmod.org FMOD] (version 3.x, proprietary)&lt;br /&gt;
* Debian: ttf-freefont ttf-dejavu ttf-dustin&lt;br /&gt;
* Gentoo: freefonts dejavu&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/synfig-studio&lt;br /&gt;
$ ./bootstrap.sh&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
== synfig-docs ==&lt;br /&gt;
&lt;br /&gt;
(This step isn't required to run synfig or synfigstudio, and the documents it gets you are really quite out of date)&lt;br /&gt;
&lt;br /&gt;
This is basically a copy of what is on this wiki.&lt;br /&gt;
&lt;br /&gt;
Requires: sgml processor, ldp docbook stylesheets, db2ps, db2pdf&lt;br /&gt;
* Debian: openjade ldp-docbook-dsssl docbook-utils&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make multiple-html&lt;br /&gt;
make ps&lt;br /&gt;
make pdf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== finalizing ==&lt;br /&gt;
&lt;br /&gt;
Depending on where you installed synfig to, you might have to tell your system where the libraries can be found.  That can be done via the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo ldconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build script examples ==&lt;br /&gt;
&lt;br /&gt;
If you want to build a binary for testing or debugging proposes you can run one of the following scripts:&lt;br /&gt;
&lt;br /&gt;
The binaries are installed at $(pwd)/install/bin. Alter the script according to your preferences.&lt;br /&gt;
&lt;br /&gt;
Your system must satisfy synfig's build requirements, the script won't do it for you. Also be sure what git branch are you building each time. In some cases you'll need to make clean on each folder first.&lt;br /&gt;
&lt;br /&gt;
Be sure that '''you have ccache installed''' on your system because you will get errors otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
CPUS=4&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
# Uncomment this line if you want to use ccache&lt;br /&gt;
# export CXX=&amp;quot;/usr/bin/ccache g++-snapshot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix						&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b install							&amp;amp;&amp;amp;&lt;br /&gt;
									\&lt;br /&gt;
cd ../synfig-core							&amp;amp;&amp;amp;&lt;br /&gt;
libtoolize --copy --force		 	                	&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install					        &amp;amp;&amp;amp;&lt;br /&gt;
     	  								\&lt;br /&gt;
cd ../synfig-studio							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With libboost no standard installation to /personal/boost/install/path/ :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#move to synfig folder (to get the script out from git)&lt;br /&gt;
cd synfig&lt;br /&gt;
CPUS=2&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix 						&amp;amp;&amp;amp;&lt;br /&gt;
make install 								&amp;amp;&amp;amp;&lt;br /&gt;
 									\&lt;br /&gt;
cd ../synfig-core 							&amp;amp;&amp;amp;&lt;br /&gt;
libtoolize --ltdl --copy --force 					&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force 						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --with-boost=/personal/boost/install/path/boost_1_55_0 --enable-optimization=0 --prefix $prefix --enable-debug &amp;amp;&amp;amp;&lt;br /&gt;
make -j $CPUS install 							&amp;amp;&amp;amp;&lt;br /&gt;
 									\&lt;br /&gt;
cd ../synfig-studio 							&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force 						&amp;amp;&amp;amp;&lt;br /&gt;
intltoolize --force --copy 						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --enable-optimization=0 --prefix $prefix --enable-debug 	&amp;amp;&amp;amp;&lt;br /&gt;
make -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OSX ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
CPUS=4&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export ACLOCAL_FLAGS=&amp;quot;-I $prefix/share/aclocal&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
# Uncomment those line if you want to use g++ instead of the native clang &lt;br /&gt;
# compiler and preprocessor&lt;br /&gt;
#export CXX=&amp;quot;/opt/local/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
#export CPP=&amp;quot;/usr/bin/cpp&amp;quot;&lt;br /&gt;
export CPPFLAGS=&amp;quot;-I/opt/local/include&amp;quot;&lt;br /&gt;
export LDFLAGS=&amp;quot;-L/opt/local/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix						&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b install							&amp;amp;&amp;amp;&lt;br /&gt;
									\&lt;br /&gt;
cd ../synfig-core							&amp;amp;&amp;amp;&lt;br /&gt;
libtoolize --copy --force		 	                	&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install					        &amp;amp;&amp;amp;&lt;br /&gt;
     	  								\&lt;br /&gt;
cd ../synfig-studio							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=23204</id>
		<title>Dev:Build Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=23204"/>
				<updated>2017-05-08T09:35:25Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: /* Linux */ Update instructions for version &amp;gt; 1.3.3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Build Instructions}}&lt;br /&gt;
{{Category|Manual}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some information may be outdated, please have a look in the forums at the [http://www.synfig.org/forums/viewforum.php?f=13 build thread] to get fresh data...&lt;br /&gt;
&lt;br /&gt;
== Scripts provided with the source code ==&lt;br /&gt;
&lt;br /&gt;
Within the source code we provide two automatic package scripts. They are used to generate the library independent packages for Linux or Mac OSX. Since the scripts ship all the needed libraries in a single package the size of the packages are higher compared to the typical deb or rpm package. That's not the case for dmg package for OSX because in general they bundle all needed libraries in the dmg image.&lt;br /&gt;
&lt;br /&gt;
You can find those scripts under the ''autobuild'' folder from the source code. There are usage instruction inside each script allowing resuming builds (reusing the current downloaded libraries) and specific options to just compile and build the binaries without package them.&lt;br /&gt;
&lt;br /&gt;
Note that &amp;lt;u&amp;gt;for Fedora 24 (at least), you must define a password for root user&amp;lt;/u&amp;gt; in order to run ''synfigstudio-linux-build.sh'', otherwise su authentication failure will occur.&lt;br /&gt;
If needed add it with ''sudo su -'' then ''passwd''&lt;br /&gt;
&lt;br /&gt;
===Staged boost library===&lt;br /&gt;
To use the autobuild scripts with a staged boost library, you will need to define environment variables:&lt;br /&gt;
  $ export BOOST_ROOT=/my/boost/path&lt;br /&gt;
  $ export CPLUS_INCLUDE_PATH=&amp;quot;$CPLUS_INCLUDE_PATH:$BOOST_ROOT/include&amp;quot;&lt;br /&gt;
  $ export LD_LIBRARY_PATH=&amp;quot;$LD_LIBRARY_PATH:$BOOST_ROOT/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Debug build===&lt;br /&gt;
Consider, that you can run in the following way to enable debug:&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh&lt;br /&gt;
&lt;br /&gt;
In this case you can combine debug with other modes:&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh quick # just invokes &amp;quot;make install&amp;quot; for every component&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh synfig # builds synfig-core only&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh synfigstudio # builds synfig-studio only&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* If you are using the released versions instead of GIT, none of the libtoolize or autoreconf steps are necessary. For released versions, &amp;quot;./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&amp;quot; should be enough.&lt;br /&gt;
&lt;br /&gt;
* If you are using packages for synfig's dependencies, you want the '''development packages''' not the main packages. Check below for your distribution's packages.&lt;br /&gt;
&lt;br /&gt;
* Please read the {{l|Dev:Source code|source code}} page to check out the latest code. Please also check the {{l|Download|download page}} and the {{l|FAQ}} to find out about any issues that you may run into along the way.&lt;br /&gt;
&lt;br /&gt;
* Some Linux/BSD distros (Like Gentoo Linux) have a pkg-config that doesn't look in /usr/local/lib/pkgconfig by default. So if you are installing in anywhere other than the system pkg-config path, please run &amp;quot;export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig&amp;quot; or similar before building or installing anything.&lt;br /&gt;
&lt;br /&gt;
* Don't use automake 1.4, there are problems with it.&lt;br /&gt;
&lt;br /&gt;
* Using automake 1.9, 'make install' seems to re-link and re-install all the synfig core modules every time whether they have changed or not. If you intend to build code repetitively you can export export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;. This allows to not rebuild the already build modules so they taken from the cache.&lt;br /&gt;
&lt;br /&gt;
* After you obtain the source code using the git repository, you obtain a single 'synfig' folder where the three main modules (etl, synfig-core and synfig-studio) are up to date. '''The trunk folder has been removed in the git tree'''. Please modify the build instructions for other platforms.&lt;br /&gt;
&lt;br /&gt;
* If you want to test a particular branch of the repository do the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/synfig$ git branch -r &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You'll obtain a list of the remote branches that exists in the repo. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  origin/HEAD&lt;br /&gt;
  origin/genete_bones&lt;br /&gt;
  origin/genete_canvasview&lt;br /&gt;
  origin/genete_master&lt;br /&gt;
  origin/genete_onionskin&lt;br /&gt;
  origin/genete_scale_reverse&lt;br /&gt;
  origin/genete_setup_dialog&lt;br /&gt;
  origin/genete_svg&lt;br /&gt;
  origin/gerco_opengl&lt;br /&gt;
  origin/master&lt;br /&gt;
  origin/uiomae_opengl&lt;br /&gt;
  origin/zelgadis_cia&lt;br /&gt;
  origin/zelgadis_master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then to properly checkout a remote branch you have to create a local branch to track a particular remote branch and checkout it. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/synfig$ git branch --track test_canvas origin/genete_canvasview&lt;br /&gt;
~/synfig$ git checkout test_canvas&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your code is ready to be built on that branch.&lt;br /&gt;
&lt;br /&gt;
* The CVS requirement is only because the autopoint program run by autoreconf needs CVS. You can avoid the need for CVS by disabling the translation/gettext stuff in configure.ac.&lt;br /&gt;
&lt;br /&gt;
* If you don't want to install to a system-wide directory using sudo, run something like these commands before starting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot; allows to find the linking libraries.&lt;br /&gt;
** export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH allows synfigstudio find the correct * libraries to render the icons for the toolbox etc.&lt;br /&gt;
** export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot; allows to use the cache to avoid rebuilding.&lt;br /&gt;
&lt;br /&gt;
And when you run ./configure, run it with &amp;lt;pre&amp;gt;--prefix $prefix&amp;lt;/pre&amp;gt; and don't use sudo when you do make install.&lt;br /&gt;
&lt;br /&gt;
* See the automatic building script attached.&lt;br /&gt;
&lt;br /&gt;
== System-specific instructions ==&lt;br /&gt;
 Please update them including the new GIT repo.&lt;br /&gt;
&lt;br /&gt;
* Gentoo: {{l|Dev:Gentoo Ebuilds|ebuilds}} are available for both release versions and GIT&lt;br /&gt;
* MacOS X: {{l|Dev:Building_On_Mac_OS_X|instructions for building}} with the GTK+ Aqua port are available.&lt;br /&gt;
* PCLinuxOS: {{l|Dev:PCLinuxOS build instructions|build instructions}}&lt;br /&gt;
* Windows: {{l|Dev:Building on Windows|instructions for building}} with {{l|Dev:Mingw_installation|mingw}} in {{l|Dev:MSYS2_Build|MSYS2}} are available.&lt;br /&gt;
&lt;br /&gt;
==System wide build Instructions==&lt;br /&gt;
&lt;br /&gt;
=== ETL ===&lt;br /&gt;
&lt;br /&gt;
ETL is a template library, there is nothing to build really, it just needs to be installed.&lt;br /&gt;
&lt;br /&gt;
'''Requires''': autoconf automake&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: build-essential autoconf automake libtool&lt;br /&gt;
* OS X:  already included with Mac OS X&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/ETL&lt;br /&gt;
$ autoreconf --install --force&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== synfig-core ===&lt;br /&gt;
&lt;br /&gt;
'''Requires''': ETL (etl-dev, already installed if you successfully built etl), libxml++, libsigc++, libltdl, libtool, gettext, autopoint (part of gettext-dev), cvs, boost-program-options&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libxml++2.6-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs autopoint&lt;br /&gt;
* Fedora: ETL-devel libxml++-devel libsigc++20-devel libtool-ltdl-devel libtool gettext-devel cvs&lt;br /&gt;
* Gentoo: dev-cpp/ETL dev-cpp/libxmlpp dev-libs/libsigc++ dev-util/cvs&lt;br /&gt;
** If you are using ./configure --prefix=&amp;quot;$PREFIX&amp;quot; to configure synfig, do not install dev-cpp/ETL.&lt;br /&gt;
*OS X use glibtoolize instead of libtoolize, as Apple renamed it.&lt;br /&gt;
&lt;br /&gt;
'''Note''': libpng isn't required to build synfig, but if you build synfig without PNG support and go on to build synfigstudio, that step will fail (because the build process for synfigstudio uses synfig to create .png icon files).  The package is  libpng12-dev on Debian or media-libs/libpng on Gentoo.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the 'configure.ac' file in the synfig-core directory doesn't work with libtool version 2, as shipped with ubuntu 8.10.  To work around the problem until a proper fix is found, comment out line 622 or thereabouts (it says &amp;quot;AC_CONFIG_SUBDIRS(libltdl)&amp;quot;) by putting a &amp;quot;#&amp;quot; at the front of the line.  The line is required for older versions of libtool, as shipped with other distributions. DO it straight with this command:&lt;br /&gt;
&amp;lt;pre&amp;gt; sed -i 's/^AC_CONFIG_SUBDIRS/# AC_CONFIG_SUBDIRS/' synfig-core/configure.ac &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Optional''': libpng, libmng, libjpeg, libfreetype, libfontconfig, libopenexr, libavcodec, libmagick++, vimage (MacOS only, proprietary)&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: libpng12-dev libmng-dev libjpeg62-dev libfreetype6-dev libfontconfig1-dev libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libmagick++9-dev&lt;br /&gt;
* Gentoo: sys-devel/libtool media-libs/libpng media-libs/libmng media-libs/jpeg media-libs/freetype media-libs/fontconfig media-libs/openexr media-libs/tiff&lt;br /&gt;
*Ubuntu (since Jaunty): Same libraries as Debian but do not use libmagick++9-dev, use graphicsmagick-libmagick-dev-compat instead. &lt;br /&gt;
&lt;br /&gt;
'''Runtime''': encodedv (from libdv), ffmpeg, convert (from imagemagick)&lt;br /&gt;
* Debian: libdv-bin ffmpeg imagemagick&lt;br /&gt;
* Gentoo: media-libs/libdv media-video/ffmpeg media-gfx/imagemagick&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/synfig-core&lt;br /&gt;
$ ./bootstrap.sh&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
* Don't use --enable-half, it is slow.&lt;br /&gt;
* If ETL was installed in a non-standard directory using --prefix=&amp;lt;location&amp;gt;, it suffices to run the configure script with an updated PKG_CONFIG_PATH environment variable. E.g.:&amp;lt;br&amp;gt;PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/my/install/prefix/lib/pkgconfig ./configure --prefix=/my/install/prefix&lt;br /&gt;
&lt;br /&gt;
=== synfig-studio ===&lt;br /&gt;
&lt;br /&gt;
''Requires'': ETL (etl-dev, already installed if you successfully built etl), synfig (libsynfig-dev, already installed if you successfully built synfig-core), gtkmm &amp;gt;= 2.4, gtk &amp;gt;= 2.0, glibmm, libsigc++, libltdl, libtool, gettext, cvs, intltool, libboost &amp;gt;= 1.53, libcairo &amp;gt;= 1.12&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libsynfig-dev libgtkmm-2.4-dev libgtk2.0-dev libglibmm-2.4-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs&lt;br /&gt;
* Gentoo: virtual/ETL virtual/synfig dev-cpp/gtkmm-2.4 dev-libs/libsigc++ sys-devel/libtool&lt;br /&gt;
** If you are using ./configure --prefix=&amp;quot;$PREFIX&amp;quot; to configure synfigstudio, do not install virtual/ETL or virtual/synfig.&lt;br /&gt;
''Optional'': fonts (for the images), [http://www.fmod.org FMOD] (version 3.x, proprietary)&lt;br /&gt;
* Debian: ttf-freefont ttf-dejavu ttf-dustin&lt;br /&gt;
* Gentoo: freefonts dejavu&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/synfig-studio&lt;br /&gt;
$ ./bootstrap.sh&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
== synfig-docs ==&lt;br /&gt;
&lt;br /&gt;
(This step isn't required to run synfig or synfigstudio, and the documents it gets you are really quite out of date)&lt;br /&gt;
&lt;br /&gt;
This is basically a copy of what is on this wiki.&lt;br /&gt;
&lt;br /&gt;
Requires: sgml processor, ldp docbook stylesheets, db2ps, db2pdf&lt;br /&gt;
* Debian: openjade ldp-docbook-dsssl docbook-utils&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make multiple-html&lt;br /&gt;
make ps&lt;br /&gt;
make pdf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== finalizing ==&lt;br /&gt;
&lt;br /&gt;
Depending on where you installed synfig to, you might have to tell your system where the libraries can be found.  That can be done via the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo ldconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build script examples ==&lt;br /&gt;
&lt;br /&gt;
If you want to build a binary for testing or debugging proposes you can run one of the following scripts:&lt;br /&gt;
&lt;br /&gt;
The binaries are installed at $(pwd)/install/bin. Alter the script according to your preferences.&lt;br /&gt;
&lt;br /&gt;
Your system must satisfy synfig's build requirements, the script won't do it for you. Also be sure what git branch are you building each time. In some cases you'll need to make clean on each folder first.&lt;br /&gt;
&lt;br /&gt;
Be sure that '''you have ccache installed''' on your system because you will get errors otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
CPUS=4&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
# Uncomment this line if you want to use ccache&lt;br /&gt;
# export CXX=&amp;quot;/usr/bin/ccache g++-snapshot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh           						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix						&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b install							&amp;amp;&amp;amp;&lt;br /&gt;
									\&lt;br /&gt;
cd ../synfig-core							&amp;amp;&amp;amp;&lt;br /&gt;
libtoolize --copy --force		 	                	&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install					        &amp;amp;&amp;amp;&lt;br /&gt;
     	  								\&lt;br /&gt;
cd ../synfig-studio							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With libboost no standard installation to /personal/boost/install/path/ :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#move to synfig folder (to get the script out from git)&lt;br /&gt;
cd synfig&lt;br /&gt;
CPUS=2&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix 						&amp;amp;&amp;amp;&lt;br /&gt;
make install 								&amp;amp;&amp;amp;&lt;br /&gt;
 									\&lt;br /&gt;
cd ../synfig-core 							&amp;amp;&amp;amp;&lt;br /&gt;
libtoolize --ltdl --copy --force 					&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force 						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --with-boost=/personal/boost/install/path/boost_1_55_0 --enable-optimization=0 --prefix $prefix --enable-debug &amp;amp;&amp;amp;&lt;br /&gt;
make -j $CPUS install 							&amp;amp;&amp;amp;&lt;br /&gt;
 									\&lt;br /&gt;
cd ../synfig-studio 							&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force 						&amp;amp;&amp;amp;&lt;br /&gt;
intltoolize --force --copy 						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --enable-optimization=0 --prefix $prefix --enable-debug 	&amp;amp;&amp;amp;&lt;br /&gt;
make -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OSX ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
CPUS=4&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export ACLOCAL_FLAGS=&amp;quot;-I $prefix/share/aclocal&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
# Uncomment those line if you want to use g++ instead of the native clang &lt;br /&gt;
# compiler and preprocessor&lt;br /&gt;
#export CXX=&amp;quot;/opt/local/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
#export CPP=&amp;quot;/usr/bin/cpp&amp;quot;&lt;br /&gt;
export CPPFLAGS=&amp;quot;-I/opt/local/include&amp;quot;&lt;br /&gt;
export LDFLAGS=&amp;quot;-L/opt/local/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix						&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b install							&amp;amp;&amp;amp;&lt;br /&gt;
									\&lt;br /&gt;
cd ../synfig-core							&amp;amp;&amp;amp;&lt;br /&gt;
libtoolize --copy --force		 	                	&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install					        &amp;amp;&amp;amp;&lt;br /&gt;
     	  								\&lt;br /&gt;
cd ../synfig-studio							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=23203</id>
		<title>Dev:Build Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=23203"/>
				<updated>2017-05-08T09:35:03Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: /* synfig-core */ Update instructions for version &amp;gt; 1.3.3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Build Instructions}}&lt;br /&gt;
{{Category|Manual}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some information may be outdated, please have a look in the forums at the [http://www.synfig.org/forums/viewforum.php?f=13 build thread] to get fresh data...&lt;br /&gt;
&lt;br /&gt;
== Scripts provided with the source code ==&lt;br /&gt;
&lt;br /&gt;
Within the source code we provide two automatic package scripts. They are used to generate the library independent packages for Linux or Mac OSX. Since the scripts ship all the needed libraries in a single package the size of the packages are higher compared to the typical deb or rpm package. That's not the case for dmg package for OSX because in general they bundle all needed libraries in the dmg image.&lt;br /&gt;
&lt;br /&gt;
You can find those scripts under the ''autobuild'' folder from the source code. There are usage instruction inside each script allowing resuming builds (reusing the current downloaded libraries) and specific options to just compile and build the binaries without package them.&lt;br /&gt;
&lt;br /&gt;
Note that &amp;lt;u&amp;gt;for Fedora 24 (at least), you must define a password for root user&amp;lt;/u&amp;gt; in order to run ''synfigstudio-linux-build.sh'', otherwise su authentication failure will occur.&lt;br /&gt;
If needed add it with ''sudo su -'' then ''passwd''&lt;br /&gt;
&lt;br /&gt;
===Staged boost library===&lt;br /&gt;
To use the autobuild scripts with a staged boost library, you will need to define environment variables:&lt;br /&gt;
  $ export BOOST_ROOT=/my/boost/path&lt;br /&gt;
  $ export CPLUS_INCLUDE_PATH=&amp;quot;$CPLUS_INCLUDE_PATH:$BOOST_ROOT/include&amp;quot;&lt;br /&gt;
  $ export LD_LIBRARY_PATH=&amp;quot;$LD_LIBRARY_PATH:$BOOST_ROOT/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Debug build===&lt;br /&gt;
Consider, that you can run in the following way to enable debug:&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh&lt;br /&gt;
&lt;br /&gt;
In this case you can combine debug with other modes:&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh quick # just invokes &amp;quot;make install&amp;quot; for every component&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh synfig # builds synfig-core only&lt;br /&gt;
  $ DEBUG=1 ./synfigstudio-linux-build.sh synfigstudio # builds synfig-studio only&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* If you are using the released versions instead of GIT, none of the libtoolize or autoreconf steps are necessary. For released versions, &amp;quot;./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install&amp;quot; should be enough.&lt;br /&gt;
&lt;br /&gt;
* If you are using packages for synfig's dependencies, you want the '''development packages''' not the main packages. Check below for your distribution's packages.&lt;br /&gt;
&lt;br /&gt;
* Please read the {{l|Dev:Source code|source code}} page to check out the latest code. Please also check the {{l|Download|download page}} and the {{l|FAQ}} to find out about any issues that you may run into along the way.&lt;br /&gt;
&lt;br /&gt;
* Some Linux/BSD distros (Like Gentoo Linux) have a pkg-config that doesn't look in /usr/local/lib/pkgconfig by default. So if you are installing in anywhere other than the system pkg-config path, please run &amp;quot;export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig&amp;quot; or similar before building or installing anything.&lt;br /&gt;
&lt;br /&gt;
* Don't use automake 1.4, there are problems with it.&lt;br /&gt;
&lt;br /&gt;
* Using automake 1.9, 'make install' seems to re-link and re-install all the synfig core modules every time whether they have changed or not. If you intend to build code repetitively you can export export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;. This allows to not rebuild the already build modules so they taken from the cache.&lt;br /&gt;
&lt;br /&gt;
* After you obtain the source code using the git repository, you obtain a single 'synfig' folder where the three main modules (etl, synfig-core and synfig-studio) are up to date. '''The trunk folder has been removed in the git tree'''. Please modify the build instructions for other platforms.&lt;br /&gt;
&lt;br /&gt;
* If you want to test a particular branch of the repository do the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/synfig$ git branch -r &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You'll obtain a list of the remote branches that exists in the repo. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  origin/HEAD&lt;br /&gt;
  origin/genete_bones&lt;br /&gt;
  origin/genete_canvasview&lt;br /&gt;
  origin/genete_master&lt;br /&gt;
  origin/genete_onionskin&lt;br /&gt;
  origin/genete_scale_reverse&lt;br /&gt;
  origin/genete_setup_dialog&lt;br /&gt;
  origin/genete_svg&lt;br /&gt;
  origin/gerco_opengl&lt;br /&gt;
  origin/master&lt;br /&gt;
  origin/uiomae_opengl&lt;br /&gt;
  origin/zelgadis_cia&lt;br /&gt;
  origin/zelgadis_master&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then to properly checkout a remote branch you have to create a local branch to track a particular remote branch and checkout it. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
~/synfig$ git branch --track test_canvas origin/genete_canvasview&lt;br /&gt;
~/synfig$ git checkout test_canvas&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your code is ready to be built on that branch.&lt;br /&gt;
&lt;br /&gt;
* The CVS requirement is only because the autopoint program run by autoreconf needs CVS. You can avoid the need for CVS by disabling the translation/gettext stuff in configure.ac.&lt;br /&gt;
&lt;br /&gt;
* If you don't want to install to a system-wide directory using sudo, run something like these commands before starting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot; allows to find the linking libraries.&lt;br /&gt;
** export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH allows synfigstudio find the correct * libraries to render the icons for the toolbox etc.&lt;br /&gt;
** export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot; allows to use the cache to avoid rebuilding.&lt;br /&gt;
&lt;br /&gt;
And when you run ./configure, run it with &amp;lt;pre&amp;gt;--prefix $prefix&amp;lt;/pre&amp;gt; and don't use sudo when you do make install.&lt;br /&gt;
&lt;br /&gt;
* See the automatic building script attached.&lt;br /&gt;
&lt;br /&gt;
== System-specific instructions ==&lt;br /&gt;
 Please update them including the new GIT repo.&lt;br /&gt;
&lt;br /&gt;
* Gentoo: {{l|Dev:Gentoo Ebuilds|ebuilds}} are available for both release versions and GIT&lt;br /&gt;
* MacOS X: {{l|Dev:Building_On_Mac_OS_X|instructions for building}} with the GTK+ Aqua port are available.&lt;br /&gt;
* PCLinuxOS: {{l|Dev:PCLinuxOS build instructions|build instructions}}&lt;br /&gt;
* Windows: {{l|Dev:Building on Windows|instructions for building}} with {{l|Dev:Mingw_installation|mingw}} in {{l|Dev:MSYS2_Build|MSYS2}} are available.&lt;br /&gt;
&lt;br /&gt;
==System wide build Instructions==&lt;br /&gt;
&lt;br /&gt;
=== ETL ===&lt;br /&gt;
&lt;br /&gt;
ETL is a template library, there is nothing to build really, it just needs to be installed.&lt;br /&gt;
&lt;br /&gt;
'''Requires''': autoconf automake&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: build-essential autoconf automake libtool&lt;br /&gt;
* OS X:  already included with Mac OS X&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/ETL&lt;br /&gt;
$ autoreconf --install --force&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== synfig-core ===&lt;br /&gt;
&lt;br /&gt;
'''Requires''': ETL (etl-dev, already installed if you successfully built etl), libxml++, libsigc++, libltdl, libtool, gettext, autopoint (part of gettext-dev), cvs, boost-program-options&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libxml++2.6-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs autopoint&lt;br /&gt;
* Fedora: ETL-devel libxml++-devel libsigc++20-devel libtool-ltdl-devel libtool gettext-devel cvs&lt;br /&gt;
* Gentoo: dev-cpp/ETL dev-cpp/libxmlpp dev-libs/libsigc++ dev-util/cvs&lt;br /&gt;
** If you are using ./configure --prefix=&amp;quot;$PREFIX&amp;quot; to configure synfig, do not install dev-cpp/ETL.&lt;br /&gt;
*OS X use glibtoolize instead of libtoolize, as Apple renamed it.&lt;br /&gt;
&lt;br /&gt;
'''Note''': libpng isn't required to build synfig, but if you build synfig without PNG support and go on to build synfigstudio, that step will fail (because the build process for synfigstudio uses synfig to create .png icon files).  The package is  libpng12-dev on Debian or media-libs/libpng on Gentoo.&lt;br /&gt;
&lt;br /&gt;
'''Note''': the 'configure.ac' file in the synfig-core directory doesn't work with libtool version 2, as shipped with ubuntu 8.10.  To work around the problem until a proper fix is found, comment out line 622 or thereabouts (it says &amp;quot;AC_CONFIG_SUBDIRS(libltdl)&amp;quot;) by putting a &amp;quot;#&amp;quot; at the front of the line.  The line is required for older versions of libtool, as shipped with other distributions. DO it straight with this command:&lt;br /&gt;
&amp;lt;pre&amp;gt; sed -i 's/^AC_CONFIG_SUBDIRS/# AC_CONFIG_SUBDIRS/' synfig-core/configure.ac &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Optional''': libpng, libmng, libjpeg, libfreetype, libfontconfig, libopenexr, libavcodec, libmagick++, vimage (MacOS only, proprietary)&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: libpng12-dev libmng-dev libjpeg62-dev libfreetype6-dev libfontconfig1-dev libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libmagick++9-dev&lt;br /&gt;
* Gentoo: sys-devel/libtool media-libs/libpng media-libs/libmng media-libs/jpeg media-libs/freetype media-libs/fontconfig media-libs/openexr media-libs/tiff&lt;br /&gt;
*Ubuntu (since Jaunty): Same libraries as Debian but do not use libmagick++9-dev, use graphicsmagick-libmagick-dev-compat instead. &lt;br /&gt;
&lt;br /&gt;
'''Runtime''': encodedv (from libdv), ffmpeg, convert (from imagemagick)&lt;br /&gt;
* Debian: libdv-bin ffmpeg imagemagick&lt;br /&gt;
* Gentoo: media-libs/libdv media-video/ffmpeg media-gfx/imagemagick&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/synfig-core&lt;br /&gt;
$ ./bootstrap.sh&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''Note'':&lt;br /&gt;
&lt;br /&gt;
* Don't use --enable-half, it is slow.&lt;br /&gt;
* If ETL was installed in a non-standard directory using --prefix=&amp;lt;location&amp;gt;, it suffices to run the configure script with an updated PKG_CONFIG_PATH environment variable. E.g.:&amp;lt;br&amp;gt;PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/my/install/prefix/lib/pkgconfig ./configure --prefix=/my/install/prefix&lt;br /&gt;
&lt;br /&gt;
=== synfig-studio ===&lt;br /&gt;
&lt;br /&gt;
''Requires'': ETL (etl-dev, already installed if you successfully built etl), synfig (libsynfig-dev, already installed if you successfully built synfig-core), gtkmm &amp;gt;= 2.4, gtk &amp;gt;= 2.0, glibmm, libsigc++, libltdl, libtool, gettext, cvs, intltool, libboost &amp;gt;= 1.53, libcairo &amp;gt;= 1.12&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libsynfig-dev libgtkmm-2.4-dev libgtk2.0-dev libglibmm-2.4-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs&lt;br /&gt;
* Gentoo: virtual/ETL virtual/synfig dev-cpp/gtkmm-2.4 dev-libs/libsigc++ sys-devel/libtool&lt;br /&gt;
** If you are using ./configure --prefix=&amp;quot;$PREFIX&amp;quot; to configure synfigstudio, do not install virtual/ETL or virtual/synfig.&lt;br /&gt;
''Optional'': fonts (for the images), [http://www.fmod.org FMOD] (version 3.x, proprietary)&lt;br /&gt;
* Debian: ttf-freefont ttf-dejavu ttf-dustin&lt;br /&gt;
* Gentoo: freefonts dejavu&lt;br /&gt;
&lt;br /&gt;
''Type the following commands at the directory where you cloned the git repo''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd synfig/synfig-studio&lt;br /&gt;
$ ./bootstrap.sh&lt;br /&gt;
$ ./configure&lt;br /&gt;
$ make&lt;br /&gt;
$ sudo make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
== synfig-docs ==&lt;br /&gt;
&lt;br /&gt;
(This step isn't required to run synfig or synfigstudio, and the documents it gets you are really quite out of date)&lt;br /&gt;
&lt;br /&gt;
This is basically a copy of what is on this wiki.&lt;br /&gt;
&lt;br /&gt;
Requires: sgml processor, ldp docbook stylesheets, db2ps, db2pdf&lt;br /&gt;
* Debian: openjade ldp-docbook-dsssl docbook-utils&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
make multiple-html&lt;br /&gt;
make ps&lt;br /&gt;
make pdf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== finalizing ==&lt;br /&gt;
&lt;br /&gt;
Depending on where you installed synfig to, you might have to tell your system where the libraries can be found.  That can be done via the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ sudo ldconfig&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Build script examples ==&lt;br /&gt;
&lt;br /&gt;
If you want to build a binary for testing or debugging proposes you can run one of the following scripts:&lt;br /&gt;
&lt;br /&gt;
The binaries are installed at $(pwd)/install/bin. Alter the script according to your preferences.&lt;br /&gt;
&lt;br /&gt;
Your system must satisfy synfig's build requirements, the script won't do it for you. Also be sure what git branch are you building each time. In some cases you'll need to make clean on each folder first.&lt;br /&gt;
&lt;br /&gt;
Be sure that '''you have ccache installed''' on your system because you will get errors otherwise.&lt;br /&gt;
&lt;br /&gt;
=== Linux ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
CPUS=4&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
# Uncomment this line if you want to use ccache&lt;br /&gt;
# export CXX=&amp;quot;/usr/bin/ccache g++-snapshot&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix						&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b install							&amp;amp;&amp;amp;&lt;br /&gt;
									\&lt;br /&gt;
cd ../synfig-core							&amp;amp;&amp;amp;&lt;br /&gt;
libtoolize --copy --force		 	                	&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install					        &amp;amp;&amp;amp;&lt;br /&gt;
     	  								\&lt;br /&gt;
cd ../synfig-studio							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With libboost no standard installation to /personal/boost/install/path/ :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
#move to synfig folder (to get the script out from git)&lt;br /&gt;
cd synfig&lt;br /&gt;
CPUS=2&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
export CXX=&amp;quot;/usr/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix 						&amp;amp;&amp;amp;&lt;br /&gt;
make install 								&amp;amp;&amp;amp;&lt;br /&gt;
 									\&lt;br /&gt;
cd ../synfig-core 							&amp;amp;&amp;amp;&lt;br /&gt;
libtoolize --ltdl --copy --force 					&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force 						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --with-boost=/personal/boost/install/path/boost_1_55_0 --enable-optimization=0 --prefix $prefix --enable-debug &amp;amp;&amp;amp;&lt;br /&gt;
make -j $CPUS install 							&amp;amp;&amp;amp;&lt;br /&gt;
 									\&lt;br /&gt;
cd ../synfig-studio 							&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force 						&amp;amp;&amp;amp;&lt;br /&gt;
intltoolize --force --copy 						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --enable-optimization=0 --prefix $prefix --enable-debug 	&amp;amp;&amp;amp;&lt;br /&gt;
make -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mac OSX ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
CPUS=4&lt;br /&gt;
prefix=$(pwd)/install&lt;br /&gt;
export PKG_CONFIG_PATH=&amp;quot;$prefix/lib/pkgconfig&amp;quot;&lt;br /&gt;
export ACLOCAL_FLAGS=&amp;quot;-I $prefix/share/aclocal&amp;quot;&lt;br /&gt;
export PATH=$(pwd)/synfig-core/src/tool/.libs:$PATH&lt;br /&gt;
# Uncomment those line if you want to use g++ instead of the native clang &lt;br /&gt;
# compiler and preprocessor&lt;br /&gt;
#export CXX=&amp;quot;/opt/local/bin/ccache /usr/bin/g++&amp;quot;&lt;br /&gt;
#export CPP=&amp;quot;/usr/bin/cpp&amp;quot;&lt;br /&gt;
export CPPFLAGS=&amp;quot;-I/opt/local/include&amp;quot;&lt;br /&gt;
export LDFLAGS=&amp;quot;-L/opt/local/lib&amp;quot;&lt;br /&gt;
&lt;br /&gt;
cd ETL									&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix						&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b install							&amp;amp;&amp;amp;&lt;br /&gt;
									\&lt;br /&gt;
cd ../synfig-core							&amp;amp;&amp;amp;&lt;br /&gt;
libtoolize --copy --force		 	                	&amp;amp;&amp;amp;&lt;br /&gt;
autoreconf --install --force						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install					        &amp;amp;&amp;amp;&lt;br /&gt;
     	  								\&lt;br /&gt;
cd ../synfig-studio							&amp;amp;&amp;amp;&lt;br /&gt;
./bootstrap.sh						&amp;amp;&amp;amp;&lt;br /&gt;
./configure --prefix $prefix --enable-optimization=0 --enable-debug	&amp;amp;&amp;amp;&lt;br /&gt;
make --debug=b -j $CPUS install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Release&amp;diff=23202</id>
		<title>Dev:Release</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Release&amp;diff=23202"/>
				<updated>2017-05-08T09:32:10Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: /* Apply latest translations */ Update instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Categories--&amp;gt;&lt;br /&gt;
{{Category|Building}}&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
Choose a release manager (RM) who will manage the release and do most of the work and co-ordination needed to get a release out.&lt;br /&gt;
&lt;br /&gt;
The RM will be responsible for deciding when the code is ready to be released and which problems will block the release.&lt;br /&gt;
&lt;br /&gt;
The RM must have a proper up to date copy of the sourcecode. Check out {{l|Dev:Source code|here}} to see how to obtain it.&lt;br /&gt;
&lt;br /&gt;
The RM must be an administrative member of sourceforge and to have write access to the synfig git repository. Ask any of the current administrators about that. Also a wiki account and a forum account are necessary. &lt;br /&gt;
&lt;br /&gt;
We would assume that the git local copy of the source code are in a separate folder in your local drive and they are: etl, synfig-core, and synfig-studio accordingly to the {{l|Dev:Source code|source code}} instructions.&lt;br /&gt;
&lt;br /&gt;
== Splash ==&lt;br /&gt;
&lt;br /&gt;
* Pick a date at least 5 weeks into the future.&lt;br /&gt;
* Post a splash screen challenge in the forums.&lt;br /&gt;
* After 4 weeks, close the challenge and post a poll.&lt;br /&gt;
* After one week close the poll and name the winnar!&lt;br /&gt;
* Obtain the source of the winner file and commit it:&lt;br /&gt;
** Add the new splash source file to synfig-studio/images/splash-screen-xx.xx.xx.sifz where xx.xx.xx is the released version number.&lt;br /&gt;
** Disable development splash [http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=commitdiff;h=65a91a4d12c667144d2dbbee367665ac02d77b0c example]&lt;br /&gt;
** Modify synfig-studio/images/Makefile.am accordingly. [http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=commitdiff;h=0b73a062d497b08b3012b61eb48ab79d2f87a69d example]&lt;br /&gt;
** Update synfig-studio/AUTHORS, synfig-studio/README, and synfig-studio/src/gtkmm/about.cpp if needed.&lt;br /&gt;
&lt;br /&gt;
== Freeze commits ==&lt;br /&gt;
&lt;br /&gt;
It would be good if no one commit more changes/patches until the release is done. Mainly because at some point we need to stop polishing the current revision.&lt;br /&gt;
&lt;br /&gt;
First should come the feature freeze, then the string freeze and then the final cutoff of translations &amp;amp; bug fixes just before the release.&lt;br /&gt;
&lt;br /&gt;
There is no technical way to freeze commits with sourceforge, so the developers should be willing to play nice with the release.&lt;br /&gt;
&lt;br /&gt;
Ping coders, artists and translators and advice them about the release preparation. Ask for last updates before freezing the commits. Give some time to update. Preferably no more than a week.&lt;br /&gt;
&lt;br /&gt;
==Copyrights==&lt;br /&gt;
&lt;br /&gt;
Make sure the copyrights in README, the AUTHORS file and the about dialog list of contributors are up to date.&lt;br /&gt;
&lt;br /&gt;
Do a &amp;lt;code&amp;gt;grep -r Copyright README&amp;lt;/code&amp;gt; in the three etl, synfig-core and synfig-studio folders. It would return all the people that have current copyrights. Review the list of commits and the patches authoring to update it properly. Review the AUTHORS in each folder and don't forget the artists and translators.&lt;br /&gt;
&lt;br /&gt;
== Release candidates == &lt;br /&gt;
&lt;br /&gt;
Following {{l|#Create the tarball|this instructions}} to create a tarball of the current git release, {{l|#Upload tarball|upload them to sourceforge}} and tag them as Release Candidate number 1, 2 etc.  Create as many Release candidates as you need or consider. Ask people to download and {{l|#Test before publishing|test them}}. The forum and the IRC is a good place. &lt;br /&gt;
When everything goes fine then continue the release.&lt;br /&gt;
&lt;br /&gt;
== Apply latest translations ==&lt;br /&gt;
You need to fetch translations from transifex.&lt;br /&gt;
# install transifex-client ('yum install transifex-client' on Fedora)&lt;br /&gt;
# cd into synfig repository&lt;br /&gt;
# run 'bash ./autobuild/transifex-pull-translations.sh'&lt;br /&gt;
# fix lines marked as &amp;quot;TODO&amp;quot; in synfig-studio/src/languages.inc.c (if any)&lt;br /&gt;
# push edited .po files back to transifex - 'bash ./autobuild/transifex-push-translations.sh'&lt;br /&gt;
# commit changes&lt;br /&gt;
&lt;br /&gt;
==Versioning==&lt;br /&gt;
&lt;br /&gt;
*Update version in save file dialog&lt;br /&gt;
** synfig-core/src/synfig/releases.h&lt;br /&gt;
** synfig-studio/src/gui/app.cpp&lt;br /&gt;
*Finalise the dates and GIT ids in NEWS. &lt;br /&gt;
** You already know the release revision number and the date of the next commit. Place them correctly in the etl/NEWS, synfig-core/NEWS and synfig-studio/NEWS files. [http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=commitdiff;h=12b2c80e47fe97432acddd953354e5df6dc09ece example]&lt;br /&gt;
&lt;br /&gt;
*Bump version numbers and ETL/synfig dependencies in the configure.ac files.&lt;br /&gt;
**This would imply increase the version number in the following files: &lt;br /&gt;
***etl/configure.ac: increase ETL version number&lt;br /&gt;
***synfig-core/src/synfig/version.h: change SYNFIG_VERSION and SYNFIG_LIBRARY_VERSION variables&lt;br /&gt;
***synfig-core/configure.ac: increase ETL version number dependence matching the previous one and the synfig version number.&lt;br /&gt;
***synfig-studio/configure.ac: Increase ETL and synfig version number dependence matching the previous ones and the synfigstudio version number. [http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=commitdiff;h=7a5f90dfd5d710571486eada173f50f34b4e31e5 example]&lt;br /&gt;
&lt;br /&gt;
* Double check the version numbers in configure.ac and NEWS are correct. Fix them if are wrong.&lt;br /&gt;
&lt;br /&gt;
* Double check the copyright years in the README files and the about dialog are correct. Fix them if are wrong.&lt;br /&gt;
&lt;br /&gt;
== Create the tarball ==&lt;br /&gt;
&lt;br /&gt;
Create a tarball to allow users to just compile and install. Run the following command from synfig source tree:&lt;br /&gt;
 ./autobuild/synfigstudio-release.sh&lt;br /&gt;
See script body for additional usage notes.&lt;br /&gt;
&lt;br /&gt;
== Test before publishing ==&lt;br /&gt;
* Test installed stuff. To run the installed synfigstudio from the tarball you've created you have to run directly from the command line: &lt;br /&gt;
&lt;br /&gt;
 $HOME/local-synfig/bin/synfigstudio&lt;br /&gt;
&lt;br /&gt;
At this point there should be some battery of test sifz files and scripts to run various error proof tests to be sure that the release don't have nasty bugs. Share the tarball with other people that have other OS and ask them to build and run the same tests. This point is important for testing the release in different platforms, specially if there has been some changes that can have cross effects.&lt;br /&gt;
&lt;br /&gt;
== Make tags ==&lt;br /&gt;
*Make tags and update the unstable branch. Run the following commands in the repository with write access:&lt;br /&gt;
 git tag ETL-0.04.12&lt;br /&gt;
 git tag synfig-0.61.09&lt;br /&gt;
 git tag synfigstudio-0.61.09&lt;br /&gt;
 git tag -f stable&lt;br /&gt;
 git push --tags&lt;br /&gt;
With the appropriate version number.&lt;br /&gt;
&lt;br /&gt;
== Upload source tarballs ==&lt;br /&gt;
* Upload the three tarballs (ETL, synfig, synfigstudio) to SF by using [https://sourceforge.net/project/admin/explorer.php?group_id=144022 the online upload] or following the instructions from [https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download this link]. Place each tarball in the corresponding folder.&lt;br /&gt;
* Upload an proper release note file (ascii) to the Release Notes folder. Mark the Release Note checkbox from its properties.&lt;br /&gt;
* Create a single tarball file including the etl, synfig, synfigstudio and the release note text file with the name of Synfig-Studio-XXX.tar.gz, where XXX is the version. Upload it to the ETL-Synfig-SynfigStudio folder and mark it as platform downloads (linux, windows, Mac &amp;lt;sigh&amp;gt;, and other).&lt;br /&gt;
* For each file (etl, synfig, synfigstudio and Synfig-Studio) uploaded, select the Release Note you uploaded file as the release note for all them.&lt;br /&gt;
&lt;br /&gt;
== Build and upload packages ==&lt;br /&gt;
* Build binaries&lt;br /&gt;
* Create MD5SUM file for binary and source files. Command:&lt;br /&gt;
 find . -type f -print0 | sort -z | xargs -0 md5sum&lt;br /&gt;
* Upload binaries and sources to Sourceforge&lt;br /&gt;
* Upload binaries to [http://www.fosshub.com/Synfig.html FossHub]&lt;br /&gt;
* Update screenshots at FossHub (optional)&lt;br /&gt;
* Ping {{l|Distributions|distros}} to upgrade their packages by sending a mail to each of the people maintaining packages. Suggest that they send us patches and that they might want to do translations.&lt;br /&gt;
&lt;br /&gt;
== Update the website ==&lt;br /&gt;
* Write release notes based on the NEWS files ([http://www.synfig.org/cms/en/news/releases/synfig-studio-0-63-03/ example ]).&lt;br /&gt;
* Update website pages:&lt;br /&gt;
** [http://www.synfig.org/cms/en/download/stable/ Download Stable] - change links&lt;br /&gt;
** [http://www.synfig.org/cms/en/download/development Download Development] - remove dev snapshots as outdated&lt;br /&gt;
** Mark Release Notes page as visible to public&lt;br /&gt;
** [http://www.synfig.org/cms/en/download/stable/ Download Stable] - change link to Release Notes&lt;br /&gt;
** Update [http://www.synfig.org/issues/thebuggenie/synfig/release_center releases list in the Bug Tracker ]&lt;br /&gt;
** Bug Tracker: For this release mark all &amp;quot;Ready for QA&amp;quot; bugs as closed.&lt;br /&gt;
* Post a release announcement on the [http://www.synfig.org/forums/ forums]&lt;br /&gt;
* Update quick URLs&lt;br /&gt;
** Update http://synfig.org/VERSION_NUMBER to point to http://www.fosshub.com/Synfig.html&lt;br /&gt;
** Update http://synfig.org/PREVIOUS_VERSION_NUMBER to point to https://sourceforge.net/projects/synfig/files/releases/PREVIOUS_VERSION_NUMBER/&lt;br /&gt;
&lt;br /&gt;
== Spread the word ==&lt;br /&gt;
* Post update to Udemy&lt;br /&gt;
** Announcement&lt;br /&gt;
** Update required version in description/video/link (if needed)&lt;br /&gt;
* Update Gumroad Package&lt;br /&gt;
** Change description&lt;br /&gt;
** Change video / reupload&lt;br /&gt;
** Notify clients&lt;br /&gt;
* short writeup to the folks at LWN.net&lt;br /&gt;
* Synfig devl mailing list&lt;br /&gt;
* Synfig user mailing lint&lt;br /&gt;
* [https://sourceforge.net/projects/synfig/ Sourceforge site page] update &amp;amp; [http://sourceforge.net/p/synfig/news/ news]&lt;br /&gt;
* IRC topic&lt;br /&gt;
* Update [http://en.wikipedia.org/wiki/Synfig Wikipedia]&lt;br /&gt;
* Update Facebook/synfig &amp;amp; Google+/synfig pages.&lt;br /&gt;
&lt;br /&gt;
== The rest ==&lt;br /&gt;
* Celebrate with a nice $BEVERAGE_OF_CHOICE&lt;br /&gt;
* Update the wiki with the new features and review the wiki with missing/uncomplete pages. &amp;lt;&amp;lt;&amp;lt; this is important!&lt;br /&gt;
* Start thinking about the {{l|Dev:Roadmap|Roadmap}} for the next release.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
 I DON'T KNOW WHAT STUFF BELOW IS ABOUT&amp;gt; ANY IDEA? --[[User:Zelgadis|Zelgadis]] 11:04, 10 December 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Spread the Word ==&lt;br /&gt;
&lt;br /&gt;
* write press release (PR) (todo: Genete)&lt;br /&gt;
* add PR to website (for linking)&lt;br /&gt;
* update all Wikipedias&lt;br /&gt;
** en&lt;br /&gt;
** es&lt;br /&gt;
** fr&lt;br /&gt;
** ru&lt;br /&gt;
** de (todo: Oho)&lt;br /&gt;
** it&lt;br /&gt;
** ...&lt;br /&gt;
* send PR to all win/linux/debian/ubuntu... user groups, again: en, es, fr... (see below)&lt;br /&gt;
* send PR to major magazines (OS independant, Win, Linux, Artists, Designers...) in all countries...&lt;br /&gt;
* update websites &amp;quot;promoting&amp;quot; synfig ([http://linux.softpedia.com/get/Multimedia/Graphics/Synfig-7939.shtml linux.softpedia] &amp;amp; [http://www.softpedia.com/get/Multimedia/Graphic/Graphic-Editors/Synfig.shtml softpedia], [http://alternativeto.net/software/synfig/ alternativeto.net] , ...)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Distribution packager ===&lt;br /&gt;
Contact distribution packager to have the chance of auto-update.&lt;br /&gt;
&lt;br /&gt;
=== PR Distribution List ===&lt;br /&gt;
We want to develop a distribution list. Everyone can contribute with adresses of important magazines, user groups (see below, please add more if you have more). Please keep the alphabethical order for language and address. Thx.&lt;br /&gt;
&lt;br /&gt;
==== English ====&lt;br /&gt;
* Animation Conversation podcast. - Weekly podcast about animation, mainly feature films: http://www.animationconversation.com/ : feedback [AT] animationconversation.com&lt;br /&gt;
* Libre Graphics World - Portal for open source creativity: http://www.libregraphicsworld.org/ : alexandre.prokoudine [AT] gmail.com&lt;br /&gt;
* Animation Magazine - Magazine for the (american) animation business: http://animationmagazine.net/ : edit [AT] animationmagazine.net&lt;br /&gt;
* OS Artist - Free software news for artists blog: http://osartist.com/&lt;br /&gt;
* Animation Reporter - Indian animation magazine: http://www.animationreporter.com/ : suresht [AT] fontandpixel.com&lt;br /&gt;
* Cinefex - Magazine about special effects: http://www.cinefex.com/contact/&lt;br /&gt;
* Frames Per Second magazine - Digital animation magazine: http://www.fpsmagazine.com/blog/index.php : news [AT] fpsmagazine.com&lt;br /&gt;
* Deviant art Synfig group - http://synfig.deviantart.com/&lt;br /&gt;
&lt;br /&gt;
==== French ====&lt;br /&gt;
===== Webzines  =====&lt;br /&gt;
* [http://www.fousdanim.org/ Fous d'anim] Magazine en ligne sur l'actualité du cinéma d'animation avec de nombreux liens sur la majorité des sites de références.&lt;br /&gt;
* [http://www.awn.com/folioscope/gazette/ La gazette du loup], webzine sur le cinéma d'animation.&lt;br /&gt;
* [http://www.objectif-cinema.com objectif cinéma], cinema plutôt qu'animation, leur forum discute cependant logiciels.&lt;br /&gt;
* [http://www.linuxgraphic.org/wp/ linuxgraphic], portail francophone sur l'infographie libre.&lt;br /&gt;
&lt;br /&gt;
===== General info media =====&lt;br /&gt;
* http://www.paperblog.fr&lt;br /&gt;
&lt;br /&gt;
===== Forums =====&lt;br /&gt;
* http://www.forum-2d.com/f/index.php&lt;br /&gt;
* http://www.videohelp.com/software/Synfig-Studio/version-history&lt;br /&gt;
&lt;br /&gt;
===== Blogs =====&lt;br /&gt;
* http://www.polyloop.net/fr/&lt;br /&gt;
* http://www.digitalthink.fr/wordpress/&lt;br /&gt;
&lt;br /&gt;
===== Technology =====&lt;br /&gt;
* http://www.siteduzero.com/ - IT tutorials&lt;br /&gt;
* Ubuntu-fr - http://www.ubuntu-fr.org/&lt;br /&gt;
* Linux.org (fr) - http://linuxfr.org/pub/&lt;br /&gt;
* http://www.korben.info/ - actualité informatique&lt;br /&gt;
&lt;br /&gt;
==== German ====&lt;br /&gt;
Do German translation of PR: (todo: Oho)&lt;br /&gt;
send to German email addresses (todo: Oho)&lt;br /&gt;
&lt;br /&gt;
IT Magazines:&lt;br /&gt;
* c't Magazin: redaktion [AT] ct.de&lt;br /&gt;
* Linux Magazin: presse-info [AT] linux-magazin.de&lt;br /&gt;
* Ubuntu-user Magazin: pr [AT] ubuntu-user.de&lt;br /&gt;
* Linux User Magazin: redaktion [AT] linux-user.de&lt;br /&gt;
&lt;br /&gt;
Portals:&lt;br /&gt;
* ProLinux Portal: info [AT] pro-linux.de&lt;br /&gt;
* ubuntuusers.de: Ikhaya Artikel Vorschlag: http://ikhaya.ubuntuusers.de/suggest/ (todo: Oho)&lt;br /&gt;
&lt;br /&gt;
Maybe:&lt;br /&gt;
* Download Platform: freeware.de: redaktion [AT] freeware.de&lt;br /&gt;
&lt;br /&gt;
==== Spanish ====&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Release&amp;diff=23173</id>
		<title>Dev:Release</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Release&amp;diff=23173"/>
				<updated>2017-04-28T04:26:17Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: /* Apply latest translations */ Update instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Categories--&amp;gt;&lt;br /&gt;
{{Category|Building}}&lt;br /&gt;
&lt;br /&gt;
==Preparation==&lt;br /&gt;
&lt;br /&gt;
Choose a release manager (RM) who will manage the release and do most of the work and co-ordination needed to get a release out.&lt;br /&gt;
&lt;br /&gt;
The RM will be responsible for deciding when the code is ready to be released and which problems will block the release.&lt;br /&gt;
&lt;br /&gt;
The RM must have a proper up to date copy of the sourcecode. Check out {{l|Dev:Source code|here}} to see how to obtain it.&lt;br /&gt;
&lt;br /&gt;
The RM must be an administrative member of sourceforge and to have write access to the synfig git repository. Ask any of the current administrators about that. Also a wiki account and a forum account are necessary. &lt;br /&gt;
&lt;br /&gt;
We would assume that the git local copy of the source code are in a separate folder in your local drive and they are: etl, synfig-core, and synfig-studio accordingly to the {{l|Dev:Source code|source code}} instructions.&lt;br /&gt;
&lt;br /&gt;
== Splash ==&lt;br /&gt;
&lt;br /&gt;
* Pick a date at least 5 weeks into the future.&lt;br /&gt;
* Post a splash screen challenge in the forums.&lt;br /&gt;
* After 4 weeks, close the challenge and post a poll.&lt;br /&gt;
* After one week close the poll and name the winnar!&lt;br /&gt;
* Obtain the source of the winner file and commit it:&lt;br /&gt;
** Add the new splash source file to synfig-studio/images/splash-screen-xx.xx.xx.sifz where xx.xx.xx is the released version number.&lt;br /&gt;
** Disable development splash [http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=commitdiff;h=65a91a4d12c667144d2dbbee367665ac02d77b0c example]&lt;br /&gt;
** Modify synfig-studio/images/Makefile.am accordingly. [http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=commitdiff;h=0b73a062d497b08b3012b61eb48ab79d2f87a69d example]&lt;br /&gt;
** Update synfig-studio/AUTHORS, synfig-studio/README, and synfig-studio/src/gtkmm/about.cpp if needed.&lt;br /&gt;
&lt;br /&gt;
== Freeze commits ==&lt;br /&gt;
&lt;br /&gt;
It would be good if no one commit more changes/patches until the release is done. Mainly because at some point we need to stop polishing the current revision.&lt;br /&gt;
&lt;br /&gt;
First should come the feature freeze, then the string freeze and then the final cutoff of translations &amp;amp; bug fixes just before the release.&lt;br /&gt;
&lt;br /&gt;
There is no technical way to freeze commits with sourceforge, so the developers should be willing to play nice with the release.&lt;br /&gt;
&lt;br /&gt;
Ping coders, artists and translators and advice them about the release preparation. Ask for last updates before freezing the commits. Give some time to update. Preferably no more than a week.&lt;br /&gt;
&lt;br /&gt;
==Copyrights==&lt;br /&gt;
&lt;br /&gt;
Make sure the copyrights in README, the AUTHORS file and the about dialog list of contributors are up to date.&lt;br /&gt;
&lt;br /&gt;
Do a &amp;lt;code&amp;gt;grep -r Copyright README&amp;lt;/code&amp;gt; in the three etl, synfig-core and synfig-studio folders. It would return all the people that have current copyrights. Review the list of commits and the patches authoring to update it properly. Review the AUTHORS in each folder and don't forget the artists and translators.&lt;br /&gt;
&lt;br /&gt;
== Release candidates == &lt;br /&gt;
&lt;br /&gt;
Following {{l|#Create the tarball|this instructions}} to create a tarball of the current git release, {{l|#Upload tarball|upload them to sourceforge}} and tag them as Release Candidate number 1, 2 etc.  Create as many Release candidates as you need or consider. Ask people to download and {{l|#Test before publishing|test them}}. The forum and the IRC is a good place. &lt;br /&gt;
When everything goes fine then continue the release.&lt;br /&gt;
&lt;br /&gt;
== Apply latest translations ==&lt;br /&gt;
You need to fetch translations from transifex.&lt;br /&gt;
# install transifex-client ('yum install transifex-client' on Fedora)&lt;br /&gt;
# cd into synfig repository&lt;br /&gt;
# run 'bash ./autobuild/transifex-pull-translations.sh'&lt;br /&gt;
# add new languages to configuration files (if any)&lt;br /&gt;
## synfig-core: edit configure.ac - ALL_LINGUAS variable&lt;br /&gt;
## synfig-studio: edit po/LINGUAS&lt;br /&gt;
## synfig studio: edit src/languages.inc.c&lt;br /&gt;
# push edited .po files back to transifex - 'bash ./autobuild/transifex-push-translations.sh'&lt;br /&gt;
# commit changes&lt;br /&gt;
&lt;br /&gt;
==Versioning==&lt;br /&gt;
&lt;br /&gt;
*Update version in save file dialog&lt;br /&gt;
** synfig-core/src/synfig/releases.h&lt;br /&gt;
** synfig-studio/src/gui/app.cpp&lt;br /&gt;
*Finalise the dates and GIT ids in NEWS. &lt;br /&gt;
** You already know the release revision number and the date of the next commit. Place them correctly in the etl/NEWS, synfig-core/NEWS and synfig-studio/NEWS files. [http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=commitdiff;h=12b2c80e47fe97432acddd953354e5df6dc09ece example]&lt;br /&gt;
&lt;br /&gt;
*Bump version numbers and ETL/synfig dependencies in the configure.ac files.&lt;br /&gt;
**This would imply increase the version number in the following files: &lt;br /&gt;
***etl/configure.ac: increase ETL version number&lt;br /&gt;
***synfig-core/src/synfig/version.h: change SYNFIG_VERSION and SYNFIG_LIBRARY_VERSION variables&lt;br /&gt;
***synfig-core/configure.ac: increase ETL version number dependence matching the previous one and the synfig version number.&lt;br /&gt;
***synfig-studio/configure.ac: Increase ETL and synfig version number dependence matching the previous ones and the synfigstudio version number. [http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=commitdiff;h=7a5f90dfd5d710571486eada173f50f34b4e31e5 example]&lt;br /&gt;
&lt;br /&gt;
* Double check the version numbers in configure.ac and NEWS are correct. Fix them if are wrong.&lt;br /&gt;
&lt;br /&gt;
* Double check the copyright years in the README files and the about dialog are correct. Fix them if are wrong.&lt;br /&gt;
&lt;br /&gt;
== Create the tarball ==&lt;br /&gt;
&lt;br /&gt;
Create a tarball to allow users to just compile and install. Run the following command from synfig source tree:&lt;br /&gt;
 ./autobuild/synfigstudio-release.sh&lt;br /&gt;
See script body for additional usage notes.&lt;br /&gt;
&lt;br /&gt;
== Test before publishing ==&lt;br /&gt;
* Test installed stuff. To run the installed synfigstudio from the tarball you've created you have to run directly from the command line: &lt;br /&gt;
&lt;br /&gt;
 $HOME/local-synfig/bin/synfigstudio&lt;br /&gt;
&lt;br /&gt;
At this point there should be some battery of test sifz files and scripts to run various error proof tests to be sure that the release don't have nasty bugs. Share the tarball with other people that have other OS and ask them to build and run the same tests. This point is important for testing the release in different platforms, specially if there has been some changes that can have cross effects.&lt;br /&gt;
&lt;br /&gt;
== Make tags ==&lt;br /&gt;
*Make tags and update the unstable branch. Run the following commands in the repository with write access:&lt;br /&gt;
 git tag ETL-0.04.12&lt;br /&gt;
 git tag synfig-0.61.09&lt;br /&gt;
 git tag synfigstudio-0.61.09&lt;br /&gt;
 git tag -f stable&lt;br /&gt;
 git push --tags&lt;br /&gt;
With the appropriate version number.&lt;br /&gt;
&lt;br /&gt;
== Upload source tarballs ==&lt;br /&gt;
* Upload the three tarballs (ETL, synfig, synfigstudio) to SF by using [https://sourceforge.net/project/admin/explorer.php?group_id=144022 the online upload] or following the instructions from [https://sourceforge.net/apps/trac/sourceforge/wiki/Release%20files%20for%20download this link]. Place each tarball in the corresponding folder.&lt;br /&gt;
* Upload an proper release note file (ascii) to the Release Notes folder. Mark the Release Note checkbox from its properties.&lt;br /&gt;
* Create a single tarball file including the etl, synfig, synfigstudio and the release note text file with the name of Synfig-Studio-XXX.tar.gz, where XXX is the version. Upload it to the ETL-Synfig-SynfigStudio folder and mark it as platform downloads (linux, windows, Mac &amp;lt;sigh&amp;gt;, and other).&lt;br /&gt;
* For each file (etl, synfig, synfigstudio and Synfig-Studio) uploaded, select the Release Note you uploaded file as the release note for all them.&lt;br /&gt;
&lt;br /&gt;
== Build and upload packages ==&lt;br /&gt;
* Build binaries&lt;br /&gt;
* Create MD5SUM file for binary and source files. Command:&lt;br /&gt;
 find . -type f -print0 | sort -z | xargs -0 md5sum&lt;br /&gt;
* Upload binaries and sources to Sourceforge&lt;br /&gt;
* Upload binaries to [http://www.fosshub.com/Synfig.html FossHub]&lt;br /&gt;
* Update screenshots at FossHub (optional)&lt;br /&gt;
* Ping {{l|Distributions|distros}} to upgrade their packages by sending a mail to each of the people maintaining packages. Suggest that they send us patches and that they might want to do translations.&lt;br /&gt;
&lt;br /&gt;
== Update the website ==&lt;br /&gt;
* Write release notes based on the NEWS files ([http://www.synfig.org/cms/en/news/releases/synfig-studio-0-63-03/ example ]).&lt;br /&gt;
* Update website pages:&lt;br /&gt;
** [http://www.synfig.org/cms/en/download/stable/ Download Stable] - change links&lt;br /&gt;
** [http://www.synfig.org/cms/en/download/development Download Development] - remove dev snapshots as outdated&lt;br /&gt;
** Mark Release Notes page as visible to public&lt;br /&gt;
** [http://www.synfig.org/cms/en/download/stable/ Download Stable] - change link to Release Notes&lt;br /&gt;
** Update [http://www.synfig.org/issues/thebuggenie/synfig/release_center releases list in the Bug Tracker ]&lt;br /&gt;
** Bug Tracker: For this release mark all &amp;quot;Ready for QA&amp;quot; bugs as closed.&lt;br /&gt;
* Post a release announcement on the [http://www.synfig.org/forums/ forums]&lt;br /&gt;
* Update quick URLs&lt;br /&gt;
** Update http://synfig.org/VERSION_NUMBER to point to http://www.fosshub.com/Synfig.html&lt;br /&gt;
** Update http://synfig.org/PREVIOUS_VERSION_NUMBER to point to https://sourceforge.net/projects/synfig/files/releases/PREVIOUS_VERSION_NUMBER/&lt;br /&gt;
&lt;br /&gt;
== Spread the word ==&lt;br /&gt;
* Post update to Udemy&lt;br /&gt;
** Announcement&lt;br /&gt;
** Update required version in description/video/link (if needed)&lt;br /&gt;
* Update Gumroad Package&lt;br /&gt;
** Change description&lt;br /&gt;
** Change video / reupload&lt;br /&gt;
** Notify clients&lt;br /&gt;
* short writeup to the folks at LWN.net&lt;br /&gt;
* Synfig devl mailing list&lt;br /&gt;
* Synfig user mailing lint&lt;br /&gt;
* [https://sourceforge.net/projects/synfig/ Sourceforge site page] update &amp;amp; [http://sourceforge.net/p/synfig/news/ news]&lt;br /&gt;
* IRC topic&lt;br /&gt;
* Update [http://en.wikipedia.org/wiki/Synfig Wikipedia]&lt;br /&gt;
* Update Facebook/synfig &amp;amp; Google+/synfig pages.&lt;br /&gt;
&lt;br /&gt;
== The rest ==&lt;br /&gt;
* Celebrate with a nice $BEVERAGE_OF_CHOICE&lt;br /&gt;
* Update the wiki with the new features and review the wiki with missing/uncomplete pages. &amp;lt;&amp;lt;&amp;lt; this is important!&lt;br /&gt;
* Start thinking about the {{l|Dev:Roadmap|Roadmap}} for the next release.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
 I DON'T KNOW WHAT STUFF BELOW IS ABOUT&amp;gt; ANY IDEA? --[[User:Zelgadis|Zelgadis]] 11:04, 10 December 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Spread the Word ==&lt;br /&gt;
&lt;br /&gt;
* write press release (PR) (todo: Genete)&lt;br /&gt;
* add PR to website (for linking)&lt;br /&gt;
* update all Wikipedias&lt;br /&gt;
** en&lt;br /&gt;
** es&lt;br /&gt;
** fr&lt;br /&gt;
** ru&lt;br /&gt;
** de (todo: Oho)&lt;br /&gt;
** it&lt;br /&gt;
** ...&lt;br /&gt;
* send PR to all win/linux/debian/ubuntu... user groups, again: en, es, fr... (see below)&lt;br /&gt;
* send PR to major magazines (OS independant, Win, Linux, Artists, Designers...) in all countries...&lt;br /&gt;
* update websites &amp;quot;promoting&amp;quot; synfig ([http://linux.softpedia.com/get/Multimedia/Graphics/Synfig-7939.shtml linux.softpedia] &amp;amp; [http://www.softpedia.com/get/Multimedia/Graphic/Graphic-Editors/Synfig.shtml softpedia], [http://alternativeto.net/software/synfig/ alternativeto.net] , ...)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Distribution packager ===&lt;br /&gt;
Contact distribution packager to have the chance of auto-update.&lt;br /&gt;
&lt;br /&gt;
=== PR Distribution List ===&lt;br /&gt;
We want to develop a distribution list. Everyone can contribute with adresses of important magazines, user groups (see below, please add more if you have more). Please keep the alphabethical order for language and address. Thx.&lt;br /&gt;
&lt;br /&gt;
==== English ====&lt;br /&gt;
* Animation Conversation podcast. - Weekly podcast about animation, mainly feature films: http://www.animationconversation.com/ : feedback [AT] animationconversation.com&lt;br /&gt;
* Libre Graphics World - Portal for open source creativity: http://www.libregraphicsworld.org/ : alexandre.prokoudine [AT] gmail.com&lt;br /&gt;
* Animation Magazine - Magazine for the (american) animation business: http://animationmagazine.net/ : edit [AT] animationmagazine.net&lt;br /&gt;
* OS Artist - Free software news for artists blog: http://osartist.com/&lt;br /&gt;
* Animation Reporter - Indian animation magazine: http://www.animationreporter.com/ : suresht [AT] fontandpixel.com&lt;br /&gt;
* Cinefex - Magazine about special effects: http://www.cinefex.com/contact/&lt;br /&gt;
* Frames Per Second magazine - Digital animation magazine: http://www.fpsmagazine.com/blog/index.php : news [AT] fpsmagazine.com&lt;br /&gt;
* Deviant art Synfig group - http://synfig.deviantart.com/&lt;br /&gt;
&lt;br /&gt;
==== French ====&lt;br /&gt;
===== Webzines  =====&lt;br /&gt;
* [http://www.fousdanim.org/ Fous d'anim] Magazine en ligne sur l'actualité du cinéma d'animation avec de nombreux liens sur la majorité des sites de références.&lt;br /&gt;
* [http://www.awn.com/folioscope/gazette/ La gazette du loup], webzine sur le cinéma d'animation.&lt;br /&gt;
* [http://www.objectif-cinema.com objectif cinéma], cinema plutôt qu'animation, leur forum discute cependant logiciels.&lt;br /&gt;
* [http://www.linuxgraphic.org/wp/ linuxgraphic], portail francophone sur l'infographie libre.&lt;br /&gt;
&lt;br /&gt;
===== General info media =====&lt;br /&gt;
* http://www.paperblog.fr&lt;br /&gt;
&lt;br /&gt;
===== Forums =====&lt;br /&gt;
* http://www.forum-2d.com/f/index.php&lt;br /&gt;
* http://www.videohelp.com/software/Synfig-Studio/version-history&lt;br /&gt;
&lt;br /&gt;
===== Blogs =====&lt;br /&gt;
* http://www.polyloop.net/fr/&lt;br /&gt;
* http://www.digitalthink.fr/wordpress/&lt;br /&gt;
&lt;br /&gt;
===== Technology =====&lt;br /&gt;
* http://www.siteduzero.com/ - IT tutorials&lt;br /&gt;
* Ubuntu-fr - http://www.ubuntu-fr.org/&lt;br /&gt;
* Linux.org (fr) - http://linuxfr.org/pub/&lt;br /&gt;
* http://www.korben.info/ - actualité informatique&lt;br /&gt;
&lt;br /&gt;
==== German ====&lt;br /&gt;
Do German translation of PR: (todo: Oho)&lt;br /&gt;
send to German email addresses (todo: Oho)&lt;br /&gt;
&lt;br /&gt;
IT Magazines:&lt;br /&gt;
* c't Magazin: redaktion [AT] ct.de&lt;br /&gt;
* Linux Magazin: presse-info [AT] linux-magazin.de&lt;br /&gt;
* Ubuntu-user Magazin: pr [AT] ubuntu-user.de&lt;br /&gt;
* Linux User Magazin: redaktion [AT] linux-user.de&lt;br /&gt;
&lt;br /&gt;
Portals:&lt;br /&gt;
* ProLinux Portal: info [AT] pro-linux.de&lt;br /&gt;
* ubuntuusers.de: Ikhaya Artikel Vorschlag: http://ikhaya.ubuntuusers.de/suggest/ (todo: Oho)&lt;br /&gt;
&lt;br /&gt;
Maybe:&lt;br /&gt;
* Download Platform: freeware.de: redaktion [AT] freeware.de&lt;br /&gt;
&lt;br /&gt;
==== Spanish ====&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Grouppage-editor&amp;diff=22519</id>
		<title>MediaWiki:Grouppage-editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Grouppage-editor&amp;diff=22519"/>
				<updated>2017-02-23T15:34:13Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Created page with &amp;quot;Project:Editors&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Project:Editors&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Group-editor-member&amp;diff=22518</id>
		<title>MediaWiki:Group-editor-member</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Group-editor-member&amp;diff=22518"/>
				<updated>2017-02-23T15:33:35Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Created page with &amp;quot;editor&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;editor&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Group-editor&amp;diff=22517</id>
		<title>MediaWiki:Group-editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Group-editor&amp;diff=22517"/>
				<updated>2017-02-23T15:32:59Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Name of trusted group, who can skip captcha&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Editors&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Template:Languages&amp;diff=22425</id>
		<title>Template:Languages</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Template:Languages&amp;diff=22425"/>
				<updated>2017-02-03T14:59:48Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Fixed Czech language code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;div class=&amp;quot;languages&amp;quot;&amp;gt;&amp;lt;table width=&amp;quot;100%&amp;quot; style=&amp;quot;border:1px solid #AAAAAA;border-collapse:collapse;clear:both;font-size:85%;margin:0px 1px 5px 1px;padding:0.2em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr valign=&amp;quot;top&amp;quot; style=&amp;quot;background: #EEF3E2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 25px; padding-left: 0.5em;&amp;quot;&amp;gt;[[Image:Geographylogo.png|25px|Languages|link=]]&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;width: 100px; white-space: nowrap; padding: 4px 1em 0 0.5em; border-right: 1px solid #aaaaaa;&amp;quot;&amp;gt;'''[[Meta:Translation|Language:]]'''&amp;amp;nbsp;&amp;lt;/td&amp;gt;&amp;lt;td style=&amp;quot;padding: 1px 1em 0; background: #F6F9ED;&amp;quot;&amp;gt;&lt;br /&gt;
{{Languages/Lang|en}}{{Languages/Lang|ar}}{{Languages/Lang|bg}}{{Languages/Lang|br}}{{Languages/Lang|ca}}{{Languages/Lang|cs}}{{Languages/Lang|de}}{{Languages/Lang|dk}}{{Languages/Lang|es}}{{Languages/Lang|fa}}{{Languages/Lang|fi}}{{Languages/Lang|fr}}{{Languages/Lang|id}}{{Languages/Lang|it}}{{Languages/Lang|ja}}{{Languages/Lang|ko}}{{Languages/Lang|nl}}{{Languages/Lang|pl}}{{Languages/Lang|pt}}{{Languages/Lang|ro}}{{Languages/Lang|ru}}{{Languages/Lang|sr}}{{Languages/Lang|sv}}{{Languages/Lang|tr}}{{Languages/Lang|zh-cn}}{{Languages/Lang|zh-tw}}&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
== Syntax ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{{Languages}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
The template is displayed automatically on documentation pages with the help of PageNotice extension. See:&lt;br /&gt;
* [[MediaWiki:Top-notice-ns-0]] - Main namespace (top)&lt;br /&gt;
* [[MediaWiki:Bottom-notice-ns-0]] - Main namespace (bottom)&lt;br /&gt;
* [[MediaWiki:Top-notice-ns-14]] - Category namespace (top)&lt;br /&gt;
* [[MediaWiki:Bottom-notice-ns-14]] - Category namespace (bottom)&lt;br /&gt;
* [[MediaWiki:Top-notice-ns-100]] - Doc namespace (top)&lt;br /&gt;
* [[MediaWiki:Bottom-notice-ns-100]] - Doc namespace (bottom)&lt;br /&gt;
&lt;br /&gt;
See [[Meta:Guides/i18n]] for further details about translating pages.&lt;br /&gt;
&lt;br /&gt;
{{Subpages}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Template:Advertising&amp;diff=22404</id>
		<title>Template:Advertising</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Template:Advertising&amp;diff=22404"/>
				<updated>2017-01-07T09:42:36Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq: {{PAGENAME}} | {{BASEPAGENAME}}&lt;br /&gt;
  |&amp;lt;!--then EN --&amp;gt;&lt;br /&gt;
  {{#ifexpr: {{#time: s }} &amp;lt; 10 &lt;br /&gt;
    | {{#widget:AdCourseEn}}&lt;br /&gt;
    | {{#widget:AdSenseBlock}}&lt;br /&gt;
  }}&lt;br /&gt;
  |&amp;lt;!--else--&amp;gt;&lt;br /&gt;
  {{#switch: {{SUBPAGENAME}}&lt;br /&gt;
    | de = {{#widget:AdCourseDe}}&lt;br /&gt;
    | fr = {{#widget:AdCourseFr}}&lt;br /&gt;
    | ru = {{#widget:AdCourseRu}}&lt;br /&gt;
    | {{#widget:AdSenseBlock}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Template:Advertising&amp;diff=22403</id>
		<title>Template:Advertising</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Template:Advertising&amp;diff=22403"/>
				<updated>2016-12-16T14:56:23Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Language-specific ads&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq: {{PAGENAME}} | {{BASEPAGENAME}}&lt;br /&gt;
  |&amp;lt;!--then EN --&amp;gt;&lt;br /&gt;
  {{#ifexpr: {{#time: s }} &amp;gt; 30 &lt;br /&gt;
    | {{#widget:AdCourseEn}}&lt;br /&gt;
    | {{#widget:AdSenseBlock}}&lt;br /&gt;
  }}&lt;br /&gt;
  |&amp;lt;!--else--&amp;gt;&lt;br /&gt;
  {{#switch: {{SUBPAGENAME}}&lt;br /&gt;
    | de = {{#widget:AdCourseDe}}&lt;br /&gt;
    | fr = {{#widget:AdCourseFr}}&lt;br /&gt;
    | ru = {{#widget:AdCourseRu}}&lt;br /&gt;
    | {{#widget:AdSenseBlock}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Widget:AdCourseRu&amp;diff=22402</id>
		<title>Widget:AdCourseRu</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Widget:AdCourseRu&amp;diff=22402"/>
				<updated>2016-12-16T14:49:04Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Created page with &amp;quot;&amp;lt;noinclude&amp;gt;__NOTOC__ Synfig Training Course advertising (Russian) &amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt; &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://gumroad.com/l/synfig-training-1&amp;quot; target=&amp;quot;_blan...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
Synfig Training Course advertising (Russian)&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://gumroad.com/l/synfig-training-1&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://www.synfig.org/banners/banner-728x90-v4-ru.sifz.png&amp;quot; width=728 height=90&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Widget:AdCourseFr&amp;diff=22401</id>
		<title>Widget:AdCourseFr</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Widget:AdCourseFr&amp;diff=22401"/>
				<updated>2016-12-16T14:47:20Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Created page with &amp;quot;&amp;lt;noinclude&amp;gt;__NOTOC__ Synfig Training Course advertising (French) &amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt; &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://gumroad.com/l/synfig-training-1-fr&amp;quot; target=&amp;quot;_bl...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
Synfig Training Course advertising (French)&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://gumroad.com/l/synfig-training-1-fr&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://www.synfig.org/banners/banner-728x90-v4-fr.sifz.png&amp;quot; width=728 height=90&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Widget:AdCourseDe&amp;diff=22400</id>
		<title>Widget:AdCourseDe</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Widget:AdCourseDe&amp;diff=22400"/>
				<updated>2016-12-16T14:45:59Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Created page with &amp;quot;&amp;lt;noinclude&amp;gt;__NOTOC__ Synfig Training Course advertising (German) &amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt; &amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://gumroad.com/l/synfig-training-1-de&amp;quot; target=&amp;quot;_bl...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
Synfig Training Course advertising (German)&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://gumroad.com/l/synfig-training-1-de&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://www.synfig.org/banners/banner-728x90-v4-de.sifz.png&amp;quot; width=728 height=90&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Widget:AdCourseEn&amp;diff=22399</id>
		<title>Widget:AdCourseEn</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Widget:AdCourseEn&amp;diff=22399"/>
				<updated>2016-12-16T12:59:42Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Fix image link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
Synfig Training Course advertising (English)&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://gumroad.com/l/synfig-training-1-en&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://www.synfig.org/banners/banner-728x90-v4-en.sifz.png&amp;quot; width=728 height=90&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Template:Advertising&amp;diff=22398</id>
		<title>Template:Advertising</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Template:Advertising&amp;diff=22398"/>
				<updated>2016-12-08T11:48:57Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Random&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq: {{PAGENAME}} | {{BASEPAGENAME}}&lt;br /&gt;
  |&amp;lt;!--then--&amp;gt;&lt;br /&gt;
  {{#ifexpr: {{#time: s }} &amp;gt; 30 &lt;br /&gt;
    | {{#widget:AdCourseEn}}&lt;br /&gt;
    | {{#widget:AdSenseBlock}}&lt;br /&gt;
  }}&lt;br /&gt;
  |&amp;lt;!--else--&amp;gt;{{#widget:AdSenseBlock}}}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Template:Advertising&amp;diff=22397</id>
		<title>Template:Advertising</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Template:Advertising&amp;diff=22397"/>
				<updated>2016-12-08T11:46:38Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq: {{PAGENAME}} | {{BASEPAGENAME}}&lt;br /&gt;
|&amp;lt;!--then--&amp;gt;{{#widget:AdCourseEn}}&lt;br /&gt;
|&amp;lt;!--else--&amp;gt;{{#widget:AdSenseBlock}}}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Bottom-notice-ns-102&amp;diff=22396</id>
		<title>MediaWiki:Bottom-notice-ns-102</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Bottom-notice-ns-102&amp;diff=22396"/>
				<updated>2016-12-08T08:47:38Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Advertising}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Top-notice-ns-102&amp;diff=22395</id>
		<title>MediaWiki:Top-notice-ns-102</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Top-notice-ns-102&amp;diff=22395"/>
				<updated>2016-12-08T08:47:29Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Advertising}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Bottom-notice-ns-101&amp;diff=22394</id>
		<title>MediaWiki:Bottom-notice-ns-101</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Bottom-notice-ns-101&amp;diff=22394"/>
				<updated>2016-12-08T08:46:52Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Advertising}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Top-notice-ns-101&amp;diff=22393</id>
		<title>MediaWiki:Top-notice-ns-101</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Top-notice-ns-101&amp;diff=22393"/>
				<updated>2016-12-08T08:46:45Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Advertising}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Bottom-notice-ns-100&amp;diff=22392</id>
		<title>MediaWiki:Bottom-notice-ns-100</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Bottom-notice-ns-100&amp;diff=22392"/>
				<updated>2016-12-08T08:46:24Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;{{Advertising}}&lt;br /&gt;
{{Languages}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Bottom-notice-ns-100&amp;diff=22391</id>
		<title>MediaWiki:Bottom-notice-ns-100</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Bottom-notice-ns-100&amp;diff=22391"/>
				<updated>2016-12-08T08:46:06Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Undo revision 22390 by Zelgadis (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;{{#widget:AdSenseBlock}}&lt;br /&gt;
{{Languages}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Bottom-notice-ns-100&amp;diff=22390</id>
		<title>MediaWiki:Bottom-notice-ns-100</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Bottom-notice-ns-100&amp;diff=22390"/>
				<updated>2016-12-08T08:45:44Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;{{#widget:AdSenseBlock}}&lt;br /&gt;
{{Advertising}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Bottom-notice-ns-1&amp;diff=22389</id>
		<title>MediaWiki:Bottom-notice-ns-1</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Bottom-notice-ns-1&amp;diff=22389"/>
				<updated>2016-12-08T08:43:21Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Advertising}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Bottom-notice-ns-0&amp;diff=22388</id>
		<title>MediaWiki:Bottom-notice-ns-0</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Bottom-notice-ns-0&amp;diff=22388"/>
				<updated>2016-12-08T08:42:48Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Advertising}}&lt;br /&gt;
{{Languages}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Top-notice-ns-1&amp;diff=22387</id>
		<title>MediaWiki:Top-notice-ns-1</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Top-notice-ns-1&amp;diff=22387"/>
				<updated>2016-12-08T08:42:38Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Advertising}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Top-notice-ns-100&amp;diff=22386</id>
		<title>MediaWiki:Top-notice-ns-100</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Top-notice-ns-100&amp;diff=22386"/>
				<updated>2016-12-08T08:42:04Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{Warnings}}&lt;br /&gt;
{{Advertising}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Top-notice-ns-0&amp;diff=22385</id>
		<title>MediaWiki:Top-notice-ns-0</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Top-notice-ns-0&amp;diff=22385"/>
				<updated>2016-12-08T08:40:32Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{Warnings}}&lt;br /&gt;
{{Advertising}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Template:Advertising&amp;diff=22384</id>
		<title>Template:Advertising</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Template:Advertising&amp;diff=22384"/>
				<updated>2016-12-08T08:40:25Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Created page with &amp;quot;{{#ifeq: {{PAGENAME}} | {{BASEPAGENAME}}|&amp;lt;!--then--&amp;gt;{{#widget:AdCourseEn}}|&amp;lt;!--else--&amp;gt;{{#widget:AdSenseBlock}}}}&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq: {{PAGENAME}} | {{BASEPAGENAME}}|&amp;lt;!--then--&amp;gt;{{#widget:AdCourseEn}}|&amp;lt;!--else--&amp;gt;{{#widget:AdSenseBlock}}}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Widget:AdCourseEn&amp;diff=22383</id>
		<title>Widget:AdCourseEn</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Widget:AdCourseEn&amp;diff=22383"/>
				<updated>2016-12-08T08:38:59Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: Fix description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
Synfig Training Course advertising (English)&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;a href=&amp;quot;https://gumroad.com/l/synfig-training-1-en&amp;quot; target=&amp;quot;_blank&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;http://www.synfig.org/banners/banner-728x90-v4.sifz.png&amp;quot; width=728 height=90&amp;gt;&amp;lt;/a&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=MediaWiki:Top-notice-ns-0&amp;diff=22382</id>
		<title>MediaWiki:Top-notice-ns-0</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=MediaWiki:Top-notice-ns-0&amp;diff=22382"/>
				<updated>2016-12-08T07:33:45Z</updated>
		
		<summary type="html">&lt;p&gt;Zelgadis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages}}&lt;br /&gt;
{{Warnings}}&lt;br /&gt;
{{#ifeq: {{PAGENAME}} | {{BASEPAGENAME}}|&amp;lt;!--then--&amp;gt;{{#widget:AdCourseEn}}|&amp;lt;!--else--&amp;gt;{{#widget:AdSenseBlock}}}}&lt;/div&gt;</summary>
		<author><name>Zelgadis</name></author>	</entry>

	</feed>