<?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=Eldruin</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=Eldruin"/>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/Special:Contributions/Eldruin"/>
		<updated>2026-05-30T15:11:44Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.26.3</generator>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Developer_Documentation&amp;diff=19877</id>
		<title>Developer Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Developer_Documentation&amp;diff=19877"/>
				<updated>2014-12-22T12:10:07Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: Add link to ETL replacement page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Developer Documentation part of this wiki is primarily for the following groups of people:&lt;br /&gt;
&lt;br /&gt;
*Current developers of the code&lt;br /&gt;
*Future and potential developers&lt;br /&gt;
*Those interested in bug filing and generating ideas&lt;br /&gt;
&lt;br /&gt;
Index:&lt;br /&gt;
&lt;br /&gt;
* {{l|Dev:Build Instructions|Build Instructions}}&lt;br /&gt;
* [[Building Documentation|Building Documentation]]&lt;br /&gt;
* {{l|Dev:Source code|Source code}} description and workflow&lt;br /&gt;
* {{l|Dev:IDE|IDE Setup}}&lt;br /&gt;
* {{l|Dev:Roadmap|Roadmap}}&lt;br /&gt;
* {{l|Dev:Wish list|Wish List}}&lt;br /&gt;
* {{l|Dev:Coding_Conventions|Coding Conventions}}&lt;br /&gt;
* {{l|Dev:UI/UX Redesign|UI/UX Redesign}}&lt;br /&gt;
* {{l|Dev:ETL_replacement|ETL replacement}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Synfig is divided into three main components: etl, synfig-core and synfig-studio.&lt;br /&gt;
* '''[http://download.tuxfamily.org/synfig/api/ETL/annotated.html ETL]''' is the extended template library. One of its most important components is the shared object class, which is the base class for most other parts of the application. Using &amp;quot;handles&amp;quot; to shared objects instead of c++ pointers provides garbage collection via reference counting.&lt;br /&gt;
* '''[http://download.tuxfamily.org/synfig/api/synfig-core/annotated.html Synfig-core]''' is the core/command-line (cli) renderer (&amp;quot;synfig&amp;quot;) contains the document data structure for the application: valuenodes, layers, and canvases.&lt;br /&gt;
* '''[http://download.tuxfamily.org/synfig/api/synfig-studio/annotated.html Synfig Studio]''' (&amp;quot;synfig-studio&amp;quot;) provides the gui for the application.&lt;br /&gt;
* See also: {{l|Dev:How Synfig Works|How Synfig Works}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Synfig use several external libs :&lt;br /&gt;
* [https://developer.gnome.org/gtkmm-tutorial/2.24/ Gtkmm 2], some work on branchs has been started to reach [https://developer.gnome.org/gtk3/ Gtkmm 3] ([https://developer.gnome.org/gtk3/3.4/gtk-migrating-2-to-3.html Migrating 2to3])&lt;br /&gt;
* [https://developer.gnome.org/gtkmm/2.24/namespaceGdk_1_1Cairo.html Cairo] (Cairo render mode)&lt;br /&gt;
* [http://freetype.org/ Freetype2] library (Text layer rendering in software render mode)&lt;br /&gt;
* [http://libxmlplusplus.sourceforge.net/ libxmlplusplus] (to parse the project files)&lt;br /&gt;
* [http://www.boost.org/doc/libs/1_54_0/doc/html/program_options.html Boost Program Options] (synfig cli)&lt;br /&gt;
* [http://www.mltframework.org/ MLT Framework - Media Loving Toolkit] (Sound Layer)&lt;br /&gt;
&lt;br /&gt;
Optionally you will also need :&lt;br /&gt;
* [http://www.imagemagick.org/Magick++/ Magick++] the ImageMagick API (to build mod_magickpp, the magick++ module from synfig-core)&lt;br /&gt;
* libavcodec (to build mod_libavcodec, from synfig-core)&lt;br /&gt;
* libmng  (to build mod_mng, from synfig-core)&lt;br /&gt;
... check the {{l|Dev:Build Instructions|Build Instructions}} page for more detailed informations.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Complete coding tutorials:&lt;br /&gt;
* {{l|Dev:Adding a Layer|Adding a Layer}}&lt;br /&gt;
* Adding a Panel, {{l|Dev:Adding a Panel - Part I|Part I}} and {{l|Dev:Adding a Panel - Part II|Part II}}. '''Note: these are highly out of date''' please note that the directory &amp;quot;gtkmm&amp;quot; has been renamed to &amp;quot;gui&amp;quot;, Panel is now know has Dock. Also, some files were moved into subfolders (take a look inside the &amp;quot;gui/docks&amp;quot; folder for example).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other links:&lt;br /&gt;
&lt;br /&gt;
* [http://download.tuxfamily.org/synfig/api/index.html ETL, Synfig, SynfigStudio Api documentation]&lt;br /&gt;
* [http://synfig.org/wiki/index.php?title=Special:PrefixIndex&amp;amp;from=&amp;amp;namespace=102  All Dev namespace pages]&lt;br /&gt;
* {{l|Dev:Translation|Translate the application}}&lt;br /&gt;
* {{l|Dev:Release|Release procedure}}&lt;br /&gt;
* {{l|Dev:GoogleSoC|Google Summer of Code}}&lt;br /&gt;
* [http://sourceforge.net/p/synfig/mailman/synfig-devl/  Synfig Developer Mailing List]&lt;br /&gt;
* [http://www.synfig.org/issues/thebuggenie/synfig Synfig Issue Tracker]&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:ETL_replacement&amp;diff=19872</id>
		<title>Dev:ETL replacement</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:ETL_replacement&amp;diff=19872"/>
				<updated>2014-12-22T10:31:57Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: Creation and initial content&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;At least the majority of the functionality implemented in the ETL is already implemented in the boost libraries, which have a very high quality, are broadly used, peer-reviewed and well tested. This effort is to replace the ETL with boost libraries, achieving simplified code with a more robust base.&lt;br /&gt;
&lt;br /&gt;
The replacement will be done in the following order:&lt;br /&gt;
# command-line interface (ONGOING)&lt;br /&gt;
# synfig modules&lt;br /&gt;
# synfig library&lt;br /&gt;
# synfig studio library&lt;br /&gt;
# synfig studio&lt;br /&gt;
Along the way I can most probably simplify/improve some stuff and make synfig's code cleaner.&lt;br /&gt;
&lt;br /&gt;
Follow the progress in [https://github.com/eldruin/synfig/tree/eldruin_etl_replacement this branch]&lt;br /&gt;
&lt;br /&gt;
[http://www.synfig.org/issues/thebuggenie/synfig/issues/723 Bug tracker issue]&lt;br /&gt;
&lt;br /&gt;
Here is a list of functions of the ETL and their replacement:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! ETL&lt;br /&gt;
! Boost equivalent&lt;br /&gt;
|-&lt;br /&gt;
| etl::filename_extension&lt;br /&gt;
| boost::filesystem::path::extension()&lt;br /&gt;
|-&lt;br /&gt;
| etl::filename_sans_extension&lt;br /&gt;
| boost::filesystem::path: combination of parent_path(), stem() and extension()&lt;br /&gt;
|-&lt;br /&gt;
| etl::basename&lt;br /&gt;
| boost::filesystem::path: combination of stem() and extension()&lt;br /&gt;
|-&lt;br /&gt;
| etl::dirname&lt;br /&gt;
| boost::filesystem::path::parent_path()&lt;br /&gt;
|-&lt;br /&gt;
| etl::clock&lt;br /&gt;
| boost::chrono::system_clock or high_resolution_clock&lt;br /&gt;
|-&lt;br /&gt;
| etl::strprintf&lt;br /&gt;
| boost::format()&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:GoogleSoC/ApplicationForm&amp;diff=15338</id>
		<title>Dev:GoogleSoC/ApplicationForm</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:GoogleSoC/ApplicationForm&amp;diff=15338"/>
				<updated>2012-03-06T23:07:32Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: Reviewed and edited with an American Politics graduate&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Questions from http://www.google-melange.com/gsoc/org/application/google/gsoc2012 (needs registration)&lt;br /&gt;
&lt;br /&gt;
* '''Organization name:'''&lt;br /&gt;
** Synfig&lt;br /&gt;
&lt;br /&gt;
* '''Organization description:'''&lt;br /&gt;
** We are a community of developers and animators centered around Synfig Studio, a 2D vector animation program aiming to improve artistic workflow by focusing on tweening and interpolation. We work together to refine and add new features to the Synfig software, create tutorials, and run challenges to help and inspire our artists.&lt;br /&gt;
&lt;br /&gt;
* '''Organization home page url:'''&lt;br /&gt;
** http://synfig.org/&lt;br /&gt;
&lt;br /&gt;
* '''Main organization License:'''&lt;br /&gt;
** GNU GPL v2 or later.&lt;br /&gt;
&lt;br /&gt;
* '''What is the URL for your Ideas page?'''&lt;br /&gt;
** http://wiki.synfig.org/wiki/Dev:GoogleSoC/Ideas&lt;br /&gt;
&lt;br /&gt;
* '''What is the main IRC channel for your organization?'''&lt;br /&gt;
** #synfig on irc.freenode.net Logs: http://dooglus.rincevent.net/synfig/logs&lt;br /&gt;
&lt;br /&gt;
* '''What is the main development mailing list for your organization?'''&lt;br /&gt;
** http://lists.sourceforge.net/lists/listinfo/synfig-devl&lt;br /&gt;
&lt;br /&gt;
* '''Why is your organization applying to participate in Google Summer of Code 2012? What do you hope to gain by participating?'''&lt;br /&gt;
** Because our developing team is still rather small, we hope to attract new and enthusiastic developers to the project. &lt;br /&gt;
An increase of developers would allow us to implement long-awaited features needed by the animation community.&lt;br /&gt;
&lt;br /&gt;
* '''Did your organization participate in past Google Summer of Codes? If so, please summarize your involvement and the successes and challenges of your participation.'''&lt;br /&gt;
** Our organization has not participated in any past GSoCs.&lt;br /&gt;
&lt;br /&gt;
* '''If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)?'''&lt;br /&gt;
** We applied to GSoC in 2008 and 2010.&lt;br /&gt;
&lt;br /&gt;
* '''Does your organization have an application template you would like to see students use? If so, please provide it now.'''&lt;br /&gt;
** http://wiki.synfig.org/wiki/Dev:GoogleSoC/StudentApplicationTemplate&lt;br /&gt;
&lt;br /&gt;
* '''What criteria did you use to select your mentors for this year's program? Please be as specific as possible.'''&lt;br /&gt;
** For our mentors, we have selected the most motivated and consistent contributors to the project who have extensive knowledge of specific areas of the Synfig Studio source code. Mentor: Carlos López González, Lead Developer&lt;br /&gt;
&lt;br /&gt;
* '''What is your plan for dealing with disappearing students?'''&lt;br /&gt;
** We plan to insure that students know how much we value their participation, and we will reach out to them by offering support and guidance. We ask students to provide their email and phone number to the project administrator. If a student disappears without notice, the mentor will contact him/her via email to clarify the situation. If there is no reply within 3 days, the administrator will phone him/her personally. If the student cannot be reached, the administrator will contact Google and report the situation.&lt;br /&gt;
&lt;br /&gt;
* '''What is your plan for dealing with disappearing mentors?'''&lt;br /&gt;
** First and foremost, we are certain that our mentor and lead developer is incredibly commited, as he has demonstrated by his many years of service. However, our backup mentor will be available throughout the summer to provide additional support for students, and will be able to fill in for the primary mentor if he is unavailable. In the case of an emergency, or if the mentor disappears and the project administrator fails contact him by phone, the backup mentor will fully take over his responsibilities.&lt;br /&gt;
&lt;br /&gt;
* '''What steps will you take to encourage students to interact with your project's community before, during and after the program?'''&lt;br /&gt;
** We want to have students who are active with the project before the application process begins. We ask potential students to introduce themselves on the project mailing list and forums and they would get to talk with some of our developers and animators. We will treat them as any new member of our community and help them learn how the project works, and we will answer any questions they may have.&lt;br /&gt;
As part of our application process, we require that students are able to compile and run Synfig, and we ask them to submit several patches or pull requests and any artwork made in Synfig that they want to share. Those that have shown active envolvement and eagerness to participate will be favored for acceptance into the program, and we believe that the enthusiastic students will choose to stay after the summer is over.&lt;br /&gt;
Once a student's code is reviewed and critiqued, we will strive to integrate it into a new release of Synfig. If students see the tangible impact of their work over the summer, they will be more motivated to remain a part of our community after GSoC is over.&lt;br /&gt;
&lt;br /&gt;
* '''Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.'''&lt;br /&gt;
** No, we're not.&lt;br /&gt;
&lt;br /&gt;
* '''Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here.'''&lt;br /&gt;
** N.A.&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:GoogleSoC/ApplicationForm&amp;diff=15332</id>
		<title>Dev:GoogleSoC/ApplicationForm</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:GoogleSoC/ApplicationForm&amp;diff=15332"/>
				<updated>2012-03-06T09:29:10Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Questions from http://www.google-melange.com/gsoc/org/application/google/gsoc2012 (needs registration)&lt;br /&gt;
&lt;br /&gt;
* '''Organization name:'''&lt;br /&gt;
** Synfig&lt;br /&gt;
&lt;br /&gt;
* '''Organization description:'''&lt;br /&gt;
** We are a community of developers and animators focused on developing Synfig Studio, a 2D vector animation program aiming to improve artistic workflow by focusing on tweening and interpolation. We work together to refine and add new features to the Synfig software, and create tutorials and run challenges to help and inspire our artists.&lt;br /&gt;
&lt;br /&gt;
* '''Organization home page url:'''&lt;br /&gt;
** http://synfig.org/&lt;br /&gt;
&lt;br /&gt;
* '''Main organization License:'''&lt;br /&gt;
** GNU GPL v2 or later.&lt;br /&gt;
&lt;br /&gt;
* '''What is the URL for your Ideas page?'''&lt;br /&gt;
** http://wiki.synfig.org/wiki/Dev:GoogleSoC/Ideas&lt;br /&gt;
&lt;br /&gt;
* '''What is the main IRC channel for your organization?'''&lt;br /&gt;
** #synfig on irc.freenode.net Logs: http://dooglus.rincevent.net/synfig/logs&lt;br /&gt;
&lt;br /&gt;
* '''What is the main development mailing list for your organization?'''&lt;br /&gt;
** http://lists.sourceforge.net/lists/listinfo/synfig-devl&lt;br /&gt;
&lt;br /&gt;
* '''Why is your organization applying to participate in Google Summer of Code 2012? What do you hope to gain by participating?'''&lt;br /&gt;
** We hope to attract new and enthusiastic developers to the project. &lt;br /&gt;
&lt;br /&gt;
* '''Did your organization participate in past Google Summer of Codes? If so, please summarize your involvement and the successes and challenges of your participation.'''&lt;br /&gt;
** Our organization have not participated in the past GSoCs.&lt;br /&gt;
&lt;br /&gt;
* '''If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)?'''&lt;br /&gt;
** We applied to GSoC in 2008 and 2010.&lt;br /&gt;
&lt;br /&gt;
* '''Does your organization have an application template you would like to see students use? If so, please provide it now.'''&lt;br /&gt;
** http://wiki.synfig.org/wiki/Dev:GoogleSoC/StudentApplicationTemplate&lt;br /&gt;
&lt;br /&gt;
* '''What criteria did you use to select your mentors for this year's program? Please be as specific as possible.'''&lt;br /&gt;
** For our mentors, we have selected the most motivated and consistent contributors to the project who extensive knowledge of specific areas of the Synfig Studio source code. Mentor: Carlos López González, Lead Developer&lt;br /&gt;
&lt;br /&gt;
* '''What is your plan for dealing with disappearing students?'''&lt;br /&gt;
** We ask students to provide their email and phone number to the project administrator. If a student disappears without notice, the mentor will contact him/her via email to clarify the situation. If there is no reply within 3 days, the administrator will phone him/her personally. If the student cannot be reached, the administrator will contact Google and report the situation.&lt;br /&gt;
&lt;br /&gt;
* '''What is your plan for dealing with disappearing mentors?'''&lt;br /&gt;
** Our backup mentor will be available throughout the summer to provide additional support for students, and will be able to fill in for the primary mentor if he is unavailable. In the case of an emeregency, or if the mentor is disappears and the project administrator fails contact him by phone, the backup mentor will fully take over his responsibilities.&lt;br /&gt;
&lt;br /&gt;
* '''What steps will you take to encourage students to interact with your project's community before, during and after the program?'''&lt;br /&gt;
** We want students who are active with the project before the application process begins. We ask potential students to introduce themselves on the project mailing list and forums and get to talk with some of our developers and animators. We will treat them as any new member of our community and help them learn the project and answer any questions they may have.&lt;br /&gt;
As part of our application process, we require that students are able to compile and run Synfig and ask them to submit several patches or pull requests, and any artwork made in Synfig that they want to share. Those that have shown active envolvement and eagerness to participated will be favored for acceptance into the program, and we believe that the enthusiastic students will stay after the summer is over.&lt;br /&gt;
Once a student's code is reviewed and critiqued, we will strive to integrate it into a new release of Synfig. If students see the tangible impact of their work over the summer, they will be more motivated to remain a part of our community after GSoC is over.&lt;br /&gt;
&lt;br /&gt;
* '''Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.'''&lt;br /&gt;
** No, we're not.&lt;br /&gt;
&lt;br /&gt;
* '''Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here.'''&lt;br /&gt;
** No, we're not.&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:GoogleSoC/ApplicationForm&amp;diff=15316</id>
		<title>Dev:GoogleSoC/ApplicationForm</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:GoogleSoC/ApplicationForm&amp;diff=15316"/>
				<updated>2012-03-04T11:58:25Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* Administrators and Mentors */ Students shouldn't be in the list yet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Administrators and Mentors ==&lt;br /&gt;
&lt;br /&gt;
Please read: [http://libregraphicsworld.org/blog/entry/some-insights-on-google-summer-of-code Some insights on Google Smmer of Code]&lt;br /&gt;
&lt;br /&gt;
 Participants please double check your link ID's!!!&lt;br /&gt;
&lt;br /&gt;
* Administrator: {{l|User:Zelgadis|Konstantin Dmitriev aka Zelgadis}}, LinkID: zelgadis&lt;br /&gt;
* Mentor: {{l|User:Genete|Carlos López González aka Genete}}, LinkID: genete&lt;br /&gt;
* Backup Mentor: Nikita Kitaev aka Nikitakit,  LinkID: '''???'''&lt;br /&gt;
* Backup Administrator: David Rylander aka Rylleman, LinkID: '''???'''&lt;br /&gt;
&lt;br /&gt;
== Application form ==&lt;br /&gt;
&lt;br /&gt;
Questions from http://www.google-melange.com/gsoc/org/application/google/gsoc2012 (needs registration)&lt;br /&gt;
&lt;br /&gt;
* '''Organization name:'''&lt;br /&gt;
** Synfig&lt;br /&gt;
&lt;br /&gt;
* '''Organization description:'''&lt;br /&gt;
** Synfig is a free and open-source 2D animation software, designed as powerful industrial-strength solution for creating film-quality animation using a vector and bitmap artwork. It eliminates the need to create animation frame-by frame, allowing to produce 2D animation of a higher quality with fewer people and resources. Synfig is available for Windows, Linux and MacOS X.&lt;br /&gt;
&lt;br /&gt;
* '''Organization home page url:'''&lt;br /&gt;
** http://synfig.org/&lt;br /&gt;
&lt;br /&gt;
* '''Main organization License:'''&lt;br /&gt;
** GNU GPL v3 or later.&lt;br /&gt;
&lt;br /&gt;
* '''What is the URL for your Ideas page?'''&lt;br /&gt;
** http://synfig.org/wiki/Dev:GoogleSoC#Ideas&lt;br /&gt;
&lt;br /&gt;
* '''What is the main IRC channel for your organization?'''&lt;br /&gt;
** #synfig on irc.freenode.net&lt;br /&gt;
** Comment: We keep logs at http://dooglus.rincevent.net/synfig/logs&lt;br /&gt;
&lt;br /&gt;
* '''What is the main development mailing list for your organization?'''&lt;br /&gt;
** http://lists.sourceforge.net/lists/listinfo/synfig-devl&lt;br /&gt;
&lt;br /&gt;
* '''Why is your organization applying to participate in Google Summer of Code 2012? What do you hope to gain by participating?'''&lt;br /&gt;
** We have a student contributing to the project. By participating to Google Summer of Code we want to get funding to let him dedicate full time to the project and complete one of the important features (see our ideas list).&lt;br /&gt;
&lt;br /&gt;
* '''Did your organization participate in past Google Summer of Codes? If so, please summarize your involvement and the successes and challenges of your participation.'''&lt;br /&gt;
** Our organization have not participated in the past GSoCs.&lt;br /&gt;
&lt;br /&gt;
* '''If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)?'''&lt;br /&gt;
** Yes, we did - 2008, 2010.&lt;br /&gt;
&lt;br /&gt;
* '''Does your organization have an application template you would like to see students use? If so, please provide it now.'''&lt;br /&gt;
** No, we do not.&lt;br /&gt;
&lt;br /&gt;
* '''What criteria did you use to select your mentors for this year's program? Please be as specific as possible.'''&lt;br /&gt;
** The individual selected for the mentor role should be highly-motivated, long-standing contributor of the project. He must have a very good knowledge of C/C++ and Synfig Studio program code (or it's specific area). It could be easily determined from the svn/git commit history (http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=summary) or Ohloh statistics (https://www.ohloh.net/p/synfig/contributors). He also must be a regular on IRC, wiki and forums (see previous http://dooglus.rincevent.net/synfig/logs/,  http://synfig.org/Special:RecentChanges and http://synfig.org/forums/). Synfig is an animation program, so the selected mentor should know its common animation concepts. Carlos López González (aka Genete) is willing to be a mentor because he is complying with all these requirements: he is contributing to Synfig code since 2009, he is experienced with Synfig code (http://cia.vc/stats/author/Carlos%20Lopez), he is experienced in animation (http://www.youtube.com/user/Genete) and there is one more thing - he lives in the same city as the student and they already have direct meetings working on Synfig code.&lt;br /&gt;
&lt;br /&gt;
* '''What is your plan for dealing with disappearing students?'''&lt;br /&gt;
** Participating student should provide this contact information (email, phone number, living address) to both mentor and administrator. We already have student willing to work on the particular project idea during SoC. That student already proved his capabilities by contributing the patches to the source code (http://cia.vc/stats/author/Diego%20Barrios%20Romero). As he lives in the same city as his mentor, the mentor will have the opportunity to visit him personally in case of his disappearance.&lt;br /&gt;
So the plan is: 1. If student not responses to mail for 3 days, then phone him personally. 2. In case of no response via phone - mentor visits student personally to specify the reason of student's absence. 3. In case of emergency situation leading to student unability to continue work on the project - report the accident to google soc.&lt;br /&gt;
&lt;br /&gt;
* '''What is your plan for dealing with disappearing mentors?'''&lt;br /&gt;
** During the SoC we have one backup mentor. If active mentor become unavailable or unresponsive during the project period then project administrator contacts him by phone. At the same time backup mentor takes the place of absent mentor.&lt;br /&gt;
&lt;br /&gt;
* '''What steps will you take to encourage students to interact with your project's community before, during and after the program?'''&lt;br /&gt;
** Student and mentor have already met directly (offline) and have discussed their plans for development. The student is contributing to the wiki, participating in forum discussions and hangs on the IRC channel.&lt;br /&gt;
&lt;br /&gt;
* '''Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.'''&lt;br /&gt;
** ???&lt;br /&gt;
&lt;br /&gt;
* '''Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here.'''&lt;br /&gt;
** ???&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
&lt;br /&gt;
As we already have a mentor and a student defined, they chose a particular idea to work on:&lt;br /&gt;
&lt;br /&gt;
'''Implement OpenGL render engine'''&lt;br /&gt;
&lt;br /&gt;
You may notice that Synfig Studio is SLOW, making it practically unusable on hardware that is over 6 years old. The biggest reason for this is that all of the color calculations are done in floating point -- because Synfig Studio was built from the ground up with High-Dynamic-Range Imaging in mind. HOWEVER, this will not be the case forever.&lt;br /&gt;
&lt;br /&gt;
Today's graphics processors are powerful and we want to speed up Synfig Studio by implementing the rendering via OpenGL.&lt;br /&gt;
&lt;br /&gt;
First attempts for such implementation were made earlier ([http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=shortlog;h=refs/heads/uiomae_opengl 1]), ([http://synfig.org/forums/viewtopic.php?f=22&amp;amp;t=362 2]) and the first tests showed speed increase up to 14 times.&lt;br /&gt;
&lt;br /&gt;
Unfortunately the person who initiated the development of the OpenGL branch was unable to continue development because of personal issues and the branch were abandoned.&lt;br /&gt;
&lt;br /&gt;
We want to pursue implementing full OpenGL-powered rendering for Synfig Studio. That will result in faster redraw for the workarea during the animation construction and thus make a much better user experience. A good performance of the application during playback and screen redraw is vital for implementing other resource-consuming features like bones and sound support (we need close to real-time response for that).&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Developer_Documentation&amp;diff=15315</id>
		<title>Developer Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Developer_Documentation&amp;diff=15315"/>
				<updated>2012-03-04T11:56:00Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: GSoC link rename&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Developer Documentation part of this wiki is primarily for the following groups of people:&lt;br /&gt;
&lt;br /&gt;
*Current developers of the code&lt;br /&gt;
*Future and potential developers&lt;br /&gt;
*Those interested in bug filing and generating ideas&lt;br /&gt;
&lt;br /&gt;
Index:&lt;br /&gt;
&lt;br /&gt;
* {{l|Dev:Build Instructions|Build Instructions}}&lt;br /&gt;
* {{l|Dev:Source code|Source code}} description and workflow&lt;br /&gt;
* {{l|Dev:Roadmap|Roadmap}}&lt;br /&gt;
* {{l|Dev:Wish list|Wish List}}&lt;br /&gt;
* {{l|Dev:Coding_Conventions|Coding Conventions}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Synfig is divided into three main components: etl, synfig-core and synfig-studio.&lt;br /&gt;
* ETL is the extended template library. One of its most important components is the shared object class, which is the base class for most other parts of the application. Using &amp;quot;handles&amp;quot; to shared objects instead of c++ pointers provides garbage collection via reference counting.&lt;br /&gt;
* The core/command-line renderer (&amp;quot;synfig&amp;quot;) contains the document data structure for the application: valuenodes, layers, and canvases.&lt;br /&gt;
* Synfig Studio (&amp;quot;synfig-studio&amp;quot;) provides the gui for the application.&lt;br /&gt;
* See also: {{l|Dev:How Synfig Works|How Synfig Works}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Complete coding tutorials:&lt;br /&gt;
* {{l|Dev:Adding a Layer|Adding a Layer}}&lt;br /&gt;
* Adding a Panel, {{l|Dev:Adding a Panel - Part I|Part I}} and {{l|Dev:Adding a Panel - Part I|Part II}}. Note: these are slightly out of date: please note that the directory &amp;quot;gtkmm&amp;quot; has been renamed to &amp;quot;gui&amp;quot; and some files were moved into subfolders.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
&lt;br /&gt;
* [http://synfig.org/wiki/index.php?title=Special%3APrefixIndex&amp;amp;from=&amp;amp;namespace=102  All Dev namespace pages]&lt;br /&gt;
* {{l|Dev:Translation|Translate the application}}&lt;br /&gt;
* {{l|Dev:Release|Release procedure}}&lt;br /&gt;
* {{l|Dev:GoogleSoC|Google Summer of Code}}&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:GoogleSoC/ApplicationForm&amp;diff=15314</id>
		<title>Dev:GoogleSoC/ApplicationForm</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:GoogleSoC/ApplicationForm&amp;diff=15314"/>
				<updated>2012-03-03T12:05:39Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* Administrators and Mentors */ account created&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Administrators and Mentors ==&lt;br /&gt;
&lt;br /&gt;
Please read: [http://libregraphicsworld.org/blog/entry/some-insights-on-google-summer-of-code Some insights on Google Smmer of Code]&lt;br /&gt;
&lt;br /&gt;
 Particiapnts please double check your link ID's!!!&lt;br /&gt;
&lt;br /&gt;
* Administrator: {{l|User:Zelgadis|Konstantin Dmitriev aka Zelgadis}}, LinkID: zelgadis&lt;br /&gt;
* Mentor: {{l|User:Genete|Carlos López González aka Genete}}, LinkID: genete&lt;br /&gt;
* Student: {{l|User:Eldruin|Diego Barrios Romero aka Eldruin}}, LinkID: eldruin&lt;br /&gt;
* Backup Mentor: Nikita Kitaev aka Nikitakit,  LinkID: '''???'''&lt;br /&gt;
* Backup Administrator: David Rylander aka Rylleman, LinkID: '''???'''&lt;br /&gt;
&lt;br /&gt;
== Application form ==&lt;br /&gt;
&lt;br /&gt;
Questions from http://www.google-melange.com/gsoc/org/application/google/gsoc2012 (needs registration)&lt;br /&gt;
&lt;br /&gt;
* '''Organization name:'''&lt;br /&gt;
** Synfig&lt;br /&gt;
&lt;br /&gt;
* '''Organization description:'''&lt;br /&gt;
** Synfig is a free and open-source 2D animation software, designed as powerful industrial-strength solution for creating film-quality animation using a vector and bitmap artwork. It eliminates the need to create animation frame-by frame, allowing to produce 2D animation of a higher quality with fewer people and resources. Synfig is available for Windows, Linux and MacOS X.&lt;br /&gt;
&lt;br /&gt;
* '''Organization home page url:'''&lt;br /&gt;
** http://synfig.org/&lt;br /&gt;
&lt;br /&gt;
* '''Main organization License:'''&lt;br /&gt;
** GNU GPL v3 or later.&lt;br /&gt;
&lt;br /&gt;
* '''What is the URL for your Ideas page?'''&lt;br /&gt;
** http://synfig.org/wiki/Dev:GoogleSoC#Ideas&lt;br /&gt;
&lt;br /&gt;
* '''What is the main IRC channel for your organization?'''&lt;br /&gt;
** #synfig on irc.freenode.net&lt;br /&gt;
** Comment: We keep logs at http://dooglus.rincevent.net/synfig/logs&lt;br /&gt;
&lt;br /&gt;
* '''What is the main development mailing list for your organization?'''&lt;br /&gt;
** http://lists.sourceforge.net/lists/listinfo/synfig-devl&lt;br /&gt;
&lt;br /&gt;
* '''Why is your organization applying to participate in Google Summer of Code 2012? What do you hope to gain by participating?'''&lt;br /&gt;
** We have a student contributing to the project. By participating to Google Summer of Code we want to get funding to let him dedicate full time to the project and complete one of the important features (see our ideas list).&lt;br /&gt;
&lt;br /&gt;
* '''Did your organization participate in past Google Summer of Codes? If so, please summarize your involvement and the successes and challenges of your participation.'''&lt;br /&gt;
** Our organization have not participated in the past GSoCs.&lt;br /&gt;
&lt;br /&gt;
* '''If your organization has not previously participated in Google Summer of Code, have you applied in the past? If so, for what year(s)?'''&lt;br /&gt;
** Yes, we did - 2008, 2010.&lt;br /&gt;
&lt;br /&gt;
* '''Does your organization have an application template you would like to see students use? If so, please provide it now.'''&lt;br /&gt;
** No, we do not.&lt;br /&gt;
&lt;br /&gt;
* '''What criteria did you use to select your mentors for this year's program? Please be as specific as possible.'''&lt;br /&gt;
** The individual selected for the mentor role should be highly-motivated, long-standing contributor of the project. He must have a very good knowledge of C/C++ and Synfig Studio program code (or it's specific area). It could be easily determined from the svn/git commit history (http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=summary) or Ohloh statistics (https://www.ohloh.net/p/synfig/contributors). He also must be a regular on IRC, wiki and forums (see previous http://dooglus.rincevent.net/synfig/logs/,  http://synfig.org/Special:RecentChanges and http://synfig.org/forums/). Synfig is an animation program, so the selected mentor should know its common animation concepts. Carlos López González (aka Genete) is willing to be a mentor because he is complying with all these requirements: he is contributing to Synfig code since 2009, he is experienced with Synfig code (http://cia.vc/stats/author/Carlos%20Lopez), he is experienced in animation (http://www.youtube.com/user/Genete) and there is one more thing - he lives in the same city as the student and they already have direct meetings working on Synfig code.&lt;br /&gt;
&lt;br /&gt;
* '''What is your plan for dealing with disappearing students?'''&lt;br /&gt;
** Participating student should provide this contact information (email, phone number, living address) to both mentor and administrator. We already have student willing to work on the particular project idea during SoC. That student already proved his capabilities by contributing the patches to the source code (http://cia.vc/stats/author/Diego%20Barrios%20Romero). As he lives in the same city as his mentor, the mentor will have the opportunity to visit him personally in case of his disappearance.&lt;br /&gt;
So the plan is: 1. If student not responses to mail for 3 days, then phone him personally. 2. In case of no response via phone - mentor visits student personally to specify the reason of student's absence. 3. In case of emergency situation leading to student unability to continue work on the project - report the accident to google soc.&lt;br /&gt;
&lt;br /&gt;
* '''What is your plan for dealing with disappearing mentors?'''&lt;br /&gt;
** During the SoC we have one backup mentor. If active mentor become unavailable or unresponsive during the project period then project administrator contacts him by phone. At the same time backup mentor takes the place of absent mentor.&lt;br /&gt;
&lt;br /&gt;
* '''What steps will you take to encourage students to interact with your project's community before, during and after the program?'''&lt;br /&gt;
** Student and mentor have already met directly (offline) and have discussed their plans for development. The student is contributing to the wiki, participating in forum discussions and hangs on the IRC channel.&lt;br /&gt;
&lt;br /&gt;
* '''Are you a new organization who has a Googler or other organization to vouch for you? If so, please list their name(s) here.'''&lt;br /&gt;
** ???&lt;br /&gt;
&lt;br /&gt;
* '''Are you an established or larger organization who would like to vouch for a new organization applying this year? If so, please list their name(s) here.'''&lt;br /&gt;
** ???&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
&lt;br /&gt;
As we already have a mentor and a student defined, they chose a particular idea to work on:&lt;br /&gt;
&lt;br /&gt;
'''Implement OpenGL render engine'''&lt;br /&gt;
&lt;br /&gt;
You may notice that Synfig Studio is SLOW, making it practically unusable on hardware that is over 6 years old. The biggest reason for this is that all of the color calculations are done in floating point -- because Synfig Studio was built from the ground up with High-Dynamic-Range Imaging in mind. HOWEVER, this will not be the case forever.&lt;br /&gt;
&lt;br /&gt;
Today's graphics processors are powerful and we want to speed up Synfig Studio by implementing the rendering via OpenGL.&lt;br /&gt;
&lt;br /&gt;
First attempts for such implementation were made earlier ([http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=shortlog;h=refs/heads/uiomae_opengl 1]), ([http://synfig.org/forums/viewtopic.php?f=22&amp;amp;t=362 2]) and the first tests showed speed increase up to 14 times.&lt;br /&gt;
&lt;br /&gt;
Unfortunately the person who initiated the development of the OpenGL branch was unable to continue development because of personal issues and the branch were abandoned.&lt;br /&gt;
&lt;br /&gt;
We want to pursue implementing full OpenGL-powered rendering for Synfig Studio. That will result in faster redraw for the workarea during the animation construction and thus make a much better user experience. A good performance of the application during playback and screen redraw is vital for implementing other resource-consuming features like bones and sound support (we need close to real-time response for that).&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Wish_list&amp;diff=15287</id>
		<title>Dev:Wish list</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Wish_list&amp;diff=15287"/>
				<updated>2012-03-01T12:10:55Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* import/export .swf files */ rated and opinion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TranslationBar|CONTENT={{Tr/en}} · {{Tr/fr}}}}&lt;br /&gt;
&lt;br /&gt;
'''''Warning''''': We need more people working on the code if we are going to be able to achieve all the feature requests.&lt;br /&gt;
&lt;br /&gt;
Got a great idea for a new feature? Just add it here, or on the [http://sourceforge.net/tracker/?group_id=144022&amp;amp;atid=757419 feature requests tracker]. Before you do, please check the [https://synfig.svn.sourceforge.net/svnroot/synfig/ETL/trunk/TODO etl], [https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-core/trunk/TODO synfig] and [https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-studio/trunk/TODO synfigstudio] TODO files for similar ideas. Please add a rating of how essential this feature is to your workflow according to the following scale:&lt;br /&gt;
&lt;br /&gt;
#&amp;quot;Well, it might be nifty. To someone.&amp;quot;&lt;br /&gt;
#&amp;quot;I probably would make use this&amp;quot;&lt;br /&gt;
#&amp;quot;It's not essential, but I'd really like to have this at my disposal.&amp;quot;&lt;br /&gt;
#&amp;quot;Synfig would be soooo much better with this change&amp;quot;&lt;br /&gt;
#&amp;quot;I can't/won't use Synfig without it!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
Please clean this section up as desired.&lt;br /&gt;
&lt;br /&gt;
* A different color dialog for picking/changing colors easier.&lt;br /&gt;
** Swatch menu from gimp with .gpl files.&lt;br /&gt;
* Workflow improvements, like content help and ui-refinement.&lt;br /&gt;
** set the fine line between design and animation work.&lt;br /&gt;
** Greet the user at startup, give hints and help in the ui to better the usability and user-experience.&lt;br /&gt;
* test synfig cross-platform (Linux, Windows, Mac)&lt;br /&gt;
* Pluggable App (run from memory stick)&lt;br /&gt;
* make a short film about synfigs capabilitys in a starwars kind of spaceship setting as promo video about 3 minutes long.&lt;br /&gt;
* Sound layer&lt;br /&gt;
* full tablet support&lt;br /&gt;
* small set of vector contend for fast animation results&lt;br /&gt;
* Help is available as pdf-file and distributed with the program&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Input:'''&lt;br /&gt;
* Import vectorgraphics (svg,fig)&lt;br /&gt;
&lt;br /&gt;
'''Output:'''&lt;br /&gt;
* Render output to [http://animatedpng.com/ animated PNG]&lt;br /&gt;
* Export vectorgraphics (svg,fig)&lt;br /&gt;
&lt;br /&gt;
== Interchangeable/customizing Splash screen ==&lt;br /&gt;
[3] GIMP has this feature of letting users [http://docs.gimp.org/2.2/en/using-customize-splashscreen.html|customize GIMP's splash screen]. GIMP looks for &amp;lt;code&amp;gt;'''samples'''&amp;lt;/code&amp;gt; directory under &amp;lt;code&amp;gt;'''.gimp-2.x'''&amp;lt;/code&amp;gt; then randomly picks a picture from it to become the spash image.&lt;br /&gt;
&lt;br /&gt;
This will also help GNU/Linux distro, like Ubuntu, to adopt Synfig and put their logo on the splash screen.&lt;br /&gt;
&lt;br /&gt;
Also, official Synfig distribution can pack sample arts created by other artists to be randomly displayed -- like the synfig.org's title's background image.&lt;br /&gt;
&lt;br /&gt;
== Verbosity levels for error output ==&lt;br /&gt;
&lt;br /&gt;
Synfigstudio needs verbosity levels for the error output. Levels are info, warning and error. Make sure, to spew out only errors when something nasty happens. If someone wants to know all what happens in synfigstudio, the user should activate a higher level of verbosity with the command line switch --verbose=all,info,warning&lt;br /&gt;
&lt;br /&gt;
== Usage screen for new users ==&lt;br /&gt;
&lt;br /&gt;
Synfig and Synfigstudio need a usage screen, which helps a new user to type in the right syntax on the command line. Any switch not known to the program should point to the usage screen. On the bottom of the usage screen could be a hint: &amp;quot; For more help use synfig --help&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Keyboard shortcuts for panning ==&lt;br /&gt;
&lt;br /&gt;
The navigation and canvas windows need shortcut keys that pan the canvas view horizontally and vertically. Probably just the arrow keys would work for this, as well as the home/end/pageup/pagedown keys. Ctrl and shift variants could make the panning more or less.&lt;br /&gt;
: You can pan with a middle mouse button. --{{l|User:Zelgadis|Zelgadis}} 00:59, 24 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Linking Zoom layer to Paste Canvas ==&lt;br /&gt;
&lt;br /&gt;
[3] It is impossible to link Center of Zoom layer to Origin of Paste Canvas without exporting a value. It often needed for pans &amp;amp; zooms. Suggestion: rename &amp;quot;Center&amp;quot; parameter of Zoom Layer to the &amp;quot;Origin&amp;quot;. Will improve the workflow. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
== Convert Strings ==&lt;br /&gt;
[4] It could be very good to have feature to represent Convert sequences as strings and vice versa - make convert sequences from strings. Example: To produce this convert sequence: &lt;br /&gt;
&lt;br /&gt;
{{l|Image:WishList-ConvertStrings.png}}&lt;br /&gt;
&lt;br /&gt;
I just right-click on &amp;quot;Origin&amp;quot; parameter and choosing &amp;quot;String Convert&amp;quot; menu item. In the appeared dialog I just entering: &amp;quot;=Composite(Scale(x, Switch(scalar, 1.0, 0)), y)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Also if I clicking on the parameter already containing convert sequence and choosing &amp;quot;String Convert&amp;quot;, it shows string representation of current convert sequence with an ability to edit.&lt;br /&gt;
&lt;br /&gt;
This feature will make possible to easy copy convert sequences from one parameter to another.  --{{l|User:Zelgadis|Zelgadis}} 03:46, 2 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Non scalable timeline ==&lt;br /&gt;
[3] It should be useful for me to have non scalable timeline. It's hard to set timing when the distance between frames is always different in different documents and in different situations. Suggestion: make a non-scalable mode for timeline, where 1 second interval is always the same. Will improve the workflow. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
==Smart linking of tangents==&lt;br /&gt;
[4] As described in {{l|Sewing BLines}}, when linking red tangent to yellow they are placed opposite against each other. This is normal from the program's point of view, but not normal for new users. Even more, to avoid this effect user needs to made some complex steps (see {{l|Sewing BLines#Solution}}). It takes a lot of time if we vahe lot of verticles to sew their tangents.&lt;br /&gt;
&lt;br /&gt;
Suggestion:&lt;br /&gt;
* When linking tangents with the same color, program should act as usual.&lt;br /&gt;
* When linking tangents with different color program should automaticaly add Convert-&amp;gt;Scale (-1) to avoid their opposite placement.&lt;br /&gt;
To allow linking two tangents in opposite position, I suggest to add a new menu option for tangents &amp;quot;Link Opposite&amp;quot;. When linking two tangents with this option:&lt;br /&gt;
* When linking tangents with the different color, program should act as it acts now - no additional converts added.&lt;br /&gt;
* When linking tangents with the same color program should automaticaly add Convert-&amp;gt;Scale (-1) to plcae them opposite against each other.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
==Morph sets==&lt;br /&gt;
This feature is similar to some other suggestions below, just with another way to approach. In animations are many movements, which can be put in some kind of library, to make use of at a later time. For example, movements to animate the key moments of a mouth, sampling syllables. For vector graphics, it should be possible to define some key points, which move just a small amount of space, to form another syllable. These syllables in this example, should be stored in a drop down list, to be able to select them for the key time on the timeline.&lt;br /&gt;
A morph-set for walking-left-to-right is different from a morph-set for a mounth, which has as options a,e,i,o,u,bah-disgust,happy-smile. The morph-set has to be stored as vector coordinates in a relative way(offset), e.g. X1=+212,+34;X2=-56,-23;X3=+3,-88;&lt;br /&gt;
&lt;br /&gt;
To make use of the morph-set for the mouth, you have to define first, which vector points in your drawn mouth, correspond to the key-points of your morph-set. X1, X2, X3, Xn&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 06:53, 27 May 2008 (EDT)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Render time approximation==&lt;br /&gt;
Synfigstudio should get a button in the render dialog, which calculates the total render time for the actual settings (frames per second, length of the film, resolution, output format) It should testrender 1 picture, when the amount of total frames is below 1000. Over 1000 frames, it should testrender 10 pictures for more precise calculation.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 12:49, 22 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
==Smartrendering==&lt;br /&gt;
I have made 25,000 small png-pictures with my 800Mhz computer in about 45 minutes. Synfigstudio did calculate each single frame of it. Nothing changed in this picture, so it does only need to get written to disk for the amount of pictures, until the next change (animation) has an effect on the output picture. This should save time for bigger projects with thousands of pictures. With smartrendering it is also possible to predict the total amound of space in Megabytes (Mibibytes) of the final render of the movie. It should calculate how much it needs and see, if enough space is free on the harddisk before the rendering get started.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 12:49, 22 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:More specifically, only render frames that need to be changed since the last rendering as defined by something like a last edit (or write to filesystem) timestamp and a dependency tree.  ...In the short-term, a tool like gmake might be useful for implementing this accross sessions if we add &amp;quot;last changed&amp;quot; timestamps to one or more sections of sifz files (rather than the almost useless case of a single sifz file timestamp if virtually all information for a project is kept within a single sifz file). We would use the last edit times in the filesystem if synfig recognizes the potentially generated files have names that already exist on disk. [There could be some tricky issues.] ...Within a given SynfigStudio (synfig?) session, we can use the timestamps from disk or just internalize that information without redoing the lookup. In addition, synfig internal dependencies based on what objects were changed since the last rendering can be used to implement a makefile whose make output would include a list of which frames need recalculation. Of course, the job of gmake could be internalized as well. [[User:Jose X|Jose X]] 21:18, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== get_color method in text and radial blur ==&lt;br /&gt;
&lt;br /&gt;
[5] Without get_color method distorion produces artifacts &lt;br /&gt;
[http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1831355&amp;amp;group_id=144022&amp;amp;atid=757416 bug  1831355]. So I would like to get this problem fixed before doing something else. --{{l|User:AkhIL|AkhIL}} 22:41, 1 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Full functional of group dialog ==&lt;br /&gt;
&lt;br /&gt;
[5] Group dialog is broken now [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1796833&amp;amp;group_id=144022&amp;amp;atid=757416 bug 1796833]. So we should get old features work right before making new one. --{{l|User:AkhIL|AkhIL}} 22:41, 1 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== import/export .swf files ==&lt;br /&gt;
&lt;br /&gt;
[2] Not that important regarding where the internet community are moving towards. [[Dev:Wish_list#import.2Fexport_.svg_frames_sequence.2C_and.2For_.svg_animations | SVG animation]] -- [[User:Eldruin|Eldruin]] 12:10, 1 March 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
== import/export .svg frames sequence, and/or .svg animations ==&lt;br /&gt;
&lt;br /&gt;
[3] Synfig could export to svg animations with SVG+SMIL, which would make possible to view an animation directly in the browser without any previous rendering.&lt;br /&gt;
&lt;br /&gt;
SMIL is the W3C recommended XML markup language to describe multimedia presentations. It defines markup for timing, layout, animations, visual transitions, and media embedding, among other things. SMIL allows presenting media items such as text, images, video, audio, links to other SMIL presentations, and files from multiple web servers which is getting supported in mayor browsers. Actually it's necessary to support SMIL in order to pass Acid3 web standards test.&lt;br /&gt;
: See http://en.wikipedia.org/wiki/SVG_animation &lt;br /&gt;
: http://en.wikipedia.org/wiki/Synchronized_Multimedia_Integration_Language &lt;br /&gt;
[[User:Eldruin|Eldruin]] 12:07, 1 March 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
== a realtime .sif synchronized text window ==&lt;br /&gt;
&lt;br /&gt;
just like the xml editor of Inkscape, or the html editor in Dreamweaver (this is hugelly useful for productivity)&lt;br /&gt;
&lt;br /&gt;
I thinks scripting API can be implement in this way. For example you make XML DOM like implementation for python which alows to change DOM tree from python code and see chenges in canvas. By this way you can implement import/export scripts. Automation scripts. And a lot of different things. Even synchronization of animation between blender and synfig. --{{l|User:AkhIL|AkhIL}} 23:10, 26 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== choosing colour from gimp/inkscape palettes ==&lt;br /&gt;
&lt;br /&gt;
very useful when you need some colour comformity of what you're doing &lt;br /&gt;
&lt;br /&gt;
== Good high-level documentation of the source code ==&lt;br /&gt;
&lt;br /&gt;
(2) It'd be nice if a newbie could quickly navigate around the source code. The best thing to do would be to add top-level comments in each file, explaining what that file does, a README.TXT in each directory, explaining what's in that directory. This would be pretty fast and easy to do, and make it much easier for new programmers to join. &lt;br /&gt;
&lt;br /&gt;
Time permitting, it would also be good to document on a high level what the data structures are, but that's harder, since those tend to evolve, and it is often difficult to keep in sync. It would also be useful to document what individual functions do (just a one-liner high-level description), but that also takes more time.&lt;br /&gt;
: There is a page link in the wiki that connect to the [http://www.synfig.com/doc Synfig API Documentation]. I think this link should be highlighted to be more accessible for newbies contributors and mature developers (the link was found {{l|Releases/DeveloperPreview#Support | here}}). --{{l|User:Genete|Genete}} 10:02, 11 December 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
== Mathematical functions to animate ==&lt;br /&gt;
(2/4) If you want to make a waving flag, it would be handful a sine function, tuned with random correctors, for example. &lt;br /&gt;
: -This should generate waypoints each 1, 2, 4 frames or any other step at artist's wish.&lt;br /&gt;
: -When applying a function you can add it to current values, add it to 1st frame values or simply override old values. Perhaps other options (such multiplication) would be fine, too. Something like texture editor in [http://www.artofillusion.org Art of Illusion], perhaps.&lt;br /&gt;
Perhaps it would be useful reusing the [http://www.gnu.org/software/octave/ Octave] source code to parse mathematical expressions.&lt;br /&gt;
I have rated this wish with a '2' because undoubtly many users will not be familiar to mathematical concepts, but for those who will be, I'd rate it with a 4. It would be possible to make a ball describing a parabolic moving in no time.&lt;br /&gt;
{{l|User:ajotatxe|ajotatxe}} 20 November 2007&lt;br /&gt;
: dooglus can probably chime in better than I here (see his example of balls on mathematical paths at http://uk.youtube.com/watch?v=YTpSfUthuVE ), but I believe that this is already possible.  Synfig does support a variety of mathematical transforms for parameters, although the way you do this is by no means intuitive.  (You might also want to check out the preambletaffy.sifz example for an easier approach to a waving flag. I know you were just using that as an example, but for the record...) {{l|User:Pxegeek|Pxegeek}} 00:58, 21 November 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
: I'd also rate it with a (4) (and updated the rating accordingly), not for this special case, but to make many workarounds much easier.  Simulating [Parabolic Shot|free fall], for example, would be a lot easier with real formulas.  I don't know, though how easy it will be to implement, maybe waiting for a scripting interface to be implemented is better than hacking this feature in an ad-hoc manner.  --{{l|User:Rubikcube|Rubikcube}} 16:38, 29 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
:One thing to keep in mind is that 2D animations will not frequently look realistic if you implement the exact mathematics without some sort of 3d perspective transformation. And then there is the complex physics also involved in defining precise trajectories. ..This aside, what is needed is simply a function value generator as a function of n variables where at least one variable can be the frame you are on (I don't have much experience with synfig, but I presume there is a way to explicitly get the value of the frame/time you are on) and where this output value can be linked to any other parameter (of a compatible type); you can hook these function block outputs to inputs of other instances of the generator; and the outputs are defined once on every frame. To do a movement like a parabola you configure the generator to output parabola values (one per frame or even allow skipping frames) and then link these values to the vertices of a translation layer. [In other words, the stuff underneath within scope would likely move relative to other stuff underneath but at an outer scope.] We note that linking this way will create many potentials for conflict between these values and existing waypoint values. We can specify which takes precedence and how to smooth between these. Eg, if waypoints take precedence in some particular case, we can specify how to smooth against the function generator values before and after the waypoint. How do we define the functions? The functions can come from a preselect set of parameterized functions (user enters fills in the parameters with constant values or else links). Two examples of functions with three param values would be: Asin(x)+B and mx+b. Also, very usefully, allow a sequence of values to be copy/pasted to define the function outputs at each step (so the mapping defining the function is a stream interpreted as the output value at each discrete frame value). The generator can be time shifted of course. This function definition approach allows other applications (or things like motion sensors) to generate the function values. Another method that can be useful for defining a function would be to accept a curve (eg, bline) and the function output values would come from the curve based on some method specified (eg, as a function of the length from some starting point along the curve and where the speed of travel is defined by a function L(t) where L is length from start so far and t is time/frame count (eg, L(t)=t means we move at constant speed along the curve, that is, at a value of 5 frames we would be 5 units along the length of the curve)).  ..Anyway, the point is to have a function generator to hook up arbitrarily with inputs and which can co-exist with waypoints that would otherwise conflict. This would allow arbitrary automation of anything (based on precomputed or dynamic algorithmic values) without having to manually define/record a single waypoint. Conceptually, this doesn't seem that complex to integrate into the existing synfig and would be very useful (to allow arbitrary automation). An initial prototype version might integrate with only a few things, only have a limited set of simple predefined functions (plus sequence definition capabilities), have the output value be tossed out whenever a waypoint already existed, and exist only from a single menu entry. I really would like this feature. It would make it easier to speed up animation generation in many new custom ways without having to hack into synfig or into the sif file with some other tool. If I get comfortable with the code base, I might be able to chip in. [Any pointers would be appreciated.] [[User:Jose X|Jose X]] 07:03, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Warning about editing bizarre things in animate editing mode ==&lt;br /&gt;
(3.5) It seems to have little sense animate certain things like Blend Method or Type of Feather. It would be very nice that the program asked comfirmation if you change these attributes in animate editing mode. If you do want to, you would have three options: &amp;quot;Yes, never ask&amp;quot;, &amp;quot;Yes, never ask for this attribute&amp;quot;, &amp;quot;No&amp;quot;. I guess that internally, this attributes has integer type (or something like that) and the attributes that you normally want to animate, float type, so I think that this feature is relatively easy to implement. My English is not very good, so please feel free to fix this post.&lt;br /&gt;
{{l|User:ajotatxe|ajotatxe}} 20 November 2007&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bones with FK &amp;amp; IK + grouping of objects into folders ==&lt;br /&gt;
&lt;br /&gt;
(5) Bones cane move specific vector assigned to them or the bones can have envelopes that move the vectors within their field of influence, much Like Anime Studio/Moho does. It's quite a time saving process of animating. Objects created can be saved into separate groups or folders using the same system as Anime Studio/Moho -Shadowphoenix 27/8/2007&lt;br /&gt;
&lt;br /&gt;
== Animated sketch ==&lt;br /&gt;
&lt;br /&gt;
(5) it would be great, if the tool Sketch was animatable (for example, in a form of a special sketch-layer). --Zelgadis 2007-06-14&lt;br /&gt;
&lt;br /&gt;
: For now as a workaround we could use animation program called Pencil. See {{l|Related Projects}} page. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
: So, currently it could be achieved by using other software, but integration with synfig is poor, cause it requires importing a movie through a sequence of images. This is not intuitive and not obvious for new users. It will be good if synfig will have it implemented like [url=http://www.blender.org/development/release-logs/blender-248/grease-pencil/]blender's Grease Pencil[/url]. This feature will improve workflow, make synfig usable for frame-by frame animation (it is intuitive way of learning animation and powerful tool for producing preproduction work like animatic). --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
: It would be nice to also implement the onion peel feature, where you can see the frame before or after, and/or selectable keyframes if this is included. An example can be seen in the program Pencil--{{l|User:richardwad1|richardwad1}}&lt;br /&gt;
&lt;br /&gt;
== Duck for Amount value in Zoom layer ==&lt;br /&gt;
&lt;br /&gt;
(2) It would be nice if Amount value in Zoom layer was controlled by additional duck. --{{l|User:Zelgadis|Zelgadis}} 02:49, 29 December 2007 (EST)&lt;br /&gt;
: I found that I can better use Warp layer instead of Zoom to change size. But it'd be nice to have Amount duck for Zoom layer anyway...&lt;br /&gt;
:: The Amount parameter works exponentially; each time you add 1 to the Amount, the image is zoomed by a further factor of e (= 2.71828 or so).  Would a duck be any use if it just controlled the value of Amount in a linear way?&lt;br /&gt;
:: Workarounds include: export Amount, select it in the children dialog.  Whatever's selected in the children dialog shows a duck.  You can adjust it using that duck.&lt;br /&gt;
:: Also, if you use a Stretch layer, convert the Amount to Composite, export the X-Axis and connect it to the Y-Axis, then you have a duck-controllable fixed-aspect zoom. -- {{l|User:Dooglus|dooglus}} 15:32, 15 January 2008 (EST)&lt;br /&gt;
::: Yeah I found this workaround, but it's to much actions - i prefer better use Warp or Stretch layers. Why not the link Amount duck and Amount value with logarithmic function? ;) --{{l|User:Zelgadis|Zelgadis}} 10:33, 17 January 2008 (EST)&lt;br /&gt;
::::{{l|Convert#Logarithm|Logarithm}} convert type for real parameters exists since svn 2034. {{l|User:Genete|Genete}} 10:17, 30 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Automatic colour palette optimisation ==&lt;br /&gt;
&lt;br /&gt;
(0) it would be nice to use libcontrast [http://david.navi.cx/blog/?p=132] [http://david.navi.cx/blog/?p=94] [http://david.navi.cx/blog/?p=99] [http://svn.gnome.org/svn/xchat-gnome/trunk/src/libcontrast/] to automatically adjust selected or all the palette items for best visual contrast. It would also be interesting to have a layer that uses this code to filter the image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbitrary Color Channels ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; The ability for the user to create any number of custom channels for various purposes.&lt;br /&gt;
&lt;br /&gt;
== Autorecover History ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; It would be great if autorecover could also recover the associated history of a file in the event of a crash.&lt;br /&gt;
&lt;br /&gt;
== Layer Convert ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;(4)&amp;lt;/strike&amp;gt; (2) &amp;amp;mdash; The original intent of this feature request has been solved and documented - {{l|How_do_I#Fill_an_outline.3F|How do I....Fill an Outline?}} - but it would still be nice to have a way to convert one sort of path layer to another. ''(Downgraded to level 2) {{l|User:SnapSilverlight|Snap}} 12:32, 17 Jan 2006 (PST)''&lt;br /&gt;
&lt;br /&gt;
== Vector fill bucket ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; Like the traditional bitmap fill, but this fills the area clicked out to the nearest boundary paths with a region of that area, set to the foreground color (it actually would create a new {{l|Region Layer|region layer}}). &amp;lt;p&amp;gt;Alternatively, a single-duck layer object, that performs a simple bitmap fill from its (animatable) location, with its stored color value. (This second approach is similar to the behavior of one of Softimage's TOONZ[http://www.google.com/search?q=softimage+TOONZ]'s tools)&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;If this is implemented, it will probably be necessary to change the existing &amp;quot;fill&amp;quot; tool's name and icon to a &amp;quot;color injector&amp;quot; (hypodermic needle / turkey injector icon) tool, as that's closer to describing what it does.&lt;br /&gt;
&lt;br /&gt;
*Inkscape has a very innvative version of this tool. Maybe you can just grab the code from there and integrate it in synfig? --{{l|User:SvH|SvH}} 01:37, 14 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== {{l|Dev:Redraw tool}} ==&lt;br /&gt;
&lt;br /&gt;
(4-5) &amp;amp;mdash; Intutive reshaping of path-based layers. See link.&lt;br /&gt;
&lt;br /&gt;
== [http://developer.gnome.org/projects/gup/hig/ Gnome HIG Compliance] ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; This should solve all complaints about the layout, without requiring Synfig to be &amp;quot;just like program (x)&amp;quot;. See {{l|Dev:UI Reloaded}} for progress on this.&lt;br /&gt;
&lt;br /&gt;
== Feedback for {{l|Smooth Move Tool}} ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; This tool does what a lot of folks are looking for, warping selected ducks in a &amp;quot;soft&amp;quot; fashion. But it's not very obvious what sort of effect it will have, from the tool's interface. It needs some sort of momentary center-of-action and radius indicator at the very least. Perhaps an &amp;quot;influence gradient&amp;quot; overlaid on the canvas once Synfig's core is sped up?&lt;br /&gt;
&lt;br /&gt;
== Networkability ==&lt;br /&gt;
&lt;br /&gt;
(2) &amp;amp;mdash; Like Inkscape's &amp;quot;inkboard&amp;quot; feature (using Jabber), or Blender's Verse server [http://www.blender.org/modules/verse/index.php], or OpenCanvas's Networking option. This should probably farm off all the networking stuff to the telepathy framework so that synfig doesn't have to deal with all the account/etc issues.&lt;br /&gt;
&lt;br /&gt;
== Intuitive tangent modification ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; (BBQ Pulled Duck) Inkscape has this for still handles - basically, grab a section of the spline between handles, and pull it around, the program automatically alters the tangent handles to match. What would be really neat is if you could do the same for temporal handles - be able to grab the spline between keyframes, and yank it around, and have Synfig automatically adjust the key interpolation to match. Not sure exactly what the workflow in the UI would be for this, however.&lt;br /&gt;
&lt;br /&gt;
-Agreed; blender does this with its IPO curves, and it's a really efficient way to work.&lt;br /&gt;
&lt;br /&gt;
== Plugin API ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; Would be nice to enable additional functionality to be added to the program without it necessarily needing to be in the Synfig source tree. ''According to the Synfig 0.61.01 roadmap on [http://deepdarc.com/ deepdarc.com], there is a plugin API already implemented. So instead, this may be a {{l|Wiki Wish List|Wiki Wish}} for documentation, depending on how much has already been completed. {{l|User:SnapSilverlight|Snap}} 19:57, 13 Jan 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
== Python support ==&lt;br /&gt;
&lt;br /&gt;
(1) of some sort will no doubt be demanded by the userbase eventually, for studio-specific automation of tasks, noncompiled plugins, etc. I ({{l|User:Snap|SnapSilverlight}}) don't have any particular use for it at the moment, tho'.&lt;br /&gt;
&lt;br /&gt;
I suppose to join this request with {{l|Dev:Wish_list#a_realtime_.sif_synchronized_text_window}}. We can implement python access to XML DOM and write XML Editor in python. --{{l|User:AkhIL|AkhIL}} 06:54, 30 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== mod_synfig ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; For Apache. Render .sif to some format like png/mng on access.&lt;br /&gt;
&lt;br /&gt;
== synfig nsplugin ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; Let Mozilla and Mozilla-based view synfig files in-browser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Align function ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; Align objects at a common border (as in Inkscape)&lt;br /&gt;
&lt;br /&gt;
== Improved SVG import ==&lt;br /&gt;
&lt;br /&gt;
SVG import support is currently limited to paths - it does not support text or effects. [[User:Nikitakit|nikitakit]] 01:27, 14 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Useful would be the possibility of importing SVG sequences, just like Macromedia/Adobe Flash does with .ai sequences&lt;br /&gt;
&lt;br /&gt;
== Gradient Paint Tool ==&lt;br /&gt;
&lt;br /&gt;
How about a tool that can 'paint' a gradient object.  For example the options would be width and gradient type, one would make a stroke with the tool and the gradient would be automatically applied inside of the outline (set by width).  This would save the trouble of having to the all the encapsulation stuff. (Actually any tool that makes creating gradient one step would be good).--{{l|User:Triclops|Triclops}} 09:52, 9 Aug 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
(4) Agree. 4 for usability/readability of layers reasons --[[User:Ohoservices|Ohoservices]] 11:33, 27 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Bone Animation Tools ==&lt;br /&gt;
&lt;br /&gt;
Bone system with inverse kinematics, very important for quick animation. You put bones on a drawed man and you can animate him like a puppet. I'm using that in Moho (lost marble product).--{{l|User:Ziolive|ziolive}} 23 Aug 2006&lt;br /&gt;
*I would find this very useful too. I think it is called '''rigging'''(4/5) --{{l|User:SvH|SvH}} 01:33, 14 May 2008 (EDT)&lt;br /&gt;
*I think this effect can be simulated by adding the correct rotation layers + encapsulation to every object that is to be restrained by joints and then linking vertices. A rotation layer center would be at the corresponding joint. We would then link the vertices of the &amp;quot;limbs&amp;quot; that shared a joint. See {{l|Doc:Cut-out Animation}} ...Perhaps this process could be made more direct through an interface that behinds the scenes creates the proper layers and reorganization all at once as the user decides to link objects to joints. ...Implementing this will involve seeing if already restrained motions allow creating joints. Also, adding a joint may clash with already existing waypoints, so waypoint conflict resolution options and rules will have to be developed. [See also an above remark in the section &amp;quot;Mathematical functions to animate&amp;quot; about linked function generator values conflicting with waypoints.] [[User:Jose X|Jose X]] 20:17, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== AVI Backgrounds ==&lt;br /&gt;
Is there any way I can add an avi as a background so I could add facial expressions to a stop-motion animated figure. [zotz here, I was thinking DV background or extra timeline. I would like to mix animations with live footage. rating (3/4)]&lt;br /&gt;
: Already implemented for ffmpeg pipeline of ppm in svn r2161 {{l|User:Genete|Genete}} 05:36, 9 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Character tool on Tool Options Dialog ==&lt;br /&gt;
&lt;br /&gt;
I want to use the as a character generator for a TV show. By using chroma key hide the background.  Even better interface to a video overlay card with Alpha blending.&lt;br /&gt;
&lt;br /&gt;
== Collect for Publication ==&lt;br /&gt;
&lt;br /&gt;
(3/4) - (zotz) Menu item, functionality that would collect alll files referenced in a sif and place them all in a tgz for sending elsewhere or publishing animations in source form.&lt;br /&gt;
&lt;br /&gt;
== Object Library ==&lt;br /&gt;
&lt;br /&gt;
(3/4) - (zotz) Haven't thought this all through yet, but synfig could come with a library of categotrised &amp;quot;objects&amp;quot; with a copyleft license (GPL?  CC BY-SA?) An animation clip art type deal.&lt;br /&gt;
:I'd suggest this should be public domain and distributed by openclipart.org -- --{{l|User:PaulWise|pabs}}&lt;br /&gt;
&lt;br /&gt;
== Flash Export ==&lt;br /&gt;
&lt;br /&gt;
(3/4) Well, might just be me but if there was a posiblity to  export in .swf or .fla, I think the project might become a lot more popular.{{l|User:Conceit|Conceit}}&lt;br /&gt;
&lt;br /&gt;
(4/5) I wholeheartedly agree. I would definitely use synfig more if this feature were added and it would most definitely increase popularity. {{l|User:cdj05a|cdj05a}}&lt;br /&gt;
&lt;br /&gt;
(4[me]/5[others]) Definitely would love flash export. There is no well maintained Flash animation studio that is Open Source. To have Synfig become that along with all that it already is would be absolutely wonderful. You'd also possibly add to your user base all the flash animators out there that don't want to pay Adobe. Some people would only want it for the flash animation hence the 5 for others. {{l|User:jblandrum|jblandrum}}&lt;br /&gt;
&lt;br /&gt;
This can be simply done from a python plugin could use SwfTools for converting temporary exported data into .swf file - not very hard thing to do - the information used from SwfTools is very simple to be created, such as simple .swf files are.&lt;br /&gt;
&lt;br /&gt;
== Single window ==&lt;br /&gt;
&lt;br /&gt;
Depending on individual desktop setups, single window is sometimes preferable to many  windows. Can we have a single-window option?&lt;br /&gt;
&lt;br /&gt;
Also, even with many windows, Windows-users especially might find it better if all the windows only appeared as a single one on the taskbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Export Wizard ==&lt;br /&gt;
&lt;br /&gt;
(2/4) Conversion and export to other file formats (mpg, avi, flash formats, others, and the synfig format) with a step by step wizard for choosing format and place of saving. Similar to Gimp's saving of .png files but for movie/video type files. --&lt;br /&gt;
{{l|User:Hiddenghost|hiddenghost}}&lt;br /&gt;
&lt;br /&gt;
== Using Synfig as a portable app ==&lt;br /&gt;
&lt;br /&gt;
(3) This isn't really a feature request (though it could be) but I was wondering if synfig could be used as a portable application (as in www.portableapps.com). Does the windows install require registry access? i really want to use Synfig at work, but I'm reluctant to install it just in case it leave footprints in the regisitry or something, and it would be sweet to use it on my travels as well. Only thing is, I can't test it out at home because I am using Linux.&lt;br /&gt;
See also: http://portableapps.com/node/5761&lt;br /&gt;
{{l|User:Zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
This isn't currently possible without modifying the source code. That has been on my TODO list for ages {{l|User:PaulWise|pabs}} 01:17, 26 October 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allow organize child valuenodes in an hierarchy ==&lt;br /&gt;
(3-2) And allow maintain the organization once the file is saved. At the moment they are reordered in alphabetical order which is useless and annoying.&lt;br /&gt;
&lt;br /&gt;
== Triangle sliders to be always visible ==&lt;br /&gt;
(3) I would like that the triangle sliders from {{l|Colors Dialog}} and {{l|Gradient Editor Dialog}} were visible whatever color or channel you're editing. Some times when the color or channel is to bright or light the slider is difficult to distinguish. --{{l|User:Genete|Genete}} 14:30, 29 October 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
This is important for usability, should be solved soon.&lt;br /&gt;
--[[User:Ohoservices|Ohoservices]] 10:49, 27 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== XICC support ==&lt;br /&gt;
&lt;br /&gt;
It would be cool if synfigstudio had support for [http://burtonini.com/blog/computers/xicc XICC].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Area to Edit ==&lt;br /&gt;
&lt;br /&gt;
An option like blender - select area to update would be nice, so the only part of the image that updates when you add or change something is in the selected area&lt;br /&gt;
&lt;br /&gt;
ie. when working on a complex composition, studio doesn't know, when I tweak a tiny part of the composition, that only that part needs redrawing, so it redraws the whole thing.  It would be good if there was some way of telling it which part to focus on. -- {{l|User:Dooglus|dooglus}} 04:02, 3 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Histograms ==&lt;br /&gt;
&lt;br /&gt;
 01:23  * AkhIL wish to have histograms and luma/color scope like [http://mac.softpedia.com/progScreenshots/Avid-Xpress-DV-Screenshot-14207.html] in synfig&lt;br /&gt;
&lt;br /&gt;
I've looked at those pictures but don't know what they're showing.  Can you describe what those scopes are doing, and what the histograms display?  ie. what are the X and Y axes of the histograms? -- {{l|User:Dooglus|dooglus}} 04:07, 3 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
First look this description in blender wiki [http://wiki.blender.org/index.php/Manual/VSE_Modes]&lt;br /&gt;
&lt;br /&gt;
Ok There is four things.&lt;br /&gt;
* Upper left is Lumascope (Luma Waveform in blender). X-Axis represents image's X-Axys. Y-Axis  is average luminescence of column of pixels.&lt;br /&gt;
* Upper right is Chromascope (Chroma Vectorscope in blender). Just look description on blender wiki.&lt;br /&gt;
* Lower left is like Lumascope but for each channel &lt;br /&gt;
* Lower right is histograms. X is luminescence and Y is count of pixels with such luminiscence.&lt;br /&gt;
&lt;br /&gt;
== Sound Layer ==&lt;br /&gt;
&lt;br /&gt;
(4) It would be a very good improvement if the sound system were implemented into synfig in {{l|Dev:Sound Layer | this}} way. --{{l|User:Genete|Genete}} 07:46, 8 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Rearrange the view of waypoints for Canvas param ==&lt;br /&gt;
As reported in [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1888858&amp;amp;group_id=144022&amp;amp;atid=757416 Bug #1888858] waypoints are not displayed for canvas switch events.&lt;br /&gt;
I suggest to rearrange waypoints display according to {{l|Media:Canvas_prop.png|this scheme}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Width weigths ==&lt;br /&gt;
Is it possible to add &amp;quot;weigths&amp;quot; for widths? ^_^ I.e. width changes not all the way along the segment. Maybe something like a duck on bline which indicates the region where the width of current vertex isn't changed.&lt;br /&gt;
{{l|Media:width-proposal.png|Illustration here.}}&lt;br /&gt;
&lt;br /&gt;
More ideas around this concept in [http://dooglus.rincevent.net/synfig/logs/2008/%23synfig-2008-04-16.log this conversation]. Although the log of that day is very interesting the lines related to this idea are from 22:38 to 23:43. {{l|User:Genete|Genete}} 17:51, 16 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improved Colour Dialog ==&lt;br /&gt;
How easy is it to stick in a colour square/wheel? Messing with sliders is somewhat obstructive.&lt;br /&gt;
&lt;br /&gt;
== Insert Waypoints ==&lt;br /&gt;
A button to create a waypoint for every selected duck, in its current position. Moving each duck up a bit and down again quickly gets tedious.&lt;br /&gt;
:If the duck in question has already a waypoint then you don't need to move it to create a new waypoint. Just select the corresponding parameter in your child list panel and select 'Add Waypoint' from the right click context menu over the parameter. No need to have the duck selected. If you want to freeze the entire bline just do that over the Bline Point List. {{l|User:Genete|Genete}} 07:48, 29 April 2008 (EDT)&lt;br /&gt;
::Yes, but it would be nice to have opportunity to add waypoint to parameer which not have any ducks yet (i.e. non-animated parameter). --{{l|User:Zelgadis|Zelgadis}} 08:33, 29 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Automatically split tangeants ==&lt;br /&gt;
&lt;br /&gt;
Holding shift while moving tangeant ducks should automatically split them. They can be rejoined if necessary through the context menu as they are now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A way to link params without exporting ==&lt;br /&gt;
I need a way to link params with different names without exporting. It is possible to achive by manualy editing of sif file. But inposible by gui. I will be nice to have linking by drag-n-drop. Or just by selecting reference param, pushing copy button, selecting another param and bushing link button. ---{{l|User:AkhIL|AkhIL}} 21:47, 30 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Allow select the origin of rotation when using the Rotate Tool ==&lt;br /&gt;
&lt;br /&gt;
It can be initially set to the geometrical center of the selected ducks or the gravity center depending of the selected checkboxes in the tool options panel. Later the user could move it before perform the rotation operation. It is a waste of time to rotate and translate the ducks every time a rotation manipulation is done. ---{{l|User:Genete|Genete}} 12:16, 4 June 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:I was adding this request at the same time than you Genete :-). Here is an example of how this issue is solved in Inkscape:&lt;br /&gt;
&lt;br /&gt;
:{{l|Image:rotate-tool-inkscape.png|center}}&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:Yaco|Yaco}}&lt;br /&gt;
&lt;br /&gt;
== Non-symetrical but &amp;quot;smooth&amp;quot; tangents on ducks ==&lt;br /&gt;
Add another mode for duck tangent, where the tangent can have different radius, but keep the same angle. (a &amp;quot;split tangents (radius only)&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dockable windows ==&lt;br /&gt;
The current GUI is a pain in the rear by not complete covering the desktop and it's showing 5 tabs instead of  usual one tab so it's frustrating to switch windows if you running more than one software. (windows version)&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
== A Particle Tool/Particle Object Editor ==&lt;br /&gt;
I  thought it might be interesting to add a Particle tool that is intuitive. Genete's script is amazing and I am sure I will do a lot of things with it once I have a chance to sit down and figure it out, but if there were a way to make it into tool with all the settings on sliders, it would be much easier. His script adds endless possibilities of nice effects to make animations look better. I personally rate this rather high. 3.5/5&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:richardwad1|richardwad1}}&lt;br /&gt;
&lt;br /&gt;
== A programation language as code behind like python, ruby or any ==&lt;br /&gt;
Code behind should be important to program the animation or events associated, programers and designers could work in a colaborative workspace and make applications with richfull content on desktop applicactions or web applications like expression blend or macromedia flash CS.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:nickholai|nickholai}}&lt;br /&gt;
&lt;br /&gt;
== Embedding animation on web applications ==&lt;br /&gt;
Like Macromedia Flash, it seems to require a plug in for internet explorer or firefox diferent as silverlight or flash, open source and &amp;quot;software libre&amp;quot; projects are working on animation but using the flash plug in, this wish needs a free plug in.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:nickholai|nickholai}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This seems a bit confusing; why do you want a plug in for synfig? When we add the import and export swf. file feature, it will use the flash plug in. Besides the flash player program is free, so you don't have to pay anything.  I find that this feature is useless until you explain to us better why you think this software needs a plug-in.&lt;br /&gt;
&lt;br /&gt;
Create a thread in the synfig forum if you want to continue to talk about this. We're listening.&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
:Support for svg export would solve the problem (I think), to the extent svg plugins work well (and svg is a more open format than is swf). Would sifz -&amp;gt; svg -&amp;gt; sifz possibly result in data loss/ambiguity (eg, with names)? I don't think sifz has interactivity, right (eg, mouse events that control the visual)? [[User:Jose X|Jose X]] 04:20, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Split Tangent indicator ==&lt;br /&gt;
&lt;br /&gt;
Its hard to tell if a tangent is split or not without clicking on it (either to use the context menu, or move a duck). All of the ducks should change to another shape (eg a square) for a quick visual indication of a ducks state.&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Progress indicators ==&lt;br /&gt;
&lt;br /&gt;
Eg % complete in opening file, pop-up window which indicates how many frames are rendered of a render, eg &amp;quot;rendering 10 of 999&amp;quot; that can be closed/ignored if needed. &lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Improve the Timeline ==&lt;br /&gt;
&lt;br /&gt;
I know, this is one hell of a wish, but, as in all, i think that is best if you think in the ideals conditions and then you downgrade into what is possible to achieve in a reasonable period of time.&lt;br /&gt;
&lt;br /&gt;
:D greetings!!&lt;br /&gt;
&lt;br /&gt;
[4] Normal mode // [4] Layer mode // [4] Secuence mode &lt;br /&gt;
&lt;br /&gt;
.I think that this modes are three diferent windows layout, therefore the hability to create new and save different windows layout, should be the first to do in order to achieve this three modes.&lt;br /&gt;
&lt;br /&gt;
{{l|Image:Timeline-normal-mode-explained.jpg|200px}} {{l|Image:Timeline-layer-mode-explained.jpg|200px}} {{l|Image:Timeline-secuence-mode-explained.jpg|200px}}&lt;br /&gt;
&lt;br /&gt;
(click to enlarge)&lt;br /&gt;
&lt;br /&gt;
02/01/2009 {{l|User:Belifilmaker|Belifilmaker}}&lt;br /&gt;
&lt;br /&gt;
== Lockable Layers ==&lt;br /&gt;
I would use them all of the time.&lt;br /&gt;
{{l|User:Zenoscope|Zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Vector Objects ==&lt;br /&gt;
Represent objects (ie. circles, rectangles, regions, outlines, etc) as a new type of element. These objects exist as childs of some layer. The layer then takes care of rendering these objects to a raster. Currently layers do both things, represent objects and render them.&lt;br /&gt;
&lt;br /&gt;
Having objects as a seperate entity would allow defining operations between them. For example:&lt;br /&gt;
* Take two region objects and find the union of their regions. This would produce a vector representation of the resulting region (ie. Bline) which in turn can be used for other operations (ie. link vertex to Bline).&lt;br /&gt;
* Apply transformation to a vector object producing a vector object as a result which can be further processed.&lt;br /&gt;
* Trace a {{l|Media:Smooth_silhoutte.png|smooth silhoutte}} around a set of vector objects.&lt;br /&gt;
* Slice an animated vector object into pieces and be able to move the pieces around (while preserving the original animation). Would be useful for reflection on a broken glass effect.&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:Yoyobuae|Yoyobuae}}&lt;br /&gt;
&lt;br /&gt;
== Free drawing ==&lt;br /&gt;
&lt;br /&gt;
I wish the synfig have ability to do paintings like with brush and eraser. Imagine: you painting over Paste canvas, and synfig automatically creates shapes inside this Paste canvas layer, doing necessary boolean operations and linking between them. So they don't overlap. This would allow flash-like workflow, which is very suitable for newbies. {{l|Dev:Free Drawing|Discussion.}} --{{l|User:Zelgadis|Zelgadis}} 15:27, 9 April 2009 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Even a simpler manifestation of this wish, an eraser feature for the sketch tool, would come in very handy. [[User:Jose X|Jose X]] 19:53, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Projection Layer ==&lt;br /&gt;
&lt;br /&gt;
The projection layer (a new type of transformation layer) would have two angle parameters that define how the lower layers get transformed: as if projected from a canvas angled in 3D space unto a 2D final image. By combining different encapsulations that use the projection layer, we can facilitate some 3D animation realism from simple 2D manipulations.&lt;br /&gt;
[[User:Jose X|Jose X]] 22:14, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==  New Gradient Tool icon ==&lt;br /&gt;
[3]  The Rectangle Tool and Gradient Tool have almost identical icons.  One of them should be changed.&lt;br /&gt;
Arbitrary suggestion:  Make the Rectangle's icon a rectangle instead of a square, with a solid fill, and make the Gradient's icon a coloured gradient instead of grey.&lt;br /&gt;
&lt;br /&gt;
==  Arrowheads  ==&lt;br /&gt;
[4]  I use Synfig for animations that go in instructional videos.  I currently use the Polygon tool for making arrows, but it would be a lot faster if Bline layers had a property for putting shapes like arrowheads at the ends of the path.[[User:Envergure|Envergure]] 18:17, 21 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:In addition:&lt;br /&gt;
&lt;br /&gt;
:*The ability to stroke bline paths so as to have the outline be made up of a series one or more arbitrary shapes (ie, besides lines) would also be useful since this would facilitate the animation of discrete objects that relate to each other in space and across frames.&lt;br /&gt;
&lt;br /&gt;
:*Having a shapes repository would be very useful [and with an improved synfig import mechanism that allows exported variables from imported canvases to be seen and be accessible automatically under the imported canvas' namespace -- this would facilitate the use of these .sif libraries/plugins]. And a community of people can collaborate on writing programs to help find shapes that meet certain specs: for example, just like we can write a program to find the optimal way to set up N blines to minimize squared error(?) estimation of a circle, we can write other programs to find how N blines might represent hemi-sphere and many other shapes as faithfully as possible. [Contrast with having users create standard shapes out of blines but using subjective criteria.]&lt;br /&gt;
&lt;br /&gt;
:*A special raster and vector library and set of tutorials can be created to help with the creation of tutorials for synfig documentation. Eg, include png files for &amp;quot;every&amp;quot; view of synfig (eg, every menu entry, panel view, button, etc); have arrows, boxes, bubbles, and other synfig &amp;quot;widgets&amp;quot; that are likely to be used in videos; and include good tutorials and set of instructions for using this art/animation library to build videos or simulated screenshots, etc.&lt;br /&gt;
:::Side effects of this doc project would include helping more people get involved with synfig, motivating more people be able to build such documentation/instructions for projects beyond synfig (though perhaps using synfig to create the scenes), and helping to create a standard set of pictures and best practices for synfig so that the synfig docs will tend towards uniformity (to the degree this is desirable).&lt;br /&gt;
&lt;br /&gt;
==  Rotoscope Layer ==&lt;br /&gt;
[3]  I hereby request an option in the Draw Tool's Tool Option box which would be labeled &amp;quot;This Frame Only&amp;quot; and have the following characteristics:  Three waypoints would be automatically created, one at the current frame, with an Amount value of One (1), and one each on the previous and next frames, with Amounts of Zero (0).  The purpose of such an option is as follows:  although Synfig is one of the only open-source applications capable of rotoscoping, or at least rotoscoping in an editable manner, it is actually pretty poor at it, for one very basic reason.  Synfig is geared toward tweening of relatively simple vector shapes, and rotoscoping is frame-by-frame tracing of organic shapes.  Currently in Synfig, to rotoscope (trace an object from live-action footage, such as a person) the user must either trace with the draw tool or and set the abovementioned waypoints manually (a pain), or try to use bline shapes, which is really worse, because real-life things aren't that smooth.  I suspect that this would be such an easy fix that I might attempt to learn enough C++ to figure it out on my own; if not, someone else could probably do it in fifteen minutes.  It certainly wouldn't be used by everyone, but it would be an incredible boon to those of us who do use Synfig for effects on live-action footage.&lt;br /&gt;
&lt;br /&gt;
: Are you talking about some kind of &amp;quot;frame-by-frame feature&amp;quot; which allows to switch layers on every frame? --[[User:Zelgadis|Zelgadis]] 14:42, 14 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Yes - currently, frame-by-frame is possible, but requires manually setting three waypoints per layer.  I'd just like an automation of that.  --[[User:Nikolardo|Nikolardo]] 9:55, 14 February 2011 (EST)&lt;br /&gt;
&lt;br /&gt;
==  Difference Matte Blend Method ==&lt;br /&gt;
[2]  Precisely:  compare the red, blue, and green channel and, when the same (or within a specifiable amount), make them transparent.&lt;br /&gt;
&lt;br /&gt;
==  Chroma Key Layer==&lt;br /&gt;
[4]  Make selected color in layer beneath transparent.  I'm working on using different combinations of layers to accomplish this at the moment, but no joy yet.  When I get it to work, I'll remove this.&lt;br /&gt;
&lt;br /&gt;
: There is a work-in-progress module for chromakey developed by AkhIL - [http://akhil.nm.ru/tools/synfig-modules/mod_akhilfx-20080509.tar.bz2 mod_akhilfx-20080509.tar.bz2]. Unfortunately it is still not included into official source code. --[[User:Zelgadis|Zelgadis]]&lt;br /&gt;
&lt;br /&gt;
==  Auto-Split Tangents==&lt;br /&gt;
[3]  Have an checkbox in the Bline Tool (and other tools) which would force all tangents in the created object to be split.&lt;br /&gt;
&lt;br /&gt;
: Maybe it's better will be to change behavior of BlineTool? Single click adds vertex with tangents split (and zero length) and click-and-drag adds vertex with merged tangents. That's a common way of construct splines in other vector applications. --[[User:Zelgadis|Zelgadis]] 04:13, 4 March 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Cairo rendering ==&lt;br /&gt;
[3] Using Cairo as render for synfig instead of the software actual render would enourmously boost its performance, as it did in Inkscape (in that case 2x).&lt;br /&gt;
&lt;br /&gt;
: See the process [[Dev:Cairo_render_migration]] [[User:Eldruin|Eldruin]] 14:13, 7 February 2012 (UTC)&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Wish_list&amp;diff=15286</id>
		<title>Dev:Wish list</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Wish_list&amp;diff=15286"/>
				<updated>2012-03-01T12:07:23Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* import/export .svg frames sequence, and/or .svg animations */ sign&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TranslationBar|CONTENT={{Tr/en}} · {{Tr/fr}}}}&lt;br /&gt;
&lt;br /&gt;
'''''Warning''''': We need more people working on the code if we are going to be able to achieve all the feature requests.&lt;br /&gt;
&lt;br /&gt;
Got a great idea for a new feature? Just add it here, or on the [http://sourceforge.net/tracker/?group_id=144022&amp;amp;atid=757419 feature requests tracker]. Before you do, please check the [https://synfig.svn.sourceforge.net/svnroot/synfig/ETL/trunk/TODO etl], [https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-core/trunk/TODO synfig] and [https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-studio/trunk/TODO synfigstudio] TODO files for similar ideas. Please add a rating of how essential this feature is to your workflow according to the following scale:&lt;br /&gt;
&lt;br /&gt;
#&amp;quot;Well, it might be nifty. To someone.&amp;quot;&lt;br /&gt;
#&amp;quot;I probably would make use this&amp;quot;&lt;br /&gt;
#&amp;quot;It's not essential, but I'd really like to have this at my disposal.&amp;quot;&lt;br /&gt;
#&amp;quot;Synfig would be soooo much better with this change&amp;quot;&lt;br /&gt;
#&amp;quot;I can't/won't use Synfig without it!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
Please clean this section up as desired.&lt;br /&gt;
&lt;br /&gt;
* A different color dialog for picking/changing colors easier.&lt;br /&gt;
** Swatch menu from gimp with .gpl files.&lt;br /&gt;
* Workflow improvements, like content help and ui-refinement.&lt;br /&gt;
** set the fine line between design and animation work.&lt;br /&gt;
** Greet the user at startup, give hints and help in the ui to better the usability and user-experience.&lt;br /&gt;
* test synfig cross-platform (Linux, Windows, Mac)&lt;br /&gt;
* Pluggable App (run from memory stick)&lt;br /&gt;
* make a short film about synfigs capabilitys in a starwars kind of spaceship setting as promo video about 3 minutes long.&lt;br /&gt;
* Sound layer&lt;br /&gt;
* full tablet support&lt;br /&gt;
* small set of vector contend for fast animation results&lt;br /&gt;
* Help is available as pdf-file and distributed with the program&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Input:'''&lt;br /&gt;
* Import vectorgraphics (svg,fig)&lt;br /&gt;
&lt;br /&gt;
'''Output:'''&lt;br /&gt;
* Render output to [http://animatedpng.com/ animated PNG]&lt;br /&gt;
* Export vectorgraphics (svg,fig)&lt;br /&gt;
&lt;br /&gt;
== Interchangeable/customizing Splash screen ==&lt;br /&gt;
[3] GIMP has this feature of letting users [http://docs.gimp.org/2.2/en/using-customize-splashscreen.html|customize GIMP's splash screen]. GIMP looks for &amp;lt;code&amp;gt;'''samples'''&amp;lt;/code&amp;gt; directory under &amp;lt;code&amp;gt;'''.gimp-2.x'''&amp;lt;/code&amp;gt; then randomly picks a picture from it to become the spash image.&lt;br /&gt;
&lt;br /&gt;
This will also help GNU/Linux distro, like Ubuntu, to adopt Synfig and put their logo on the splash screen.&lt;br /&gt;
&lt;br /&gt;
Also, official Synfig distribution can pack sample arts created by other artists to be randomly displayed -- like the synfig.org's title's background image.&lt;br /&gt;
&lt;br /&gt;
== Verbosity levels for error output ==&lt;br /&gt;
&lt;br /&gt;
Synfigstudio needs verbosity levels for the error output. Levels are info, warning and error. Make sure, to spew out only errors when something nasty happens. If someone wants to know all what happens in synfigstudio, the user should activate a higher level of verbosity with the command line switch --verbose=all,info,warning&lt;br /&gt;
&lt;br /&gt;
== Usage screen for new users ==&lt;br /&gt;
&lt;br /&gt;
Synfig and Synfigstudio need a usage screen, which helps a new user to type in the right syntax on the command line. Any switch not known to the program should point to the usage screen. On the bottom of the usage screen could be a hint: &amp;quot; For more help use synfig --help&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Keyboard shortcuts for panning ==&lt;br /&gt;
&lt;br /&gt;
The navigation and canvas windows need shortcut keys that pan the canvas view horizontally and vertically. Probably just the arrow keys would work for this, as well as the home/end/pageup/pagedown keys. Ctrl and shift variants could make the panning more or less.&lt;br /&gt;
: You can pan with a middle mouse button. --{{l|User:Zelgadis|Zelgadis}} 00:59, 24 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Linking Zoom layer to Paste Canvas ==&lt;br /&gt;
&lt;br /&gt;
[3] It is impossible to link Center of Zoom layer to Origin of Paste Canvas without exporting a value. It often needed for pans &amp;amp; zooms. Suggestion: rename &amp;quot;Center&amp;quot; parameter of Zoom Layer to the &amp;quot;Origin&amp;quot;. Will improve the workflow. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
== Convert Strings ==&lt;br /&gt;
[4] It could be very good to have feature to represent Convert sequences as strings and vice versa - make convert sequences from strings. Example: To produce this convert sequence: &lt;br /&gt;
&lt;br /&gt;
{{l|Image:WishList-ConvertStrings.png}}&lt;br /&gt;
&lt;br /&gt;
I just right-click on &amp;quot;Origin&amp;quot; parameter and choosing &amp;quot;String Convert&amp;quot; menu item. In the appeared dialog I just entering: &amp;quot;=Composite(Scale(x, Switch(scalar, 1.0, 0)), y)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Also if I clicking on the parameter already containing convert sequence and choosing &amp;quot;String Convert&amp;quot;, it shows string representation of current convert sequence with an ability to edit.&lt;br /&gt;
&lt;br /&gt;
This feature will make possible to easy copy convert sequences from one parameter to another.  --{{l|User:Zelgadis|Zelgadis}} 03:46, 2 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Non scalable timeline ==&lt;br /&gt;
[3] It should be useful for me to have non scalable timeline. It's hard to set timing when the distance between frames is always different in different documents and in different situations. Suggestion: make a non-scalable mode for timeline, where 1 second interval is always the same. Will improve the workflow. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
==Smart linking of tangents==&lt;br /&gt;
[4] As described in {{l|Sewing BLines}}, when linking red tangent to yellow they are placed opposite against each other. This is normal from the program's point of view, but not normal for new users. Even more, to avoid this effect user needs to made some complex steps (see {{l|Sewing BLines#Solution}}). It takes a lot of time if we vahe lot of verticles to sew their tangents.&lt;br /&gt;
&lt;br /&gt;
Suggestion:&lt;br /&gt;
* When linking tangents with the same color, program should act as usual.&lt;br /&gt;
* When linking tangents with different color program should automaticaly add Convert-&amp;gt;Scale (-1) to avoid their opposite placement.&lt;br /&gt;
To allow linking two tangents in opposite position, I suggest to add a new menu option for tangents &amp;quot;Link Opposite&amp;quot;. When linking two tangents with this option:&lt;br /&gt;
* When linking tangents with the different color, program should act as it acts now - no additional converts added.&lt;br /&gt;
* When linking tangents with the same color program should automaticaly add Convert-&amp;gt;Scale (-1) to plcae them opposite against each other.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
==Morph sets==&lt;br /&gt;
This feature is similar to some other suggestions below, just with another way to approach. In animations are many movements, which can be put in some kind of library, to make use of at a later time. For example, movements to animate the key moments of a mouth, sampling syllables. For vector graphics, it should be possible to define some key points, which move just a small amount of space, to form another syllable. These syllables in this example, should be stored in a drop down list, to be able to select them for the key time on the timeline.&lt;br /&gt;
A morph-set for walking-left-to-right is different from a morph-set for a mounth, which has as options a,e,i,o,u,bah-disgust,happy-smile. The morph-set has to be stored as vector coordinates in a relative way(offset), e.g. X1=+212,+34;X2=-56,-23;X3=+3,-88;&lt;br /&gt;
&lt;br /&gt;
To make use of the morph-set for the mouth, you have to define first, which vector points in your drawn mouth, correspond to the key-points of your morph-set. X1, X2, X3, Xn&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 06:53, 27 May 2008 (EDT)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Render time approximation==&lt;br /&gt;
Synfigstudio should get a button in the render dialog, which calculates the total render time for the actual settings (frames per second, length of the film, resolution, output format) It should testrender 1 picture, when the amount of total frames is below 1000. Over 1000 frames, it should testrender 10 pictures for more precise calculation.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 12:49, 22 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
==Smartrendering==&lt;br /&gt;
I have made 25,000 small png-pictures with my 800Mhz computer in about 45 minutes. Synfigstudio did calculate each single frame of it. Nothing changed in this picture, so it does only need to get written to disk for the amount of pictures, until the next change (animation) has an effect on the output picture. This should save time for bigger projects with thousands of pictures. With smartrendering it is also possible to predict the total amound of space in Megabytes (Mibibytes) of the final render of the movie. It should calculate how much it needs and see, if enough space is free on the harddisk before the rendering get started.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 12:49, 22 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:More specifically, only render frames that need to be changed since the last rendering as defined by something like a last edit (or write to filesystem) timestamp and a dependency tree.  ...In the short-term, a tool like gmake might be useful for implementing this accross sessions if we add &amp;quot;last changed&amp;quot; timestamps to one or more sections of sifz files (rather than the almost useless case of a single sifz file timestamp if virtually all information for a project is kept within a single sifz file). We would use the last edit times in the filesystem if synfig recognizes the potentially generated files have names that already exist on disk. [There could be some tricky issues.] ...Within a given SynfigStudio (synfig?) session, we can use the timestamps from disk or just internalize that information without redoing the lookup. In addition, synfig internal dependencies based on what objects were changed since the last rendering can be used to implement a makefile whose make output would include a list of which frames need recalculation. Of course, the job of gmake could be internalized as well. [[User:Jose X|Jose X]] 21:18, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== get_color method in text and radial blur ==&lt;br /&gt;
&lt;br /&gt;
[5] Without get_color method distorion produces artifacts &lt;br /&gt;
[http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1831355&amp;amp;group_id=144022&amp;amp;atid=757416 bug  1831355]. So I would like to get this problem fixed before doing something else. --{{l|User:AkhIL|AkhIL}} 22:41, 1 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Full functional of group dialog ==&lt;br /&gt;
&lt;br /&gt;
[5] Group dialog is broken now [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1796833&amp;amp;group_id=144022&amp;amp;atid=757416 bug 1796833]. So we should get old features work right before making new one. --{{l|User:AkhIL|AkhIL}} 22:41, 1 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== import/export .swf files ==&lt;br /&gt;
&lt;br /&gt;
very important productivity feature&lt;br /&gt;
&lt;br /&gt;
== import/export .svg frames sequence, and/or .svg animations ==&lt;br /&gt;
&lt;br /&gt;
[3] Synfig could export to svg animations with SVG+SMIL, which would make possible to view an animation directly in the browser without any previous rendering.&lt;br /&gt;
&lt;br /&gt;
SMIL is the W3C recommended XML markup language to describe multimedia presentations. It defines markup for timing, layout, animations, visual transitions, and media embedding, among other things. SMIL allows presenting media items such as text, images, video, audio, links to other SMIL presentations, and files from multiple web servers which is getting supported in mayor browsers. Actually it's necessary to support SMIL in order to pass Acid3 web standards test.&lt;br /&gt;
: See http://en.wikipedia.org/wiki/SVG_animation &lt;br /&gt;
: http://en.wikipedia.org/wiki/Synchronized_Multimedia_Integration_Language &lt;br /&gt;
[[User:Eldruin|Eldruin]] 12:07, 1 March 2012 (UTC)&lt;br /&gt;
&lt;br /&gt;
== a realtime .sif synchronized text window ==&lt;br /&gt;
&lt;br /&gt;
just like the xml editor of Inkscape, or the html editor in Dreamweaver (this is hugelly useful for productivity)&lt;br /&gt;
&lt;br /&gt;
I thinks scripting API can be implement in this way. For example you make XML DOM like implementation for python which alows to change DOM tree from python code and see chenges in canvas. By this way you can implement import/export scripts. Automation scripts. And a lot of different things. Even synchronization of animation between blender and synfig. --{{l|User:AkhIL|AkhIL}} 23:10, 26 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== choosing colour from gimp/inkscape palettes ==&lt;br /&gt;
&lt;br /&gt;
very useful when you need some colour comformity of what you're doing &lt;br /&gt;
&lt;br /&gt;
== Good high-level documentation of the source code ==&lt;br /&gt;
&lt;br /&gt;
(2) It'd be nice if a newbie could quickly navigate around the source code. The best thing to do would be to add top-level comments in each file, explaining what that file does, a README.TXT in each directory, explaining what's in that directory. This would be pretty fast and easy to do, and make it much easier for new programmers to join. &lt;br /&gt;
&lt;br /&gt;
Time permitting, it would also be good to document on a high level what the data structures are, but that's harder, since those tend to evolve, and it is often difficult to keep in sync. It would also be useful to document what individual functions do (just a one-liner high-level description), but that also takes more time.&lt;br /&gt;
: There is a page link in the wiki that connect to the [http://www.synfig.com/doc Synfig API Documentation]. I think this link should be highlighted to be more accessible for newbies contributors and mature developers (the link was found {{l|Releases/DeveloperPreview#Support | here}}). --{{l|User:Genete|Genete}} 10:02, 11 December 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
== Mathematical functions to animate ==&lt;br /&gt;
(2/4) If you want to make a waving flag, it would be handful a sine function, tuned with random correctors, for example. &lt;br /&gt;
: -This should generate waypoints each 1, 2, 4 frames or any other step at artist's wish.&lt;br /&gt;
: -When applying a function you can add it to current values, add it to 1st frame values or simply override old values. Perhaps other options (such multiplication) would be fine, too. Something like texture editor in [http://www.artofillusion.org Art of Illusion], perhaps.&lt;br /&gt;
Perhaps it would be useful reusing the [http://www.gnu.org/software/octave/ Octave] source code to parse mathematical expressions.&lt;br /&gt;
I have rated this wish with a '2' because undoubtly many users will not be familiar to mathematical concepts, but for those who will be, I'd rate it with a 4. It would be possible to make a ball describing a parabolic moving in no time.&lt;br /&gt;
{{l|User:ajotatxe|ajotatxe}} 20 November 2007&lt;br /&gt;
: dooglus can probably chime in better than I here (see his example of balls on mathematical paths at http://uk.youtube.com/watch?v=YTpSfUthuVE ), but I believe that this is already possible.  Synfig does support a variety of mathematical transforms for parameters, although the way you do this is by no means intuitive.  (You might also want to check out the preambletaffy.sifz example for an easier approach to a waving flag. I know you were just using that as an example, but for the record...) {{l|User:Pxegeek|Pxegeek}} 00:58, 21 November 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
: I'd also rate it with a (4) (and updated the rating accordingly), not for this special case, but to make many workarounds much easier.  Simulating [Parabolic Shot|free fall], for example, would be a lot easier with real formulas.  I don't know, though how easy it will be to implement, maybe waiting for a scripting interface to be implemented is better than hacking this feature in an ad-hoc manner.  --{{l|User:Rubikcube|Rubikcube}} 16:38, 29 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
:One thing to keep in mind is that 2D animations will not frequently look realistic if you implement the exact mathematics without some sort of 3d perspective transformation. And then there is the complex physics also involved in defining precise trajectories. ..This aside, what is needed is simply a function value generator as a function of n variables where at least one variable can be the frame you are on (I don't have much experience with synfig, but I presume there is a way to explicitly get the value of the frame/time you are on) and where this output value can be linked to any other parameter (of a compatible type); you can hook these function block outputs to inputs of other instances of the generator; and the outputs are defined once on every frame. To do a movement like a parabola you configure the generator to output parabola values (one per frame or even allow skipping frames) and then link these values to the vertices of a translation layer. [In other words, the stuff underneath within scope would likely move relative to other stuff underneath but at an outer scope.] We note that linking this way will create many potentials for conflict between these values and existing waypoint values. We can specify which takes precedence and how to smooth between these. Eg, if waypoints take precedence in some particular case, we can specify how to smooth against the function generator values before and after the waypoint. How do we define the functions? The functions can come from a preselect set of parameterized functions (user enters fills in the parameters with constant values or else links). Two examples of functions with three param values would be: Asin(x)+B and mx+b. Also, very usefully, allow a sequence of values to be copy/pasted to define the function outputs at each step (so the mapping defining the function is a stream interpreted as the output value at each discrete frame value). The generator can be time shifted of course. This function definition approach allows other applications (or things like motion sensors) to generate the function values. Another method that can be useful for defining a function would be to accept a curve (eg, bline) and the function output values would come from the curve based on some method specified (eg, as a function of the length from some starting point along the curve and where the speed of travel is defined by a function L(t) where L is length from start so far and t is time/frame count (eg, L(t)=t means we move at constant speed along the curve, that is, at a value of 5 frames we would be 5 units along the length of the curve)).  ..Anyway, the point is to have a function generator to hook up arbitrarily with inputs and which can co-exist with waypoints that would otherwise conflict. This would allow arbitrary automation of anything (based on precomputed or dynamic algorithmic values) without having to manually define/record a single waypoint. Conceptually, this doesn't seem that complex to integrate into the existing synfig and would be very useful (to allow arbitrary automation). An initial prototype version might integrate with only a few things, only have a limited set of simple predefined functions (plus sequence definition capabilities), have the output value be tossed out whenever a waypoint already existed, and exist only from a single menu entry. I really would like this feature. It would make it easier to speed up animation generation in many new custom ways without having to hack into synfig or into the sif file with some other tool. If I get comfortable with the code base, I might be able to chip in. [Any pointers would be appreciated.] [[User:Jose X|Jose X]] 07:03, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Warning about editing bizarre things in animate editing mode ==&lt;br /&gt;
(3.5) It seems to have little sense animate certain things like Blend Method or Type of Feather. It would be very nice that the program asked comfirmation if you change these attributes in animate editing mode. If you do want to, you would have three options: &amp;quot;Yes, never ask&amp;quot;, &amp;quot;Yes, never ask for this attribute&amp;quot;, &amp;quot;No&amp;quot;. I guess that internally, this attributes has integer type (or something like that) and the attributes that you normally want to animate, float type, so I think that this feature is relatively easy to implement. My English is not very good, so please feel free to fix this post.&lt;br /&gt;
{{l|User:ajotatxe|ajotatxe}} 20 November 2007&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bones with FK &amp;amp; IK + grouping of objects into folders ==&lt;br /&gt;
&lt;br /&gt;
(5) Bones cane move specific vector assigned to them or the bones can have envelopes that move the vectors within their field of influence, much Like Anime Studio/Moho does. It's quite a time saving process of animating. Objects created can be saved into separate groups or folders using the same system as Anime Studio/Moho -Shadowphoenix 27/8/2007&lt;br /&gt;
&lt;br /&gt;
== Animated sketch ==&lt;br /&gt;
&lt;br /&gt;
(5) it would be great, if the tool Sketch was animatable (for example, in a form of a special sketch-layer). --Zelgadis 2007-06-14&lt;br /&gt;
&lt;br /&gt;
: For now as a workaround we could use animation program called Pencil. See {{l|Related Projects}} page. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
: So, currently it could be achieved by using other software, but integration with synfig is poor, cause it requires importing a movie through a sequence of images. This is not intuitive and not obvious for new users. It will be good if synfig will have it implemented like [url=http://www.blender.org/development/release-logs/blender-248/grease-pencil/]blender's Grease Pencil[/url]. This feature will improve workflow, make synfig usable for frame-by frame animation (it is intuitive way of learning animation and powerful tool for producing preproduction work like animatic). --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
: It would be nice to also implement the onion peel feature, where you can see the frame before or after, and/or selectable keyframes if this is included. An example can be seen in the program Pencil--{{l|User:richardwad1|richardwad1}}&lt;br /&gt;
&lt;br /&gt;
== Duck for Amount value in Zoom layer ==&lt;br /&gt;
&lt;br /&gt;
(2) It would be nice if Amount value in Zoom layer was controlled by additional duck. --{{l|User:Zelgadis|Zelgadis}} 02:49, 29 December 2007 (EST)&lt;br /&gt;
: I found that I can better use Warp layer instead of Zoom to change size. But it'd be nice to have Amount duck for Zoom layer anyway...&lt;br /&gt;
:: The Amount parameter works exponentially; each time you add 1 to the Amount, the image is zoomed by a further factor of e (= 2.71828 or so).  Would a duck be any use if it just controlled the value of Amount in a linear way?&lt;br /&gt;
:: Workarounds include: export Amount, select it in the children dialog.  Whatever's selected in the children dialog shows a duck.  You can adjust it using that duck.&lt;br /&gt;
:: Also, if you use a Stretch layer, convert the Amount to Composite, export the X-Axis and connect it to the Y-Axis, then you have a duck-controllable fixed-aspect zoom. -- {{l|User:Dooglus|dooglus}} 15:32, 15 January 2008 (EST)&lt;br /&gt;
::: Yeah I found this workaround, but it's to much actions - i prefer better use Warp or Stretch layers. Why not the link Amount duck and Amount value with logarithmic function? ;) --{{l|User:Zelgadis|Zelgadis}} 10:33, 17 January 2008 (EST)&lt;br /&gt;
::::{{l|Convert#Logarithm|Logarithm}} convert type for real parameters exists since svn 2034. {{l|User:Genete|Genete}} 10:17, 30 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Automatic colour palette optimisation ==&lt;br /&gt;
&lt;br /&gt;
(0) it would be nice to use libcontrast [http://david.navi.cx/blog/?p=132] [http://david.navi.cx/blog/?p=94] [http://david.navi.cx/blog/?p=99] [http://svn.gnome.org/svn/xchat-gnome/trunk/src/libcontrast/] to automatically adjust selected or all the palette items for best visual contrast. It would also be interesting to have a layer that uses this code to filter the image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbitrary Color Channels ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; The ability for the user to create any number of custom channels for various purposes.&lt;br /&gt;
&lt;br /&gt;
== Autorecover History ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; It would be great if autorecover could also recover the associated history of a file in the event of a crash.&lt;br /&gt;
&lt;br /&gt;
== Layer Convert ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;(4)&amp;lt;/strike&amp;gt; (2) &amp;amp;mdash; The original intent of this feature request has been solved and documented - {{l|How_do_I#Fill_an_outline.3F|How do I....Fill an Outline?}} - but it would still be nice to have a way to convert one sort of path layer to another. ''(Downgraded to level 2) {{l|User:SnapSilverlight|Snap}} 12:32, 17 Jan 2006 (PST)''&lt;br /&gt;
&lt;br /&gt;
== Vector fill bucket ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; Like the traditional bitmap fill, but this fills the area clicked out to the nearest boundary paths with a region of that area, set to the foreground color (it actually would create a new {{l|Region Layer|region layer}}). &amp;lt;p&amp;gt;Alternatively, a single-duck layer object, that performs a simple bitmap fill from its (animatable) location, with its stored color value. (This second approach is similar to the behavior of one of Softimage's TOONZ[http://www.google.com/search?q=softimage+TOONZ]'s tools)&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;If this is implemented, it will probably be necessary to change the existing &amp;quot;fill&amp;quot; tool's name and icon to a &amp;quot;color injector&amp;quot; (hypodermic needle / turkey injector icon) tool, as that's closer to describing what it does.&lt;br /&gt;
&lt;br /&gt;
*Inkscape has a very innvative version of this tool. Maybe you can just grab the code from there and integrate it in synfig? --{{l|User:SvH|SvH}} 01:37, 14 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== {{l|Dev:Redraw tool}} ==&lt;br /&gt;
&lt;br /&gt;
(4-5) &amp;amp;mdash; Intutive reshaping of path-based layers. See link.&lt;br /&gt;
&lt;br /&gt;
== [http://developer.gnome.org/projects/gup/hig/ Gnome HIG Compliance] ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; This should solve all complaints about the layout, without requiring Synfig to be &amp;quot;just like program (x)&amp;quot;. See {{l|Dev:UI Reloaded}} for progress on this.&lt;br /&gt;
&lt;br /&gt;
== Feedback for {{l|Smooth Move Tool}} ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; This tool does what a lot of folks are looking for, warping selected ducks in a &amp;quot;soft&amp;quot; fashion. But it's not very obvious what sort of effect it will have, from the tool's interface. It needs some sort of momentary center-of-action and radius indicator at the very least. Perhaps an &amp;quot;influence gradient&amp;quot; overlaid on the canvas once Synfig's core is sped up?&lt;br /&gt;
&lt;br /&gt;
== Networkability ==&lt;br /&gt;
&lt;br /&gt;
(2) &amp;amp;mdash; Like Inkscape's &amp;quot;inkboard&amp;quot; feature (using Jabber), or Blender's Verse server [http://www.blender.org/modules/verse/index.php], or OpenCanvas's Networking option. This should probably farm off all the networking stuff to the telepathy framework so that synfig doesn't have to deal with all the account/etc issues.&lt;br /&gt;
&lt;br /&gt;
== Intuitive tangent modification ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; (BBQ Pulled Duck) Inkscape has this for still handles - basically, grab a section of the spline between handles, and pull it around, the program automatically alters the tangent handles to match. What would be really neat is if you could do the same for temporal handles - be able to grab the spline between keyframes, and yank it around, and have Synfig automatically adjust the key interpolation to match. Not sure exactly what the workflow in the UI would be for this, however.&lt;br /&gt;
&lt;br /&gt;
-Agreed; blender does this with its IPO curves, and it's a really efficient way to work.&lt;br /&gt;
&lt;br /&gt;
== Plugin API ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; Would be nice to enable additional functionality to be added to the program without it necessarily needing to be in the Synfig source tree. ''According to the Synfig 0.61.01 roadmap on [http://deepdarc.com/ deepdarc.com], there is a plugin API already implemented. So instead, this may be a {{l|Wiki Wish List|Wiki Wish}} for documentation, depending on how much has already been completed. {{l|User:SnapSilverlight|Snap}} 19:57, 13 Jan 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
== Python support ==&lt;br /&gt;
&lt;br /&gt;
(1) of some sort will no doubt be demanded by the userbase eventually, for studio-specific automation of tasks, noncompiled plugins, etc. I ({{l|User:Snap|SnapSilverlight}}) don't have any particular use for it at the moment, tho'.&lt;br /&gt;
&lt;br /&gt;
I suppose to join this request with {{l|Dev:Wish_list#a_realtime_.sif_synchronized_text_window}}. We can implement python access to XML DOM and write XML Editor in python. --{{l|User:AkhIL|AkhIL}} 06:54, 30 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== mod_synfig ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; For Apache. Render .sif to some format like png/mng on access.&lt;br /&gt;
&lt;br /&gt;
== synfig nsplugin ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; Let Mozilla and Mozilla-based view synfig files in-browser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Align function ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; Align objects at a common border (as in Inkscape)&lt;br /&gt;
&lt;br /&gt;
== Improved SVG import ==&lt;br /&gt;
&lt;br /&gt;
SVG import support is currently limited to paths - it does not support text or effects. [[User:Nikitakit|nikitakit]] 01:27, 14 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Useful would be the possibility of importing SVG sequences, just like Macromedia/Adobe Flash does with .ai sequences&lt;br /&gt;
&lt;br /&gt;
== Gradient Paint Tool ==&lt;br /&gt;
&lt;br /&gt;
How about a tool that can 'paint' a gradient object.  For example the options would be width and gradient type, one would make a stroke with the tool and the gradient would be automatically applied inside of the outline (set by width).  This would save the trouble of having to the all the encapsulation stuff. (Actually any tool that makes creating gradient one step would be good).--{{l|User:Triclops|Triclops}} 09:52, 9 Aug 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
(4) Agree. 4 for usability/readability of layers reasons --[[User:Ohoservices|Ohoservices]] 11:33, 27 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Bone Animation Tools ==&lt;br /&gt;
&lt;br /&gt;
Bone system with inverse kinematics, very important for quick animation. You put bones on a drawed man and you can animate him like a puppet. I'm using that in Moho (lost marble product).--{{l|User:Ziolive|ziolive}} 23 Aug 2006&lt;br /&gt;
*I would find this very useful too. I think it is called '''rigging'''(4/5) --{{l|User:SvH|SvH}} 01:33, 14 May 2008 (EDT)&lt;br /&gt;
*I think this effect can be simulated by adding the correct rotation layers + encapsulation to every object that is to be restrained by joints and then linking vertices. A rotation layer center would be at the corresponding joint. We would then link the vertices of the &amp;quot;limbs&amp;quot; that shared a joint. See {{l|Doc:Cut-out Animation}} ...Perhaps this process could be made more direct through an interface that behinds the scenes creates the proper layers and reorganization all at once as the user decides to link objects to joints. ...Implementing this will involve seeing if already restrained motions allow creating joints. Also, adding a joint may clash with already existing waypoints, so waypoint conflict resolution options and rules will have to be developed. [See also an above remark in the section &amp;quot;Mathematical functions to animate&amp;quot; about linked function generator values conflicting with waypoints.] [[User:Jose X|Jose X]] 20:17, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== AVI Backgrounds ==&lt;br /&gt;
Is there any way I can add an avi as a background so I could add facial expressions to a stop-motion animated figure. [zotz here, I was thinking DV background or extra timeline. I would like to mix animations with live footage. rating (3/4)]&lt;br /&gt;
: Already implemented for ffmpeg pipeline of ppm in svn r2161 {{l|User:Genete|Genete}} 05:36, 9 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Character tool on Tool Options Dialog ==&lt;br /&gt;
&lt;br /&gt;
I want to use the as a character generator for a TV show. By using chroma key hide the background.  Even better interface to a video overlay card with Alpha blending.&lt;br /&gt;
&lt;br /&gt;
== Collect for Publication ==&lt;br /&gt;
&lt;br /&gt;
(3/4) - (zotz) Menu item, functionality that would collect alll files referenced in a sif and place them all in a tgz for sending elsewhere or publishing animations in source form.&lt;br /&gt;
&lt;br /&gt;
== Object Library ==&lt;br /&gt;
&lt;br /&gt;
(3/4) - (zotz) Haven't thought this all through yet, but synfig could come with a library of categotrised &amp;quot;objects&amp;quot; with a copyleft license (GPL?  CC BY-SA?) An animation clip art type deal.&lt;br /&gt;
:I'd suggest this should be public domain and distributed by openclipart.org -- --{{l|User:PaulWise|pabs}}&lt;br /&gt;
&lt;br /&gt;
== Flash Export ==&lt;br /&gt;
&lt;br /&gt;
(3/4) Well, might just be me but if there was a posiblity to  export in .swf or .fla, I think the project might become a lot more popular.{{l|User:Conceit|Conceit}}&lt;br /&gt;
&lt;br /&gt;
(4/5) I wholeheartedly agree. I would definitely use synfig more if this feature were added and it would most definitely increase popularity. {{l|User:cdj05a|cdj05a}}&lt;br /&gt;
&lt;br /&gt;
(4[me]/5[others]) Definitely would love flash export. There is no well maintained Flash animation studio that is Open Source. To have Synfig become that along with all that it already is would be absolutely wonderful. You'd also possibly add to your user base all the flash animators out there that don't want to pay Adobe. Some people would only want it for the flash animation hence the 5 for others. {{l|User:jblandrum|jblandrum}}&lt;br /&gt;
&lt;br /&gt;
This can be simply done from a python plugin could use SwfTools for converting temporary exported data into .swf file - not very hard thing to do - the information used from SwfTools is very simple to be created, such as simple .swf files are.&lt;br /&gt;
&lt;br /&gt;
== Single window ==&lt;br /&gt;
&lt;br /&gt;
Depending on individual desktop setups, single window is sometimes preferable to many  windows. Can we have a single-window option?&lt;br /&gt;
&lt;br /&gt;
Also, even with many windows, Windows-users especially might find it better if all the windows only appeared as a single one on the taskbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Export Wizard ==&lt;br /&gt;
&lt;br /&gt;
(2/4) Conversion and export to other file formats (mpg, avi, flash formats, others, and the synfig format) with a step by step wizard for choosing format and place of saving. Similar to Gimp's saving of .png files but for movie/video type files. --&lt;br /&gt;
{{l|User:Hiddenghost|hiddenghost}}&lt;br /&gt;
&lt;br /&gt;
== Using Synfig as a portable app ==&lt;br /&gt;
&lt;br /&gt;
(3) This isn't really a feature request (though it could be) but I was wondering if synfig could be used as a portable application (as in www.portableapps.com). Does the windows install require registry access? i really want to use Synfig at work, but I'm reluctant to install it just in case it leave footprints in the regisitry or something, and it would be sweet to use it on my travels as well. Only thing is, I can't test it out at home because I am using Linux.&lt;br /&gt;
See also: http://portableapps.com/node/5761&lt;br /&gt;
{{l|User:Zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
This isn't currently possible without modifying the source code. That has been on my TODO list for ages {{l|User:PaulWise|pabs}} 01:17, 26 October 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allow organize child valuenodes in an hierarchy ==&lt;br /&gt;
(3-2) And allow maintain the organization once the file is saved. At the moment they are reordered in alphabetical order which is useless and annoying.&lt;br /&gt;
&lt;br /&gt;
== Triangle sliders to be always visible ==&lt;br /&gt;
(3) I would like that the triangle sliders from {{l|Colors Dialog}} and {{l|Gradient Editor Dialog}} were visible whatever color or channel you're editing. Some times when the color or channel is to bright or light the slider is difficult to distinguish. --{{l|User:Genete|Genete}} 14:30, 29 October 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
This is important for usability, should be solved soon.&lt;br /&gt;
--[[User:Ohoservices|Ohoservices]] 10:49, 27 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== XICC support ==&lt;br /&gt;
&lt;br /&gt;
It would be cool if synfigstudio had support for [http://burtonini.com/blog/computers/xicc XICC].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Area to Edit ==&lt;br /&gt;
&lt;br /&gt;
An option like blender - select area to update would be nice, so the only part of the image that updates when you add or change something is in the selected area&lt;br /&gt;
&lt;br /&gt;
ie. when working on a complex composition, studio doesn't know, when I tweak a tiny part of the composition, that only that part needs redrawing, so it redraws the whole thing.  It would be good if there was some way of telling it which part to focus on. -- {{l|User:Dooglus|dooglus}} 04:02, 3 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Histograms ==&lt;br /&gt;
&lt;br /&gt;
 01:23  * AkhIL wish to have histograms and luma/color scope like [http://mac.softpedia.com/progScreenshots/Avid-Xpress-DV-Screenshot-14207.html] in synfig&lt;br /&gt;
&lt;br /&gt;
I've looked at those pictures but don't know what they're showing.  Can you describe what those scopes are doing, and what the histograms display?  ie. what are the X and Y axes of the histograms? -- {{l|User:Dooglus|dooglus}} 04:07, 3 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
First look this description in blender wiki [http://wiki.blender.org/index.php/Manual/VSE_Modes]&lt;br /&gt;
&lt;br /&gt;
Ok There is four things.&lt;br /&gt;
* Upper left is Lumascope (Luma Waveform in blender). X-Axis represents image's X-Axys. Y-Axis  is average luminescence of column of pixels.&lt;br /&gt;
* Upper right is Chromascope (Chroma Vectorscope in blender). Just look description on blender wiki.&lt;br /&gt;
* Lower left is like Lumascope but for each channel &lt;br /&gt;
* Lower right is histograms. X is luminescence and Y is count of pixels with such luminiscence.&lt;br /&gt;
&lt;br /&gt;
== Sound Layer ==&lt;br /&gt;
&lt;br /&gt;
(4) It would be a very good improvement if the sound system were implemented into synfig in {{l|Dev:Sound Layer | this}} way. --{{l|User:Genete|Genete}} 07:46, 8 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Rearrange the view of waypoints for Canvas param ==&lt;br /&gt;
As reported in [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1888858&amp;amp;group_id=144022&amp;amp;atid=757416 Bug #1888858] waypoints are not displayed for canvas switch events.&lt;br /&gt;
I suggest to rearrange waypoints display according to {{l|Media:Canvas_prop.png|this scheme}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Width weigths ==&lt;br /&gt;
Is it possible to add &amp;quot;weigths&amp;quot; for widths? ^_^ I.e. width changes not all the way along the segment. Maybe something like a duck on bline which indicates the region where the width of current vertex isn't changed.&lt;br /&gt;
{{l|Media:width-proposal.png|Illustration here.}}&lt;br /&gt;
&lt;br /&gt;
More ideas around this concept in [http://dooglus.rincevent.net/synfig/logs/2008/%23synfig-2008-04-16.log this conversation]. Although the log of that day is very interesting the lines related to this idea are from 22:38 to 23:43. {{l|User:Genete|Genete}} 17:51, 16 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improved Colour Dialog ==&lt;br /&gt;
How easy is it to stick in a colour square/wheel? Messing with sliders is somewhat obstructive.&lt;br /&gt;
&lt;br /&gt;
== Insert Waypoints ==&lt;br /&gt;
A button to create a waypoint for every selected duck, in its current position. Moving each duck up a bit and down again quickly gets tedious.&lt;br /&gt;
:If the duck in question has already a waypoint then you don't need to move it to create a new waypoint. Just select the corresponding parameter in your child list panel and select 'Add Waypoint' from the right click context menu over the parameter. No need to have the duck selected. If you want to freeze the entire bline just do that over the Bline Point List. {{l|User:Genete|Genete}} 07:48, 29 April 2008 (EDT)&lt;br /&gt;
::Yes, but it would be nice to have opportunity to add waypoint to parameer which not have any ducks yet (i.e. non-animated parameter). --{{l|User:Zelgadis|Zelgadis}} 08:33, 29 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Automatically split tangeants ==&lt;br /&gt;
&lt;br /&gt;
Holding shift while moving tangeant ducks should automatically split them. They can be rejoined if necessary through the context menu as they are now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A way to link params without exporting ==&lt;br /&gt;
I need a way to link params with different names without exporting. It is possible to achive by manualy editing of sif file. But inposible by gui. I will be nice to have linking by drag-n-drop. Or just by selecting reference param, pushing copy button, selecting another param and bushing link button. ---{{l|User:AkhIL|AkhIL}} 21:47, 30 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Allow select the origin of rotation when using the Rotate Tool ==&lt;br /&gt;
&lt;br /&gt;
It can be initially set to the geometrical center of the selected ducks or the gravity center depending of the selected checkboxes in the tool options panel. Later the user could move it before perform the rotation operation. It is a waste of time to rotate and translate the ducks every time a rotation manipulation is done. ---{{l|User:Genete|Genete}} 12:16, 4 June 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:I was adding this request at the same time than you Genete :-). Here is an example of how this issue is solved in Inkscape:&lt;br /&gt;
&lt;br /&gt;
:{{l|Image:rotate-tool-inkscape.png|center}}&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:Yaco|Yaco}}&lt;br /&gt;
&lt;br /&gt;
== Non-symetrical but &amp;quot;smooth&amp;quot; tangents on ducks ==&lt;br /&gt;
Add another mode for duck tangent, where the tangent can have different radius, but keep the same angle. (a &amp;quot;split tangents (radius only)&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dockable windows ==&lt;br /&gt;
The current GUI is a pain in the rear by not complete covering the desktop and it's showing 5 tabs instead of  usual one tab so it's frustrating to switch windows if you running more than one software. (windows version)&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
== A Particle Tool/Particle Object Editor ==&lt;br /&gt;
I  thought it might be interesting to add a Particle tool that is intuitive. Genete's script is amazing and I am sure I will do a lot of things with it once I have a chance to sit down and figure it out, but if there were a way to make it into tool with all the settings on sliders, it would be much easier. His script adds endless possibilities of nice effects to make animations look better. I personally rate this rather high. 3.5/5&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:richardwad1|richardwad1}}&lt;br /&gt;
&lt;br /&gt;
== A programation language as code behind like python, ruby or any ==&lt;br /&gt;
Code behind should be important to program the animation or events associated, programers and designers could work in a colaborative workspace and make applications with richfull content on desktop applicactions or web applications like expression blend or macromedia flash CS.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:nickholai|nickholai}}&lt;br /&gt;
&lt;br /&gt;
== Embedding animation on web applications ==&lt;br /&gt;
Like Macromedia Flash, it seems to require a plug in for internet explorer or firefox diferent as silverlight or flash, open source and &amp;quot;software libre&amp;quot; projects are working on animation but using the flash plug in, this wish needs a free plug in.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:nickholai|nickholai}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This seems a bit confusing; why do you want a plug in for synfig? When we add the import and export swf. file feature, it will use the flash plug in. Besides the flash player program is free, so you don't have to pay anything.  I find that this feature is useless until you explain to us better why you think this software needs a plug-in.&lt;br /&gt;
&lt;br /&gt;
Create a thread in the synfig forum if you want to continue to talk about this. We're listening.&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
:Support for svg export would solve the problem (I think), to the extent svg plugins work well (and svg is a more open format than is swf). Would sifz -&amp;gt; svg -&amp;gt; sifz possibly result in data loss/ambiguity (eg, with names)? I don't think sifz has interactivity, right (eg, mouse events that control the visual)? [[User:Jose X|Jose X]] 04:20, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Split Tangent indicator ==&lt;br /&gt;
&lt;br /&gt;
Its hard to tell if a tangent is split or not without clicking on it (either to use the context menu, or move a duck). All of the ducks should change to another shape (eg a square) for a quick visual indication of a ducks state.&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Progress indicators ==&lt;br /&gt;
&lt;br /&gt;
Eg % complete in opening file, pop-up window which indicates how many frames are rendered of a render, eg &amp;quot;rendering 10 of 999&amp;quot; that can be closed/ignored if needed. &lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Improve the Timeline ==&lt;br /&gt;
&lt;br /&gt;
I know, this is one hell of a wish, but, as in all, i think that is best if you think in the ideals conditions and then you downgrade into what is possible to achieve in a reasonable period of time.&lt;br /&gt;
&lt;br /&gt;
:D greetings!!&lt;br /&gt;
&lt;br /&gt;
[4] Normal mode // [4] Layer mode // [4] Secuence mode &lt;br /&gt;
&lt;br /&gt;
.I think that this modes are three diferent windows layout, therefore the hability to create new and save different windows layout, should be the first to do in order to achieve this three modes.&lt;br /&gt;
&lt;br /&gt;
{{l|Image:Timeline-normal-mode-explained.jpg|200px}} {{l|Image:Timeline-layer-mode-explained.jpg|200px}} {{l|Image:Timeline-secuence-mode-explained.jpg|200px}}&lt;br /&gt;
&lt;br /&gt;
(click to enlarge)&lt;br /&gt;
&lt;br /&gt;
02/01/2009 {{l|User:Belifilmaker|Belifilmaker}}&lt;br /&gt;
&lt;br /&gt;
== Lockable Layers ==&lt;br /&gt;
I would use them all of the time.&lt;br /&gt;
{{l|User:Zenoscope|Zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Vector Objects ==&lt;br /&gt;
Represent objects (ie. circles, rectangles, regions, outlines, etc) as a new type of element. These objects exist as childs of some layer. The layer then takes care of rendering these objects to a raster. Currently layers do both things, represent objects and render them.&lt;br /&gt;
&lt;br /&gt;
Having objects as a seperate entity would allow defining operations between them. For example:&lt;br /&gt;
* Take two region objects and find the union of their regions. This would produce a vector representation of the resulting region (ie. Bline) which in turn can be used for other operations (ie. link vertex to Bline).&lt;br /&gt;
* Apply transformation to a vector object producing a vector object as a result which can be further processed.&lt;br /&gt;
* Trace a {{l|Media:Smooth_silhoutte.png|smooth silhoutte}} around a set of vector objects.&lt;br /&gt;
* Slice an animated vector object into pieces and be able to move the pieces around (while preserving the original animation). Would be useful for reflection on a broken glass effect.&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:Yoyobuae|Yoyobuae}}&lt;br /&gt;
&lt;br /&gt;
== Free drawing ==&lt;br /&gt;
&lt;br /&gt;
I wish the synfig have ability to do paintings like with brush and eraser. Imagine: you painting over Paste canvas, and synfig automatically creates shapes inside this Paste canvas layer, doing necessary boolean operations and linking between them. So they don't overlap. This would allow flash-like workflow, which is very suitable for newbies. {{l|Dev:Free Drawing|Discussion.}} --{{l|User:Zelgadis|Zelgadis}} 15:27, 9 April 2009 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Even a simpler manifestation of this wish, an eraser feature for the sketch tool, would come in very handy. [[User:Jose X|Jose X]] 19:53, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Projection Layer ==&lt;br /&gt;
&lt;br /&gt;
The projection layer (a new type of transformation layer) would have two angle parameters that define how the lower layers get transformed: as if projected from a canvas angled in 3D space unto a 2D final image. By combining different encapsulations that use the projection layer, we can facilitate some 3D animation realism from simple 2D manipulations.&lt;br /&gt;
[[User:Jose X|Jose X]] 22:14, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==  New Gradient Tool icon ==&lt;br /&gt;
[3]  The Rectangle Tool and Gradient Tool have almost identical icons.  One of them should be changed.&lt;br /&gt;
Arbitrary suggestion:  Make the Rectangle's icon a rectangle instead of a square, with a solid fill, and make the Gradient's icon a coloured gradient instead of grey.&lt;br /&gt;
&lt;br /&gt;
==  Arrowheads  ==&lt;br /&gt;
[4]  I use Synfig for animations that go in instructional videos.  I currently use the Polygon tool for making arrows, but it would be a lot faster if Bline layers had a property for putting shapes like arrowheads at the ends of the path.[[User:Envergure|Envergure]] 18:17, 21 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:In addition:&lt;br /&gt;
&lt;br /&gt;
:*The ability to stroke bline paths so as to have the outline be made up of a series one or more arbitrary shapes (ie, besides lines) would also be useful since this would facilitate the animation of discrete objects that relate to each other in space and across frames.&lt;br /&gt;
&lt;br /&gt;
:*Having a shapes repository would be very useful [and with an improved synfig import mechanism that allows exported variables from imported canvases to be seen and be accessible automatically under the imported canvas' namespace -- this would facilitate the use of these .sif libraries/plugins]. And a community of people can collaborate on writing programs to help find shapes that meet certain specs: for example, just like we can write a program to find the optimal way to set up N blines to minimize squared error(?) estimation of a circle, we can write other programs to find how N blines might represent hemi-sphere and many other shapes as faithfully as possible. [Contrast with having users create standard shapes out of blines but using subjective criteria.]&lt;br /&gt;
&lt;br /&gt;
:*A special raster and vector library and set of tutorials can be created to help with the creation of tutorials for synfig documentation. Eg, include png files for &amp;quot;every&amp;quot; view of synfig (eg, every menu entry, panel view, button, etc); have arrows, boxes, bubbles, and other synfig &amp;quot;widgets&amp;quot; that are likely to be used in videos; and include good tutorials and set of instructions for using this art/animation library to build videos or simulated screenshots, etc.&lt;br /&gt;
:::Side effects of this doc project would include helping more people get involved with synfig, motivating more people be able to build such documentation/instructions for projects beyond synfig (though perhaps using synfig to create the scenes), and helping to create a standard set of pictures and best practices for synfig so that the synfig docs will tend towards uniformity (to the degree this is desirable).&lt;br /&gt;
&lt;br /&gt;
==  Rotoscope Layer ==&lt;br /&gt;
[3]  I hereby request an option in the Draw Tool's Tool Option box which would be labeled &amp;quot;This Frame Only&amp;quot; and have the following characteristics:  Three waypoints would be automatically created, one at the current frame, with an Amount value of One (1), and one each on the previous and next frames, with Amounts of Zero (0).  The purpose of such an option is as follows:  although Synfig is one of the only open-source applications capable of rotoscoping, or at least rotoscoping in an editable manner, it is actually pretty poor at it, for one very basic reason.  Synfig is geared toward tweening of relatively simple vector shapes, and rotoscoping is frame-by-frame tracing of organic shapes.  Currently in Synfig, to rotoscope (trace an object from live-action footage, such as a person) the user must either trace with the draw tool or and set the abovementioned waypoints manually (a pain), or try to use bline shapes, which is really worse, because real-life things aren't that smooth.  I suspect that this would be such an easy fix that I might attempt to learn enough C++ to figure it out on my own; if not, someone else could probably do it in fifteen minutes.  It certainly wouldn't be used by everyone, but it would be an incredible boon to those of us who do use Synfig for effects on live-action footage.&lt;br /&gt;
&lt;br /&gt;
: Are you talking about some kind of &amp;quot;frame-by-frame feature&amp;quot; which allows to switch layers on every frame? --[[User:Zelgadis|Zelgadis]] 14:42, 14 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Yes - currently, frame-by-frame is possible, but requires manually setting three waypoints per layer.  I'd just like an automation of that.  --[[User:Nikolardo|Nikolardo]] 9:55, 14 February 2011 (EST)&lt;br /&gt;
&lt;br /&gt;
==  Difference Matte Blend Method ==&lt;br /&gt;
[2]  Precisely:  compare the red, blue, and green channel and, when the same (or within a specifiable amount), make them transparent.&lt;br /&gt;
&lt;br /&gt;
==  Chroma Key Layer==&lt;br /&gt;
[4]  Make selected color in layer beneath transparent.  I'm working on using different combinations of layers to accomplish this at the moment, but no joy yet.  When I get it to work, I'll remove this.&lt;br /&gt;
&lt;br /&gt;
: There is a work-in-progress module for chromakey developed by AkhIL - [http://akhil.nm.ru/tools/synfig-modules/mod_akhilfx-20080509.tar.bz2 mod_akhilfx-20080509.tar.bz2]. Unfortunately it is still not included into official source code. --[[User:Zelgadis|Zelgadis]]&lt;br /&gt;
&lt;br /&gt;
==  Auto-Split Tangents==&lt;br /&gt;
[3]  Have an checkbox in the Bline Tool (and other tools) which would force all tangents in the created object to be split.&lt;br /&gt;
&lt;br /&gt;
: Maybe it's better will be to change behavior of BlineTool? Single click adds vertex with tangents split (and zero length) and click-and-drag adds vertex with merged tangents. That's a common way of construct splines in other vector applications. --[[User:Zelgadis|Zelgadis]] 04:13, 4 March 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Cairo rendering ==&lt;br /&gt;
[3] Using Cairo as render for synfig instead of the software actual render would enourmously boost its performance, as it did in Inkscape (in that case 2x).&lt;br /&gt;
&lt;br /&gt;
: See the process [[Dev:Cairo_render_migration]] [[User:Eldruin|Eldruin]] 14:13, 7 February 2012 (UTC)&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Wish_list&amp;diff=15285</id>
		<title>Dev:Wish list</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Wish_list&amp;diff=15285"/>
				<updated>2012-03-01T12:03:56Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* import/export .svg frames sequence, and/or .svg animations */  ideas on how to implement it&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TranslationBar|CONTENT={{Tr/en}} · {{Tr/fr}}}}&lt;br /&gt;
&lt;br /&gt;
'''''Warning''''': We need more people working on the code if we are going to be able to achieve all the feature requests.&lt;br /&gt;
&lt;br /&gt;
Got a great idea for a new feature? Just add it here, or on the [http://sourceforge.net/tracker/?group_id=144022&amp;amp;atid=757419 feature requests tracker]. Before you do, please check the [https://synfig.svn.sourceforge.net/svnroot/synfig/ETL/trunk/TODO etl], [https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-core/trunk/TODO synfig] and [https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-studio/trunk/TODO synfigstudio] TODO files for similar ideas. Please add a rating of how essential this feature is to your workflow according to the following scale:&lt;br /&gt;
&lt;br /&gt;
#&amp;quot;Well, it might be nifty. To someone.&amp;quot;&lt;br /&gt;
#&amp;quot;I probably would make use this&amp;quot;&lt;br /&gt;
#&amp;quot;It's not essential, but I'd really like to have this at my disposal.&amp;quot;&lt;br /&gt;
#&amp;quot;Synfig would be soooo much better with this change&amp;quot;&lt;br /&gt;
#&amp;quot;I can't/won't use Synfig without it!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
Please clean this section up as desired.&lt;br /&gt;
&lt;br /&gt;
* A different color dialog for picking/changing colors easier.&lt;br /&gt;
** Swatch menu from gimp with .gpl files.&lt;br /&gt;
* Workflow improvements, like content help and ui-refinement.&lt;br /&gt;
** set the fine line between design and animation work.&lt;br /&gt;
** Greet the user at startup, give hints and help in the ui to better the usability and user-experience.&lt;br /&gt;
* test synfig cross-platform (Linux, Windows, Mac)&lt;br /&gt;
* Pluggable App (run from memory stick)&lt;br /&gt;
* make a short film about synfigs capabilitys in a starwars kind of spaceship setting as promo video about 3 minutes long.&lt;br /&gt;
* Sound layer&lt;br /&gt;
* full tablet support&lt;br /&gt;
* small set of vector contend for fast animation results&lt;br /&gt;
* Help is available as pdf-file and distributed with the program&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Input:'''&lt;br /&gt;
* Import vectorgraphics (svg,fig)&lt;br /&gt;
&lt;br /&gt;
'''Output:'''&lt;br /&gt;
* Render output to [http://animatedpng.com/ animated PNG]&lt;br /&gt;
* Export vectorgraphics (svg,fig)&lt;br /&gt;
&lt;br /&gt;
== Interchangeable/customizing Splash screen ==&lt;br /&gt;
[3] GIMP has this feature of letting users [http://docs.gimp.org/2.2/en/using-customize-splashscreen.html|customize GIMP's splash screen]. GIMP looks for &amp;lt;code&amp;gt;'''samples'''&amp;lt;/code&amp;gt; directory under &amp;lt;code&amp;gt;'''.gimp-2.x'''&amp;lt;/code&amp;gt; then randomly picks a picture from it to become the spash image.&lt;br /&gt;
&lt;br /&gt;
This will also help GNU/Linux distro, like Ubuntu, to adopt Synfig and put their logo on the splash screen.&lt;br /&gt;
&lt;br /&gt;
Also, official Synfig distribution can pack sample arts created by other artists to be randomly displayed -- like the synfig.org's title's background image.&lt;br /&gt;
&lt;br /&gt;
== Verbosity levels for error output ==&lt;br /&gt;
&lt;br /&gt;
Synfigstudio needs verbosity levels for the error output. Levels are info, warning and error. Make sure, to spew out only errors when something nasty happens. If someone wants to know all what happens in synfigstudio, the user should activate a higher level of verbosity with the command line switch --verbose=all,info,warning&lt;br /&gt;
&lt;br /&gt;
== Usage screen for new users ==&lt;br /&gt;
&lt;br /&gt;
Synfig and Synfigstudio need a usage screen, which helps a new user to type in the right syntax on the command line. Any switch not known to the program should point to the usage screen. On the bottom of the usage screen could be a hint: &amp;quot; For more help use synfig --help&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Keyboard shortcuts for panning ==&lt;br /&gt;
&lt;br /&gt;
The navigation and canvas windows need shortcut keys that pan the canvas view horizontally and vertically. Probably just the arrow keys would work for this, as well as the home/end/pageup/pagedown keys. Ctrl and shift variants could make the panning more or less.&lt;br /&gt;
: You can pan with a middle mouse button. --{{l|User:Zelgadis|Zelgadis}} 00:59, 24 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Linking Zoom layer to Paste Canvas ==&lt;br /&gt;
&lt;br /&gt;
[3] It is impossible to link Center of Zoom layer to Origin of Paste Canvas without exporting a value. It often needed for pans &amp;amp; zooms. Suggestion: rename &amp;quot;Center&amp;quot; parameter of Zoom Layer to the &amp;quot;Origin&amp;quot;. Will improve the workflow. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
== Convert Strings ==&lt;br /&gt;
[4] It could be very good to have feature to represent Convert sequences as strings and vice versa - make convert sequences from strings. Example: To produce this convert sequence: &lt;br /&gt;
&lt;br /&gt;
{{l|Image:WishList-ConvertStrings.png}}&lt;br /&gt;
&lt;br /&gt;
I just right-click on &amp;quot;Origin&amp;quot; parameter and choosing &amp;quot;String Convert&amp;quot; menu item. In the appeared dialog I just entering: &amp;quot;=Composite(Scale(x, Switch(scalar, 1.0, 0)), y)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Also if I clicking on the parameter already containing convert sequence and choosing &amp;quot;String Convert&amp;quot;, it shows string representation of current convert sequence with an ability to edit.&lt;br /&gt;
&lt;br /&gt;
This feature will make possible to easy copy convert sequences from one parameter to another.  --{{l|User:Zelgadis|Zelgadis}} 03:46, 2 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Non scalable timeline ==&lt;br /&gt;
[3] It should be useful for me to have non scalable timeline. It's hard to set timing when the distance between frames is always different in different documents and in different situations. Suggestion: make a non-scalable mode for timeline, where 1 second interval is always the same. Will improve the workflow. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
==Smart linking of tangents==&lt;br /&gt;
[4] As described in {{l|Sewing BLines}}, when linking red tangent to yellow they are placed opposite against each other. This is normal from the program's point of view, but not normal for new users. Even more, to avoid this effect user needs to made some complex steps (see {{l|Sewing BLines#Solution}}). It takes a lot of time if we vahe lot of verticles to sew their tangents.&lt;br /&gt;
&lt;br /&gt;
Suggestion:&lt;br /&gt;
* When linking tangents with the same color, program should act as usual.&lt;br /&gt;
* When linking tangents with different color program should automaticaly add Convert-&amp;gt;Scale (-1) to avoid their opposite placement.&lt;br /&gt;
To allow linking two tangents in opposite position, I suggest to add a new menu option for tangents &amp;quot;Link Opposite&amp;quot;. When linking two tangents with this option:&lt;br /&gt;
* When linking tangents with the different color, program should act as it acts now - no additional converts added.&lt;br /&gt;
* When linking tangents with the same color program should automaticaly add Convert-&amp;gt;Scale (-1) to plcae them opposite against each other.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
==Morph sets==&lt;br /&gt;
This feature is similar to some other suggestions below, just with another way to approach. In animations are many movements, which can be put in some kind of library, to make use of at a later time. For example, movements to animate the key moments of a mouth, sampling syllables. For vector graphics, it should be possible to define some key points, which move just a small amount of space, to form another syllable. These syllables in this example, should be stored in a drop down list, to be able to select them for the key time on the timeline.&lt;br /&gt;
A morph-set for walking-left-to-right is different from a morph-set for a mounth, which has as options a,e,i,o,u,bah-disgust,happy-smile. The morph-set has to be stored as vector coordinates in a relative way(offset), e.g. X1=+212,+34;X2=-56,-23;X3=+3,-88;&lt;br /&gt;
&lt;br /&gt;
To make use of the morph-set for the mouth, you have to define first, which vector points in your drawn mouth, correspond to the key-points of your morph-set. X1, X2, X3, Xn&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 06:53, 27 May 2008 (EDT)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Render time approximation==&lt;br /&gt;
Synfigstudio should get a button in the render dialog, which calculates the total render time for the actual settings (frames per second, length of the film, resolution, output format) It should testrender 1 picture, when the amount of total frames is below 1000. Over 1000 frames, it should testrender 10 pictures for more precise calculation.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 12:49, 22 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
==Smartrendering==&lt;br /&gt;
I have made 25,000 small png-pictures with my 800Mhz computer in about 45 minutes. Synfigstudio did calculate each single frame of it. Nothing changed in this picture, so it does only need to get written to disk for the amount of pictures, until the next change (animation) has an effect on the output picture. This should save time for bigger projects with thousands of pictures. With smartrendering it is also possible to predict the total amound of space in Megabytes (Mibibytes) of the final render of the movie. It should calculate how much it needs and see, if enough space is free on the harddisk before the rendering get started.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 12:49, 22 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:More specifically, only render frames that need to be changed since the last rendering as defined by something like a last edit (or write to filesystem) timestamp and a dependency tree.  ...In the short-term, a tool like gmake might be useful for implementing this accross sessions if we add &amp;quot;last changed&amp;quot; timestamps to one or more sections of sifz files (rather than the almost useless case of a single sifz file timestamp if virtually all information for a project is kept within a single sifz file). We would use the last edit times in the filesystem if synfig recognizes the potentially generated files have names that already exist on disk. [There could be some tricky issues.] ...Within a given SynfigStudio (synfig?) session, we can use the timestamps from disk or just internalize that information without redoing the lookup. In addition, synfig internal dependencies based on what objects were changed since the last rendering can be used to implement a makefile whose make output would include a list of which frames need recalculation. Of course, the job of gmake could be internalized as well. [[User:Jose X|Jose X]] 21:18, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== get_color method in text and radial blur ==&lt;br /&gt;
&lt;br /&gt;
[5] Without get_color method distorion produces artifacts &lt;br /&gt;
[http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1831355&amp;amp;group_id=144022&amp;amp;atid=757416 bug  1831355]. So I would like to get this problem fixed before doing something else. --{{l|User:AkhIL|AkhIL}} 22:41, 1 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Full functional of group dialog ==&lt;br /&gt;
&lt;br /&gt;
[5] Group dialog is broken now [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1796833&amp;amp;group_id=144022&amp;amp;atid=757416 bug 1796833]. So we should get old features work right before making new one. --{{l|User:AkhIL|AkhIL}} 22:41, 1 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== import/export .swf files ==&lt;br /&gt;
&lt;br /&gt;
very important productivity feature&lt;br /&gt;
&lt;br /&gt;
== import/export .svg frames sequence, and/or .svg animations ==&lt;br /&gt;
&lt;br /&gt;
[3] Synfig could export to svg animations with SVG+SMIL, which would make possible to view an animation directly in the browser without any previous rendering.&lt;br /&gt;
&lt;br /&gt;
SMIL is the W3C recommended XML markup language to describe multimedia presentations. It defines markup for timing, layout, animations, visual transitions, and media embedding, among other things. SMIL allows presenting media items such as text, images, video, audio, links to other SMIL presentations, and files from multiple web servers which is getting supported in mayor browsers. Actually it's necessary to support SMIL in order to pass Acid3 web standards test.&lt;br /&gt;
: See http://en.wikipedia.org/wiki/SVG_animation &lt;br /&gt;
: http://en.wikipedia.org/wiki/Synchronized_Multimedia_Integration_Language&lt;br /&gt;
&lt;br /&gt;
== a realtime .sif synchronized text window ==&lt;br /&gt;
&lt;br /&gt;
just like the xml editor of Inkscape, or the html editor in Dreamweaver (this is hugelly useful for productivity)&lt;br /&gt;
&lt;br /&gt;
I thinks scripting API can be implement in this way. For example you make XML DOM like implementation for python which alows to change DOM tree from python code and see chenges in canvas. By this way you can implement import/export scripts. Automation scripts. And a lot of different things. Even synchronization of animation between blender and synfig. --{{l|User:AkhIL|AkhIL}} 23:10, 26 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== choosing colour from gimp/inkscape palettes ==&lt;br /&gt;
&lt;br /&gt;
very useful when you need some colour comformity of what you're doing &lt;br /&gt;
&lt;br /&gt;
== Good high-level documentation of the source code ==&lt;br /&gt;
&lt;br /&gt;
(2) It'd be nice if a newbie could quickly navigate around the source code. The best thing to do would be to add top-level comments in each file, explaining what that file does, a README.TXT in each directory, explaining what's in that directory. This would be pretty fast and easy to do, and make it much easier for new programmers to join. &lt;br /&gt;
&lt;br /&gt;
Time permitting, it would also be good to document on a high level what the data structures are, but that's harder, since those tend to evolve, and it is often difficult to keep in sync. It would also be useful to document what individual functions do (just a one-liner high-level description), but that also takes more time.&lt;br /&gt;
: There is a page link in the wiki that connect to the [http://www.synfig.com/doc Synfig API Documentation]. I think this link should be highlighted to be more accessible for newbies contributors and mature developers (the link was found {{l|Releases/DeveloperPreview#Support | here}}). --{{l|User:Genete|Genete}} 10:02, 11 December 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
== Mathematical functions to animate ==&lt;br /&gt;
(2/4) If you want to make a waving flag, it would be handful a sine function, tuned with random correctors, for example. &lt;br /&gt;
: -This should generate waypoints each 1, 2, 4 frames or any other step at artist's wish.&lt;br /&gt;
: -When applying a function you can add it to current values, add it to 1st frame values or simply override old values. Perhaps other options (such multiplication) would be fine, too. Something like texture editor in [http://www.artofillusion.org Art of Illusion], perhaps.&lt;br /&gt;
Perhaps it would be useful reusing the [http://www.gnu.org/software/octave/ Octave] source code to parse mathematical expressions.&lt;br /&gt;
I have rated this wish with a '2' because undoubtly many users will not be familiar to mathematical concepts, but for those who will be, I'd rate it with a 4. It would be possible to make a ball describing a parabolic moving in no time.&lt;br /&gt;
{{l|User:ajotatxe|ajotatxe}} 20 November 2007&lt;br /&gt;
: dooglus can probably chime in better than I here (see his example of balls on mathematical paths at http://uk.youtube.com/watch?v=YTpSfUthuVE ), but I believe that this is already possible.  Synfig does support a variety of mathematical transforms for parameters, although the way you do this is by no means intuitive.  (You might also want to check out the preambletaffy.sifz example for an easier approach to a waving flag. I know you were just using that as an example, but for the record...) {{l|User:Pxegeek|Pxegeek}} 00:58, 21 November 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
: I'd also rate it with a (4) (and updated the rating accordingly), not for this special case, but to make many workarounds much easier.  Simulating [Parabolic Shot|free fall], for example, would be a lot easier with real formulas.  I don't know, though how easy it will be to implement, maybe waiting for a scripting interface to be implemented is better than hacking this feature in an ad-hoc manner.  --{{l|User:Rubikcube|Rubikcube}} 16:38, 29 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
:One thing to keep in mind is that 2D animations will not frequently look realistic if you implement the exact mathematics without some sort of 3d perspective transformation. And then there is the complex physics also involved in defining precise trajectories. ..This aside, what is needed is simply a function value generator as a function of n variables where at least one variable can be the frame you are on (I don't have much experience with synfig, but I presume there is a way to explicitly get the value of the frame/time you are on) and where this output value can be linked to any other parameter (of a compatible type); you can hook these function block outputs to inputs of other instances of the generator; and the outputs are defined once on every frame. To do a movement like a parabola you configure the generator to output parabola values (one per frame or even allow skipping frames) and then link these values to the vertices of a translation layer. [In other words, the stuff underneath within scope would likely move relative to other stuff underneath but at an outer scope.] We note that linking this way will create many potentials for conflict between these values and existing waypoint values. We can specify which takes precedence and how to smooth between these. Eg, if waypoints take precedence in some particular case, we can specify how to smooth against the function generator values before and after the waypoint. How do we define the functions? The functions can come from a preselect set of parameterized functions (user enters fills in the parameters with constant values or else links). Two examples of functions with three param values would be: Asin(x)+B and mx+b. Also, very usefully, allow a sequence of values to be copy/pasted to define the function outputs at each step (so the mapping defining the function is a stream interpreted as the output value at each discrete frame value). The generator can be time shifted of course. This function definition approach allows other applications (or things like motion sensors) to generate the function values. Another method that can be useful for defining a function would be to accept a curve (eg, bline) and the function output values would come from the curve based on some method specified (eg, as a function of the length from some starting point along the curve and where the speed of travel is defined by a function L(t) where L is length from start so far and t is time/frame count (eg, L(t)=t means we move at constant speed along the curve, that is, at a value of 5 frames we would be 5 units along the length of the curve)).  ..Anyway, the point is to have a function generator to hook up arbitrarily with inputs and which can co-exist with waypoints that would otherwise conflict. This would allow arbitrary automation of anything (based on precomputed or dynamic algorithmic values) without having to manually define/record a single waypoint. Conceptually, this doesn't seem that complex to integrate into the existing synfig and would be very useful (to allow arbitrary automation). An initial prototype version might integrate with only a few things, only have a limited set of simple predefined functions (plus sequence definition capabilities), have the output value be tossed out whenever a waypoint already existed, and exist only from a single menu entry. I really would like this feature. It would make it easier to speed up animation generation in many new custom ways without having to hack into synfig or into the sif file with some other tool. If I get comfortable with the code base, I might be able to chip in. [Any pointers would be appreciated.] [[User:Jose X|Jose X]] 07:03, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Warning about editing bizarre things in animate editing mode ==&lt;br /&gt;
(3.5) It seems to have little sense animate certain things like Blend Method or Type of Feather. It would be very nice that the program asked comfirmation if you change these attributes in animate editing mode. If you do want to, you would have three options: &amp;quot;Yes, never ask&amp;quot;, &amp;quot;Yes, never ask for this attribute&amp;quot;, &amp;quot;No&amp;quot;. I guess that internally, this attributes has integer type (or something like that) and the attributes that you normally want to animate, float type, so I think that this feature is relatively easy to implement. My English is not very good, so please feel free to fix this post.&lt;br /&gt;
{{l|User:ajotatxe|ajotatxe}} 20 November 2007&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bones with FK &amp;amp; IK + grouping of objects into folders ==&lt;br /&gt;
&lt;br /&gt;
(5) Bones cane move specific vector assigned to them or the bones can have envelopes that move the vectors within their field of influence, much Like Anime Studio/Moho does. It's quite a time saving process of animating. Objects created can be saved into separate groups or folders using the same system as Anime Studio/Moho -Shadowphoenix 27/8/2007&lt;br /&gt;
&lt;br /&gt;
== Animated sketch ==&lt;br /&gt;
&lt;br /&gt;
(5) it would be great, if the tool Sketch was animatable (for example, in a form of a special sketch-layer). --Zelgadis 2007-06-14&lt;br /&gt;
&lt;br /&gt;
: For now as a workaround we could use animation program called Pencil. See {{l|Related Projects}} page. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
: So, currently it could be achieved by using other software, but integration with synfig is poor, cause it requires importing a movie through a sequence of images. This is not intuitive and not obvious for new users. It will be good if synfig will have it implemented like [url=http://www.blender.org/development/release-logs/blender-248/grease-pencil/]blender's Grease Pencil[/url]. This feature will improve workflow, make synfig usable for frame-by frame animation (it is intuitive way of learning animation and powerful tool for producing preproduction work like animatic). --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
: It would be nice to also implement the onion peel feature, where you can see the frame before or after, and/or selectable keyframes if this is included. An example can be seen in the program Pencil--{{l|User:richardwad1|richardwad1}}&lt;br /&gt;
&lt;br /&gt;
== Duck for Amount value in Zoom layer ==&lt;br /&gt;
&lt;br /&gt;
(2) It would be nice if Amount value in Zoom layer was controlled by additional duck. --{{l|User:Zelgadis|Zelgadis}} 02:49, 29 December 2007 (EST)&lt;br /&gt;
: I found that I can better use Warp layer instead of Zoom to change size. But it'd be nice to have Amount duck for Zoom layer anyway...&lt;br /&gt;
:: The Amount parameter works exponentially; each time you add 1 to the Amount, the image is zoomed by a further factor of e (= 2.71828 or so).  Would a duck be any use if it just controlled the value of Amount in a linear way?&lt;br /&gt;
:: Workarounds include: export Amount, select it in the children dialog.  Whatever's selected in the children dialog shows a duck.  You can adjust it using that duck.&lt;br /&gt;
:: Also, if you use a Stretch layer, convert the Amount to Composite, export the X-Axis and connect it to the Y-Axis, then you have a duck-controllable fixed-aspect zoom. -- {{l|User:Dooglus|dooglus}} 15:32, 15 January 2008 (EST)&lt;br /&gt;
::: Yeah I found this workaround, but it's to much actions - i prefer better use Warp or Stretch layers. Why not the link Amount duck and Amount value with logarithmic function? ;) --{{l|User:Zelgadis|Zelgadis}} 10:33, 17 January 2008 (EST)&lt;br /&gt;
::::{{l|Convert#Logarithm|Logarithm}} convert type for real parameters exists since svn 2034. {{l|User:Genete|Genete}} 10:17, 30 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Automatic colour palette optimisation ==&lt;br /&gt;
&lt;br /&gt;
(0) it would be nice to use libcontrast [http://david.navi.cx/blog/?p=132] [http://david.navi.cx/blog/?p=94] [http://david.navi.cx/blog/?p=99] [http://svn.gnome.org/svn/xchat-gnome/trunk/src/libcontrast/] to automatically adjust selected or all the palette items for best visual contrast. It would also be interesting to have a layer that uses this code to filter the image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbitrary Color Channels ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; The ability for the user to create any number of custom channels for various purposes.&lt;br /&gt;
&lt;br /&gt;
== Autorecover History ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; It would be great if autorecover could also recover the associated history of a file in the event of a crash.&lt;br /&gt;
&lt;br /&gt;
== Layer Convert ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;(4)&amp;lt;/strike&amp;gt; (2) &amp;amp;mdash; The original intent of this feature request has been solved and documented - {{l|How_do_I#Fill_an_outline.3F|How do I....Fill an Outline?}} - but it would still be nice to have a way to convert one sort of path layer to another. ''(Downgraded to level 2) {{l|User:SnapSilverlight|Snap}} 12:32, 17 Jan 2006 (PST)''&lt;br /&gt;
&lt;br /&gt;
== Vector fill bucket ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; Like the traditional bitmap fill, but this fills the area clicked out to the nearest boundary paths with a region of that area, set to the foreground color (it actually would create a new {{l|Region Layer|region layer}}). &amp;lt;p&amp;gt;Alternatively, a single-duck layer object, that performs a simple bitmap fill from its (animatable) location, with its stored color value. (This second approach is similar to the behavior of one of Softimage's TOONZ[http://www.google.com/search?q=softimage+TOONZ]'s tools)&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;If this is implemented, it will probably be necessary to change the existing &amp;quot;fill&amp;quot; tool's name and icon to a &amp;quot;color injector&amp;quot; (hypodermic needle / turkey injector icon) tool, as that's closer to describing what it does.&lt;br /&gt;
&lt;br /&gt;
*Inkscape has a very innvative version of this tool. Maybe you can just grab the code from there and integrate it in synfig? --{{l|User:SvH|SvH}} 01:37, 14 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== {{l|Dev:Redraw tool}} ==&lt;br /&gt;
&lt;br /&gt;
(4-5) &amp;amp;mdash; Intutive reshaping of path-based layers. See link.&lt;br /&gt;
&lt;br /&gt;
== [http://developer.gnome.org/projects/gup/hig/ Gnome HIG Compliance] ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; This should solve all complaints about the layout, without requiring Synfig to be &amp;quot;just like program (x)&amp;quot;. See {{l|Dev:UI Reloaded}} for progress on this.&lt;br /&gt;
&lt;br /&gt;
== Feedback for {{l|Smooth Move Tool}} ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; This tool does what a lot of folks are looking for, warping selected ducks in a &amp;quot;soft&amp;quot; fashion. But it's not very obvious what sort of effect it will have, from the tool's interface. It needs some sort of momentary center-of-action and radius indicator at the very least. Perhaps an &amp;quot;influence gradient&amp;quot; overlaid on the canvas once Synfig's core is sped up?&lt;br /&gt;
&lt;br /&gt;
== Networkability ==&lt;br /&gt;
&lt;br /&gt;
(2) &amp;amp;mdash; Like Inkscape's &amp;quot;inkboard&amp;quot; feature (using Jabber), or Blender's Verse server [http://www.blender.org/modules/verse/index.php], or OpenCanvas's Networking option. This should probably farm off all the networking stuff to the telepathy framework so that synfig doesn't have to deal with all the account/etc issues.&lt;br /&gt;
&lt;br /&gt;
== Intuitive tangent modification ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; (BBQ Pulled Duck) Inkscape has this for still handles - basically, grab a section of the spline between handles, and pull it around, the program automatically alters the tangent handles to match. What would be really neat is if you could do the same for temporal handles - be able to grab the spline between keyframes, and yank it around, and have Synfig automatically adjust the key interpolation to match. Not sure exactly what the workflow in the UI would be for this, however.&lt;br /&gt;
&lt;br /&gt;
-Agreed; blender does this with its IPO curves, and it's a really efficient way to work.&lt;br /&gt;
&lt;br /&gt;
== Plugin API ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; Would be nice to enable additional functionality to be added to the program without it necessarily needing to be in the Synfig source tree. ''According to the Synfig 0.61.01 roadmap on [http://deepdarc.com/ deepdarc.com], there is a plugin API already implemented. So instead, this may be a {{l|Wiki Wish List|Wiki Wish}} for documentation, depending on how much has already been completed. {{l|User:SnapSilverlight|Snap}} 19:57, 13 Jan 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
== Python support ==&lt;br /&gt;
&lt;br /&gt;
(1) of some sort will no doubt be demanded by the userbase eventually, for studio-specific automation of tasks, noncompiled plugins, etc. I ({{l|User:Snap|SnapSilverlight}}) don't have any particular use for it at the moment, tho'.&lt;br /&gt;
&lt;br /&gt;
I suppose to join this request with {{l|Dev:Wish_list#a_realtime_.sif_synchronized_text_window}}. We can implement python access to XML DOM and write XML Editor in python. --{{l|User:AkhIL|AkhIL}} 06:54, 30 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== mod_synfig ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; For Apache. Render .sif to some format like png/mng on access.&lt;br /&gt;
&lt;br /&gt;
== synfig nsplugin ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; Let Mozilla and Mozilla-based view synfig files in-browser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Align function ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; Align objects at a common border (as in Inkscape)&lt;br /&gt;
&lt;br /&gt;
== Improved SVG import ==&lt;br /&gt;
&lt;br /&gt;
SVG import support is currently limited to paths - it does not support text or effects. [[User:Nikitakit|nikitakit]] 01:27, 14 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Useful would be the possibility of importing SVG sequences, just like Macromedia/Adobe Flash does with .ai sequences&lt;br /&gt;
&lt;br /&gt;
== Gradient Paint Tool ==&lt;br /&gt;
&lt;br /&gt;
How about a tool that can 'paint' a gradient object.  For example the options would be width and gradient type, one would make a stroke with the tool and the gradient would be automatically applied inside of the outline (set by width).  This would save the trouble of having to the all the encapsulation stuff. (Actually any tool that makes creating gradient one step would be good).--{{l|User:Triclops|Triclops}} 09:52, 9 Aug 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
(4) Agree. 4 for usability/readability of layers reasons --[[User:Ohoservices|Ohoservices]] 11:33, 27 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Bone Animation Tools ==&lt;br /&gt;
&lt;br /&gt;
Bone system with inverse kinematics, very important for quick animation. You put bones on a drawed man and you can animate him like a puppet. I'm using that in Moho (lost marble product).--{{l|User:Ziolive|ziolive}} 23 Aug 2006&lt;br /&gt;
*I would find this very useful too. I think it is called '''rigging'''(4/5) --{{l|User:SvH|SvH}} 01:33, 14 May 2008 (EDT)&lt;br /&gt;
*I think this effect can be simulated by adding the correct rotation layers + encapsulation to every object that is to be restrained by joints and then linking vertices. A rotation layer center would be at the corresponding joint. We would then link the vertices of the &amp;quot;limbs&amp;quot; that shared a joint. See {{l|Doc:Cut-out Animation}} ...Perhaps this process could be made more direct through an interface that behinds the scenes creates the proper layers and reorganization all at once as the user decides to link objects to joints. ...Implementing this will involve seeing if already restrained motions allow creating joints. Also, adding a joint may clash with already existing waypoints, so waypoint conflict resolution options and rules will have to be developed. [See also an above remark in the section &amp;quot;Mathematical functions to animate&amp;quot; about linked function generator values conflicting with waypoints.] [[User:Jose X|Jose X]] 20:17, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== AVI Backgrounds ==&lt;br /&gt;
Is there any way I can add an avi as a background so I could add facial expressions to a stop-motion animated figure. [zotz here, I was thinking DV background or extra timeline. I would like to mix animations with live footage. rating (3/4)]&lt;br /&gt;
: Already implemented for ffmpeg pipeline of ppm in svn r2161 {{l|User:Genete|Genete}} 05:36, 9 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Character tool on Tool Options Dialog ==&lt;br /&gt;
&lt;br /&gt;
I want to use the as a character generator for a TV show. By using chroma key hide the background.  Even better interface to a video overlay card with Alpha blending.&lt;br /&gt;
&lt;br /&gt;
== Collect for Publication ==&lt;br /&gt;
&lt;br /&gt;
(3/4) - (zotz) Menu item, functionality that would collect alll files referenced in a sif and place them all in a tgz for sending elsewhere or publishing animations in source form.&lt;br /&gt;
&lt;br /&gt;
== Object Library ==&lt;br /&gt;
&lt;br /&gt;
(3/4) - (zotz) Haven't thought this all through yet, but synfig could come with a library of categotrised &amp;quot;objects&amp;quot; with a copyleft license (GPL?  CC BY-SA?) An animation clip art type deal.&lt;br /&gt;
:I'd suggest this should be public domain and distributed by openclipart.org -- --{{l|User:PaulWise|pabs}}&lt;br /&gt;
&lt;br /&gt;
== Flash Export ==&lt;br /&gt;
&lt;br /&gt;
(3/4) Well, might just be me but if there was a posiblity to  export in .swf or .fla, I think the project might become a lot more popular.{{l|User:Conceit|Conceit}}&lt;br /&gt;
&lt;br /&gt;
(4/5) I wholeheartedly agree. I would definitely use synfig more if this feature were added and it would most definitely increase popularity. {{l|User:cdj05a|cdj05a}}&lt;br /&gt;
&lt;br /&gt;
(4[me]/5[others]) Definitely would love flash export. There is no well maintained Flash animation studio that is Open Source. To have Synfig become that along with all that it already is would be absolutely wonderful. You'd also possibly add to your user base all the flash animators out there that don't want to pay Adobe. Some people would only want it for the flash animation hence the 5 for others. {{l|User:jblandrum|jblandrum}}&lt;br /&gt;
&lt;br /&gt;
This can be simply done from a python plugin could use SwfTools for converting temporary exported data into .swf file - not very hard thing to do - the information used from SwfTools is very simple to be created, such as simple .swf files are.&lt;br /&gt;
&lt;br /&gt;
== Single window ==&lt;br /&gt;
&lt;br /&gt;
Depending on individual desktop setups, single window is sometimes preferable to many  windows. Can we have a single-window option?&lt;br /&gt;
&lt;br /&gt;
Also, even with many windows, Windows-users especially might find it better if all the windows only appeared as a single one on the taskbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Export Wizard ==&lt;br /&gt;
&lt;br /&gt;
(2/4) Conversion and export to other file formats (mpg, avi, flash formats, others, and the synfig format) with a step by step wizard for choosing format and place of saving. Similar to Gimp's saving of .png files but for movie/video type files. --&lt;br /&gt;
{{l|User:Hiddenghost|hiddenghost}}&lt;br /&gt;
&lt;br /&gt;
== Using Synfig as a portable app ==&lt;br /&gt;
&lt;br /&gt;
(3) This isn't really a feature request (though it could be) but I was wondering if synfig could be used as a portable application (as in www.portableapps.com). Does the windows install require registry access? i really want to use Synfig at work, but I'm reluctant to install it just in case it leave footprints in the regisitry or something, and it would be sweet to use it on my travels as well. Only thing is, I can't test it out at home because I am using Linux.&lt;br /&gt;
See also: http://portableapps.com/node/5761&lt;br /&gt;
{{l|User:Zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
This isn't currently possible without modifying the source code. That has been on my TODO list for ages {{l|User:PaulWise|pabs}} 01:17, 26 October 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allow organize child valuenodes in an hierarchy ==&lt;br /&gt;
(3-2) And allow maintain the organization once the file is saved. At the moment they are reordered in alphabetical order which is useless and annoying.&lt;br /&gt;
&lt;br /&gt;
== Triangle sliders to be always visible ==&lt;br /&gt;
(3) I would like that the triangle sliders from {{l|Colors Dialog}} and {{l|Gradient Editor Dialog}} were visible whatever color or channel you're editing. Some times when the color or channel is to bright or light the slider is difficult to distinguish. --{{l|User:Genete|Genete}} 14:30, 29 October 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
This is important for usability, should be solved soon.&lt;br /&gt;
--[[User:Ohoservices|Ohoservices]] 10:49, 27 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== XICC support ==&lt;br /&gt;
&lt;br /&gt;
It would be cool if synfigstudio had support for [http://burtonini.com/blog/computers/xicc XICC].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Area to Edit ==&lt;br /&gt;
&lt;br /&gt;
An option like blender - select area to update would be nice, so the only part of the image that updates when you add or change something is in the selected area&lt;br /&gt;
&lt;br /&gt;
ie. when working on a complex composition, studio doesn't know, when I tweak a tiny part of the composition, that only that part needs redrawing, so it redraws the whole thing.  It would be good if there was some way of telling it which part to focus on. -- {{l|User:Dooglus|dooglus}} 04:02, 3 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Histograms ==&lt;br /&gt;
&lt;br /&gt;
 01:23  * AkhIL wish to have histograms and luma/color scope like [http://mac.softpedia.com/progScreenshots/Avid-Xpress-DV-Screenshot-14207.html] in synfig&lt;br /&gt;
&lt;br /&gt;
I've looked at those pictures but don't know what they're showing.  Can you describe what those scopes are doing, and what the histograms display?  ie. what are the X and Y axes of the histograms? -- {{l|User:Dooglus|dooglus}} 04:07, 3 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
First look this description in blender wiki [http://wiki.blender.org/index.php/Manual/VSE_Modes]&lt;br /&gt;
&lt;br /&gt;
Ok There is four things.&lt;br /&gt;
* Upper left is Lumascope (Luma Waveform in blender). X-Axis represents image's X-Axys. Y-Axis  is average luminescence of column of pixels.&lt;br /&gt;
* Upper right is Chromascope (Chroma Vectorscope in blender). Just look description on blender wiki.&lt;br /&gt;
* Lower left is like Lumascope but for each channel &lt;br /&gt;
* Lower right is histograms. X is luminescence and Y is count of pixels with such luminiscence.&lt;br /&gt;
&lt;br /&gt;
== Sound Layer ==&lt;br /&gt;
&lt;br /&gt;
(4) It would be a very good improvement if the sound system were implemented into synfig in {{l|Dev:Sound Layer | this}} way. --{{l|User:Genete|Genete}} 07:46, 8 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Rearrange the view of waypoints for Canvas param ==&lt;br /&gt;
As reported in [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1888858&amp;amp;group_id=144022&amp;amp;atid=757416 Bug #1888858] waypoints are not displayed for canvas switch events.&lt;br /&gt;
I suggest to rearrange waypoints display according to {{l|Media:Canvas_prop.png|this scheme}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Width weigths ==&lt;br /&gt;
Is it possible to add &amp;quot;weigths&amp;quot; for widths? ^_^ I.e. width changes not all the way along the segment. Maybe something like a duck on bline which indicates the region where the width of current vertex isn't changed.&lt;br /&gt;
{{l|Media:width-proposal.png|Illustration here.}}&lt;br /&gt;
&lt;br /&gt;
More ideas around this concept in [http://dooglus.rincevent.net/synfig/logs/2008/%23synfig-2008-04-16.log this conversation]. Although the log of that day is very interesting the lines related to this idea are from 22:38 to 23:43. {{l|User:Genete|Genete}} 17:51, 16 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improved Colour Dialog ==&lt;br /&gt;
How easy is it to stick in a colour square/wheel? Messing with sliders is somewhat obstructive.&lt;br /&gt;
&lt;br /&gt;
== Insert Waypoints ==&lt;br /&gt;
A button to create a waypoint for every selected duck, in its current position. Moving each duck up a bit and down again quickly gets tedious.&lt;br /&gt;
:If the duck in question has already a waypoint then you don't need to move it to create a new waypoint. Just select the corresponding parameter in your child list panel and select 'Add Waypoint' from the right click context menu over the parameter. No need to have the duck selected. If you want to freeze the entire bline just do that over the Bline Point List. {{l|User:Genete|Genete}} 07:48, 29 April 2008 (EDT)&lt;br /&gt;
::Yes, but it would be nice to have opportunity to add waypoint to parameer which not have any ducks yet (i.e. non-animated parameter). --{{l|User:Zelgadis|Zelgadis}} 08:33, 29 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Automatically split tangeants ==&lt;br /&gt;
&lt;br /&gt;
Holding shift while moving tangeant ducks should automatically split them. They can be rejoined if necessary through the context menu as they are now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A way to link params without exporting ==&lt;br /&gt;
I need a way to link params with different names without exporting. It is possible to achive by manualy editing of sif file. But inposible by gui. I will be nice to have linking by drag-n-drop. Or just by selecting reference param, pushing copy button, selecting another param and bushing link button. ---{{l|User:AkhIL|AkhIL}} 21:47, 30 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Allow select the origin of rotation when using the Rotate Tool ==&lt;br /&gt;
&lt;br /&gt;
It can be initially set to the geometrical center of the selected ducks or the gravity center depending of the selected checkboxes in the tool options panel. Later the user could move it before perform the rotation operation. It is a waste of time to rotate and translate the ducks every time a rotation manipulation is done. ---{{l|User:Genete|Genete}} 12:16, 4 June 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:I was adding this request at the same time than you Genete :-). Here is an example of how this issue is solved in Inkscape:&lt;br /&gt;
&lt;br /&gt;
:{{l|Image:rotate-tool-inkscape.png|center}}&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:Yaco|Yaco}}&lt;br /&gt;
&lt;br /&gt;
== Non-symetrical but &amp;quot;smooth&amp;quot; tangents on ducks ==&lt;br /&gt;
Add another mode for duck tangent, where the tangent can have different radius, but keep the same angle. (a &amp;quot;split tangents (radius only)&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dockable windows ==&lt;br /&gt;
The current GUI is a pain in the rear by not complete covering the desktop and it's showing 5 tabs instead of  usual one tab so it's frustrating to switch windows if you running more than one software. (windows version)&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
== A Particle Tool/Particle Object Editor ==&lt;br /&gt;
I  thought it might be interesting to add a Particle tool that is intuitive. Genete's script is amazing and I am sure I will do a lot of things with it once I have a chance to sit down and figure it out, but if there were a way to make it into tool with all the settings on sliders, it would be much easier. His script adds endless possibilities of nice effects to make animations look better. I personally rate this rather high. 3.5/5&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:richardwad1|richardwad1}}&lt;br /&gt;
&lt;br /&gt;
== A programation language as code behind like python, ruby or any ==&lt;br /&gt;
Code behind should be important to program the animation or events associated, programers and designers could work in a colaborative workspace and make applications with richfull content on desktop applicactions or web applications like expression blend or macromedia flash CS.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:nickholai|nickholai}}&lt;br /&gt;
&lt;br /&gt;
== Embedding animation on web applications ==&lt;br /&gt;
Like Macromedia Flash, it seems to require a plug in for internet explorer or firefox diferent as silverlight or flash, open source and &amp;quot;software libre&amp;quot; projects are working on animation but using the flash plug in, this wish needs a free plug in.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:nickholai|nickholai}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This seems a bit confusing; why do you want a plug in for synfig? When we add the import and export swf. file feature, it will use the flash plug in. Besides the flash player program is free, so you don't have to pay anything.  I find that this feature is useless until you explain to us better why you think this software needs a plug-in.&lt;br /&gt;
&lt;br /&gt;
Create a thread in the synfig forum if you want to continue to talk about this. We're listening.&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
:Support for svg export would solve the problem (I think), to the extent svg plugins work well (and svg is a more open format than is swf). Would sifz -&amp;gt; svg -&amp;gt; sifz possibly result in data loss/ambiguity (eg, with names)? I don't think sifz has interactivity, right (eg, mouse events that control the visual)? [[User:Jose X|Jose X]] 04:20, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Split Tangent indicator ==&lt;br /&gt;
&lt;br /&gt;
Its hard to tell if a tangent is split or not without clicking on it (either to use the context menu, or move a duck). All of the ducks should change to another shape (eg a square) for a quick visual indication of a ducks state.&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Progress indicators ==&lt;br /&gt;
&lt;br /&gt;
Eg % complete in opening file, pop-up window which indicates how many frames are rendered of a render, eg &amp;quot;rendering 10 of 999&amp;quot; that can be closed/ignored if needed. &lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Improve the Timeline ==&lt;br /&gt;
&lt;br /&gt;
I know, this is one hell of a wish, but, as in all, i think that is best if you think in the ideals conditions and then you downgrade into what is possible to achieve in a reasonable period of time.&lt;br /&gt;
&lt;br /&gt;
:D greetings!!&lt;br /&gt;
&lt;br /&gt;
[4] Normal mode // [4] Layer mode // [4] Secuence mode &lt;br /&gt;
&lt;br /&gt;
.I think that this modes are three diferent windows layout, therefore the hability to create new and save different windows layout, should be the first to do in order to achieve this three modes.&lt;br /&gt;
&lt;br /&gt;
{{l|Image:Timeline-normal-mode-explained.jpg|200px}} {{l|Image:Timeline-layer-mode-explained.jpg|200px}} {{l|Image:Timeline-secuence-mode-explained.jpg|200px}}&lt;br /&gt;
&lt;br /&gt;
(click to enlarge)&lt;br /&gt;
&lt;br /&gt;
02/01/2009 {{l|User:Belifilmaker|Belifilmaker}}&lt;br /&gt;
&lt;br /&gt;
== Lockable Layers ==&lt;br /&gt;
I would use them all of the time.&lt;br /&gt;
{{l|User:Zenoscope|Zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Vector Objects ==&lt;br /&gt;
Represent objects (ie. circles, rectangles, regions, outlines, etc) as a new type of element. These objects exist as childs of some layer. The layer then takes care of rendering these objects to a raster. Currently layers do both things, represent objects and render them.&lt;br /&gt;
&lt;br /&gt;
Having objects as a seperate entity would allow defining operations between them. For example:&lt;br /&gt;
* Take two region objects and find the union of their regions. This would produce a vector representation of the resulting region (ie. Bline) which in turn can be used for other operations (ie. link vertex to Bline).&lt;br /&gt;
* Apply transformation to a vector object producing a vector object as a result which can be further processed.&lt;br /&gt;
* Trace a {{l|Media:Smooth_silhoutte.png|smooth silhoutte}} around a set of vector objects.&lt;br /&gt;
* Slice an animated vector object into pieces and be able to move the pieces around (while preserving the original animation). Would be useful for reflection on a broken glass effect.&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:Yoyobuae|Yoyobuae}}&lt;br /&gt;
&lt;br /&gt;
== Free drawing ==&lt;br /&gt;
&lt;br /&gt;
I wish the synfig have ability to do paintings like with brush and eraser. Imagine: you painting over Paste canvas, and synfig automatically creates shapes inside this Paste canvas layer, doing necessary boolean operations and linking between them. So they don't overlap. This would allow flash-like workflow, which is very suitable for newbies. {{l|Dev:Free Drawing|Discussion.}} --{{l|User:Zelgadis|Zelgadis}} 15:27, 9 April 2009 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Even a simpler manifestation of this wish, an eraser feature for the sketch tool, would come in very handy. [[User:Jose X|Jose X]] 19:53, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Projection Layer ==&lt;br /&gt;
&lt;br /&gt;
The projection layer (a new type of transformation layer) would have two angle parameters that define how the lower layers get transformed: as if projected from a canvas angled in 3D space unto a 2D final image. By combining different encapsulations that use the projection layer, we can facilitate some 3D animation realism from simple 2D manipulations.&lt;br /&gt;
[[User:Jose X|Jose X]] 22:14, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==  New Gradient Tool icon ==&lt;br /&gt;
[3]  The Rectangle Tool and Gradient Tool have almost identical icons.  One of them should be changed.&lt;br /&gt;
Arbitrary suggestion:  Make the Rectangle's icon a rectangle instead of a square, with a solid fill, and make the Gradient's icon a coloured gradient instead of grey.&lt;br /&gt;
&lt;br /&gt;
==  Arrowheads  ==&lt;br /&gt;
[4]  I use Synfig for animations that go in instructional videos.  I currently use the Polygon tool for making arrows, but it would be a lot faster if Bline layers had a property for putting shapes like arrowheads at the ends of the path.[[User:Envergure|Envergure]] 18:17, 21 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:In addition:&lt;br /&gt;
&lt;br /&gt;
:*The ability to stroke bline paths so as to have the outline be made up of a series one or more arbitrary shapes (ie, besides lines) would also be useful since this would facilitate the animation of discrete objects that relate to each other in space and across frames.&lt;br /&gt;
&lt;br /&gt;
:*Having a shapes repository would be very useful [and with an improved synfig import mechanism that allows exported variables from imported canvases to be seen and be accessible automatically under the imported canvas' namespace -- this would facilitate the use of these .sif libraries/plugins]. And a community of people can collaborate on writing programs to help find shapes that meet certain specs: for example, just like we can write a program to find the optimal way to set up N blines to minimize squared error(?) estimation of a circle, we can write other programs to find how N blines might represent hemi-sphere and many other shapes as faithfully as possible. [Contrast with having users create standard shapes out of blines but using subjective criteria.]&lt;br /&gt;
&lt;br /&gt;
:*A special raster and vector library and set of tutorials can be created to help with the creation of tutorials for synfig documentation. Eg, include png files for &amp;quot;every&amp;quot; view of synfig (eg, every menu entry, panel view, button, etc); have arrows, boxes, bubbles, and other synfig &amp;quot;widgets&amp;quot; that are likely to be used in videos; and include good tutorials and set of instructions for using this art/animation library to build videos or simulated screenshots, etc.&lt;br /&gt;
:::Side effects of this doc project would include helping more people get involved with synfig, motivating more people be able to build such documentation/instructions for projects beyond synfig (though perhaps using synfig to create the scenes), and helping to create a standard set of pictures and best practices for synfig so that the synfig docs will tend towards uniformity (to the degree this is desirable).&lt;br /&gt;
&lt;br /&gt;
==  Rotoscope Layer ==&lt;br /&gt;
[3]  I hereby request an option in the Draw Tool's Tool Option box which would be labeled &amp;quot;This Frame Only&amp;quot; and have the following characteristics:  Three waypoints would be automatically created, one at the current frame, with an Amount value of One (1), and one each on the previous and next frames, with Amounts of Zero (0).  The purpose of such an option is as follows:  although Synfig is one of the only open-source applications capable of rotoscoping, or at least rotoscoping in an editable manner, it is actually pretty poor at it, for one very basic reason.  Synfig is geared toward tweening of relatively simple vector shapes, and rotoscoping is frame-by-frame tracing of organic shapes.  Currently in Synfig, to rotoscope (trace an object from live-action footage, such as a person) the user must either trace with the draw tool or and set the abovementioned waypoints manually (a pain), or try to use bline shapes, which is really worse, because real-life things aren't that smooth.  I suspect that this would be such an easy fix that I might attempt to learn enough C++ to figure it out on my own; if not, someone else could probably do it in fifteen minutes.  It certainly wouldn't be used by everyone, but it would be an incredible boon to those of us who do use Synfig for effects on live-action footage.&lt;br /&gt;
&lt;br /&gt;
: Are you talking about some kind of &amp;quot;frame-by-frame feature&amp;quot; which allows to switch layers on every frame? --[[User:Zelgadis|Zelgadis]] 14:42, 14 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Yes - currently, frame-by-frame is possible, but requires manually setting three waypoints per layer.  I'd just like an automation of that.  --[[User:Nikolardo|Nikolardo]] 9:55, 14 February 2011 (EST)&lt;br /&gt;
&lt;br /&gt;
==  Difference Matte Blend Method ==&lt;br /&gt;
[2]  Precisely:  compare the red, blue, and green channel and, when the same (or within a specifiable amount), make them transparent.&lt;br /&gt;
&lt;br /&gt;
==  Chroma Key Layer==&lt;br /&gt;
[4]  Make selected color in layer beneath transparent.  I'm working on using different combinations of layers to accomplish this at the moment, but no joy yet.  When I get it to work, I'll remove this.&lt;br /&gt;
&lt;br /&gt;
: There is a work-in-progress module for chromakey developed by AkhIL - [http://akhil.nm.ru/tools/synfig-modules/mod_akhilfx-20080509.tar.bz2 mod_akhilfx-20080509.tar.bz2]. Unfortunately it is still not included into official source code. --[[User:Zelgadis|Zelgadis]]&lt;br /&gt;
&lt;br /&gt;
==  Auto-Split Tangents==&lt;br /&gt;
[3]  Have an checkbox in the Bline Tool (and other tools) which would force all tangents in the created object to be split.&lt;br /&gt;
&lt;br /&gt;
: Maybe it's better will be to change behavior of BlineTool? Single click adds vertex with tangents split (and zero length) and click-and-drag adds vertex with merged tangents. That's a common way of construct splines in other vector applications. --[[User:Zelgadis|Zelgadis]] 04:13, 4 March 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Cairo rendering ==&lt;br /&gt;
[3] Using Cairo as render for synfig instead of the software actual render would enourmously boost its performance, as it did in Inkscape (in that case 2x).&lt;br /&gt;
&lt;br /&gt;
: See the process [[Dev:Cairo_render_migration]] [[User:Eldruin|Eldruin]] 14:13, 7 February 2012 (UTC)&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=User_talk:DaveJ&amp;diff=15077</id>
		<title>User talk:DaveJ</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=User_talk:DaveJ&amp;diff=15077"/>
				<updated>2012-02-13T12:11:32Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: thanking DaveJ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hey DaveJ!&lt;br /&gt;
GREAT contributions to the Wiki man! Thank you! Keep up your awesome work! [[User:Eldruin|Eldruin]] 12:11, 13 February 2012 (UTC)&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=User:Eldruin&amp;diff=15075</id>
		<title>User:Eldruin</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=User:Eldruin&amp;diff=15075"/>
				<updated>2012-02-12T20:53:06Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: already 2012&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello, I'm Diego Barrios Romero. I'm a spanish Computer systems technical engineer (now studying the following carreer &amp;quot;Computer engineering&amp;quot;).&lt;br /&gt;
I'm from Cádiz (as Genete!) and I'm trying to do my &amp;quot;End-carreer work&amp;quot; contributing to Synfig.&lt;br /&gt;
&lt;br /&gt;
I always liked electronic (computer later) stuff. So as japanese language (I'm writting a free japanese language course for spanish people), languages in general and traveling.&lt;br /&gt;
&lt;br /&gt;
I hope I can contribute a lot to Synfig project :D&lt;br /&gt;
&lt;br /&gt;
The history about how I get evolved into Synfig development is written in [http://blog.eldruin.com my blog] in [http://blog.eldruin.com/en/2009/12/synfig-developer/ this article].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Things I've done/contributed to do: ===&lt;br /&gt;
* Core: Improve FFMPEG video exporting to accept selectable codecs and bitrate.&lt;br /&gt;
** Core: Update synfig-tool acordingly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Things I'm now evolved in: ===&lt;br /&gt;
* Core: complete rewrite of synfig-tool (CLI) using boost::program_options. Git branch: [http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=shortlog;h=refs/heads/eldruin_tool_boost].&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=User:Eldruin&amp;diff=15074</id>
		<title>User:Eldruin</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=User:Eldruin&amp;diff=15074"/>
				<updated>2012-02-12T20:52:13Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* Things I'm now evolved in: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello, I'm Diego Barrios Romero. I'm a spanish Computer systems technical engineer (now studying the following carreer &amp;quot;Computer engineering&amp;quot;).&lt;br /&gt;
I'm from Cádiz (as Genete!) and I'm trying to do my &amp;quot;End-carreer work&amp;quot; contributing to Synfig. I have until 2011/2012 to do it so I will have time :)&lt;br /&gt;
&lt;br /&gt;
I always liked electronic (computer later) stuff. So as japanese language (I'm writting a free japanese language course for spanish people), languages in general and traveling.&lt;br /&gt;
&lt;br /&gt;
I hope I can contribute a lot to Synfig project :D&lt;br /&gt;
&lt;br /&gt;
The history about how I get evolved into Synfig development is written in [http://blog.eldruin.com my blog] in [http://blog.eldruin.com/en/2009/12/synfig-developer/ this article].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Things I've done/contributed to do: ===&lt;br /&gt;
* Core: Improve FFMPEG video exporting to accept selectable codecs and bitrate.&lt;br /&gt;
** Core: Update synfig-tool acordingly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Things I'm now evolved in: ===&lt;br /&gt;
* Core: complete rewrite of synfig-tool (CLI) using boost::program_options. Git branch: [http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=shortlog;h=refs/heads/eldruin_tool_boost].&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Wish_list&amp;diff=14760</id>
		<title>Dev:Wish list</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Wish_list&amp;diff=14760"/>
				<updated>2012-02-07T14:13:17Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: Cairo rendering wish&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TranslationBar|CONTENT={{Tr/en}} · {{Tr/fr}}}}&lt;br /&gt;
&lt;br /&gt;
'''''Warning''''': We need more people working on the code if we are going to be able to achieve all the feature requests.&lt;br /&gt;
&lt;br /&gt;
Got a great idea for a new feature? Just add it here, or on the [http://sourceforge.net/tracker/?group_id=144022&amp;amp;atid=757419 feature requests tracker]. Before you do, please check the [https://synfig.svn.sourceforge.net/svnroot/synfig/ETL/trunk/TODO etl], [https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-core/trunk/TODO synfig] and [https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-studio/trunk/TODO synfigstudio] TODO files for similar ideas. Please add a rating of how essential this feature is to your workflow according to the following scale:&lt;br /&gt;
&lt;br /&gt;
#&amp;quot;Well, it might be nifty. To someone.&amp;quot;&lt;br /&gt;
#&amp;quot;I probably would make use this&amp;quot;&lt;br /&gt;
#&amp;quot;It's not essential, but I'd really like to have this at my disposal.&amp;quot;&lt;br /&gt;
#&amp;quot;Synfig would be soooo much better with this change&amp;quot;&lt;br /&gt;
#&amp;quot;I can't/won't use Synfig without it!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
Please clean this section up as desired.&lt;br /&gt;
&lt;br /&gt;
* A different color dialog for picking/changing colors easier.&lt;br /&gt;
** Swatch menu from gimp with .gpl files.&lt;br /&gt;
* Workflow improvements, like content help and ui-refinement.&lt;br /&gt;
** set the fine line between design and animation work.&lt;br /&gt;
** Greet the user at startup, give hints and help in the ui to better the usability and user-experience.&lt;br /&gt;
* test synfig cross-platform (Linux, Windows, Mac)&lt;br /&gt;
* Pluggable App (run from memory stick)&lt;br /&gt;
* make a short film about synfigs capabilitys in a starwars kind of spaceship setting as promo video about 3 minutes long.&lt;br /&gt;
* Sound layer&lt;br /&gt;
* full tablet support&lt;br /&gt;
* small set of vector contend for fast animation results&lt;br /&gt;
* Help is available as pdf-file and distributed with the program&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Input:'''&lt;br /&gt;
* Import vectorgraphics (svg,fig)&lt;br /&gt;
&lt;br /&gt;
'''Output:'''&lt;br /&gt;
* Render output to [http://animatedpng.com/ animated PNG]&lt;br /&gt;
* Export vectorgraphics (svg,fig)&lt;br /&gt;
&lt;br /&gt;
== Interchangeable/customizing Splash screen ==&lt;br /&gt;
[3] GIMP has this feature of letting users [http://docs.gimp.org/2.2/en/using-customize-splashscreen.html|customize GIMP's splash screen]. GIMP looks for &amp;lt;code&amp;gt;'''samples'''&amp;lt;/code&amp;gt; directory under &amp;lt;code&amp;gt;'''.gimp-2.x'''&amp;lt;/code&amp;gt; then randomly picks a picture from it to become the spash image.&lt;br /&gt;
&lt;br /&gt;
This will also help GNU/Linux distro, like Ubuntu, to adopt Synfig and put their logo on the splash screen.&lt;br /&gt;
&lt;br /&gt;
Also, official Synfig distribution can pack sample arts created by other artists to be randomly displayed -- like the synfig.org's title's background image.&lt;br /&gt;
&lt;br /&gt;
== Verbosity levels for error output ==&lt;br /&gt;
&lt;br /&gt;
Synfigstudio needs verbosity levels for the error output. Levels are info, warning and error. Make sure, to spew out only errors when something nasty happens. If someone wants to know all what happens in synfigstudio, the user should activate a higher level of verbosity with the command line switch --verbose=all,info,warning&lt;br /&gt;
&lt;br /&gt;
== Usage screen for new users ==&lt;br /&gt;
&lt;br /&gt;
Synfig and Synfigstudio need a usage screen, which helps a new user to type in the right syntax on the command line. Any switch not known to the program should point to the usage screen. On the bottom of the usage screen could be a hint: &amp;quot; For more help use synfig --help&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Keyboard shortcuts for panning ==&lt;br /&gt;
&lt;br /&gt;
The navigation and canvas windows need shortcut keys that pan the canvas view horizontally and vertically. Probably just the arrow keys would work for this, as well as the home/end/pageup/pagedown keys. Ctrl and shift variants could make the panning more or less.&lt;br /&gt;
: You can pan with a middle mouse button. --{{l|User:Zelgadis|Zelgadis}} 00:59, 24 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Linking Zoom layer to Paste Canvas ==&lt;br /&gt;
&lt;br /&gt;
[3] It is impossible to link Center of Zoom layer to Origin of Paste Canvas without exporting a value. It often needed for pans &amp;amp; zooms. Suggestion: rename &amp;quot;Center&amp;quot; parameter of Zoom Layer to the &amp;quot;Origin&amp;quot;. Will improve the workflow. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
== Convert Strings ==&lt;br /&gt;
[4] It could be very good to have feature to represent Convert sequences as strings and vice versa - make convert sequences from strings. Example: To produce this convert sequence: &lt;br /&gt;
&lt;br /&gt;
{{l|Image:WishList-ConvertStrings.png}}&lt;br /&gt;
&lt;br /&gt;
I just right-click on &amp;quot;Origin&amp;quot; parameter and choosing &amp;quot;String Convert&amp;quot; menu item. In the appeared dialog I just entering: &amp;quot;=Composite(Scale(x, Switch(scalar, 1.0, 0)), y)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Also if I clicking on the parameter already containing convert sequence and choosing &amp;quot;String Convert&amp;quot;, it shows string representation of current convert sequence with an ability to edit.&lt;br /&gt;
&lt;br /&gt;
This feature will make possible to easy copy convert sequences from one parameter to another.  --{{l|User:Zelgadis|Zelgadis}} 03:46, 2 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Non scalable timeline ==&lt;br /&gt;
[3] It should be useful for me to have non scalable timeline. It's hard to set timing when the distance between frames is always different in different documents and in different situations. Suggestion: make a non-scalable mode for timeline, where 1 second interval is always the same. Will improve the workflow. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
==Smart linking of tangents==&lt;br /&gt;
[4] As described in {{l|Sewing BLines}}, when linking red tangent to yellow they are placed opposite against each other. This is normal from the program's point of view, but not normal for new users. Even more, to avoid this effect user needs to made some complex steps (see {{l|Sewing BLines#Solution}}). It takes a lot of time if we vahe lot of verticles to sew their tangents.&lt;br /&gt;
&lt;br /&gt;
Suggestion:&lt;br /&gt;
* When linking tangents with the same color, program should act as usual.&lt;br /&gt;
* When linking tangents with different color program should automaticaly add Convert-&amp;gt;Scale (-1) to avoid their opposite placement.&lt;br /&gt;
To allow linking two tangents in opposite position, I suggest to add a new menu option for tangents &amp;quot;Link Opposite&amp;quot;. When linking two tangents with this option:&lt;br /&gt;
* When linking tangents with the different color, program should act as it acts now - no additional converts added.&lt;br /&gt;
* When linking tangents with the same color program should automaticaly add Convert-&amp;gt;Scale (-1) to plcae them opposite against each other.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
==Morph sets==&lt;br /&gt;
This feature is similar to some other suggestions below, just with another way to approach. In animations are many movements, which can be put in some kind of library, to make use of at a later time. For example, movements to animate the key moments of a mouth, sampling syllables. For vector graphics, it should be possible to define some key points, which move just a small amount of space, to form another syllable. These syllables in this example, should be stored in a drop down list, to be able to select them for the key time on the timeline.&lt;br /&gt;
A morph-set for walking-left-to-right is different from a morph-set for a mounth, which has as options a,e,i,o,u,bah-disgust,happy-smile. The morph-set has to be stored as vector coordinates in a relative way(offset), e.g. X1=+212,+34;X2=-56,-23;X3=+3,-88;&lt;br /&gt;
&lt;br /&gt;
To make use of the morph-set for the mouth, you have to define first, which vector points in your drawn mouth, correspond to the key-points of your morph-set. X1, X2, X3, Xn&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 06:53, 27 May 2008 (EDT)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Render time approximation==&lt;br /&gt;
Synfigstudio should get a button in the render dialog, which calculates the total render time for the actual settings (frames per second, length of the film, resolution, output format) It should testrender 1 picture, when the amount of total frames is below 1000. Over 1000 frames, it should testrender 10 pictures for more precise calculation.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 12:49, 22 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
==Smartrendering==&lt;br /&gt;
I have made 25,000 small png-pictures with my 800Mhz computer in about 45 minutes. Synfigstudio did calculate each single frame of it. Nothing changed in this picture, so it does only need to get written to disk for the amount of pictures, until the next change (animation) has an effect on the output picture. This should save time for bigger projects with thousands of pictures. With smartrendering it is also possible to predict the total amound of space in Megabytes (Mibibytes) of the final render of the movie. It should calculate how much it needs and see, if enough space is free on the harddisk before the rendering get started.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 12:49, 22 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:More specifically, only render frames that need to be changed since the last rendering as defined by something like a last edit (or write to filesystem) timestamp and a dependency tree.  ...In the short-term, a tool like gmake might be useful for implementing this accross sessions if we add &amp;quot;last changed&amp;quot; timestamps to one or more sections of sifz files (rather than the almost useless case of a single sifz file timestamp if virtually all information for a project is kept within a single sifz file). We would use the last edit times in the filesystem if synfig recognizes the potentially generated files have names that already exist on disk. [There could be some tricky issues.] ...Within a given SynfigStudio (synfig?) session, we can use the timestamps from disk or just internalize that information without redoing the lookup. In addition, synfig internal dependencies based on what objects were changed since the last rendering can be used to implement a makefile whose make output would include a list of which frames need recalculation. Of course, the job of gmake could be internalized as well. [[User:Jose X|Jose X]] 21:18, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== get_color method in text and radial blur ==&lt;br /&gt;
&lt;br /&gt;
[5] Without get_color method distorion produces artifacts &lt;br /&gt;
[http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1831355&amp;amp;group_id=144022&amp;amp;atid=757416 bug  1831355]. So I would like to get this problem fixed before doing something else. --{{l|User:AkhIL|AkhIL}} 22:41, 1 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Full functional of group dialog ==&lt;br /&gt;
&lt;br /&gt;
[5] Group dialog is broken now [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1796833&amp;amp;group_id=144022&amp;amp;atid=757416 bug 1796833]. So we should get old features work right before making new one. --{{l|User:AkhIL|AkhIL}} 22:41, 1 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== import/export .swf files ==&lt;br /&gt;
&lt;br /&gt;
very important productivity feature&lt;br /&gt;
&lt;br /&gt;
== import/export .svg frames sequence, and/or .svg animations ==&lt;br /&gt;
&lt;br /&gt;
very important productivity feature&lt;br /&gt;
&lt;br /&gt;
== a realtime .sif synchronized text window ==&lt;br /&gt;
&lt;br /&gt;
just like the xml editor of Inkscape, or the html editor in Dreamweaver (this is hugelly useful for productivity)&lt;br /&gt;
&lt;br /&gt;
I thinks scripting API can be implement in this way. For example you make XML DOM like implementation for python which alows to change DOM tree from python code and see chenges in canvas. By this way you can implement import/export scripts. Automation scripts. And a lot of different things. Even synchronization of animation between blender and synfig. --{{l|User:AkhIL|AkhIL}} 23:10, 26 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== choosing colour from gimp/inkscape palettes ==&lt;br /&gt;
&lt;br /&gt;
very useful when you need some colour comformity of what you're doing &lt;br /&gt;
&lt;br /&gt;
== Good high-level documentation of the source code ==&lt;br /&gt;
&lt;br /&gt;
(2) It'd be nice if a newbie could quickly navigate around the source code. The best thing to do would be to add top-level comments in each file, explaining what that file does, a README.TXT in each directory, explaining what's in that directory. This would be pretty fast and easy to do, and make it much easier for new programmers to join. &lt;br /&gt;
&lt;br /&gt;
Time permitting, it would also be good to document on a high level what the data structures are, but that's harder, since those tend to evolve, and it is often difficult to keep in sync. It would also be useful to document what individual functions do (just a one-liner high-level description), but that also takes more time.&lt;br /&gt;
: There is a page link in the wiki that connect to the [http://www.synfig.com/doc Synfig API Documentation]. I think this link should be highlighted to be more accessible for newbies contributors and mature developers (the link was found {{l|Releases/DeveloperPreview#Support | here}}). --{{l|User:Genete|Genete}} 10:02, 11 December 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
== Mathematical functions to animate ==&lt;br /&gt;
(2/4) If you want to make a waving flag, it would be handful a sine function, tuned with random correctors, for example. &lt;br /&gt;
: -This should generate waypoints each 1, 2, 4 frames or any other step at artist's wish.&lt;br /&gt;
: -When applying a function you can add it to current values, add it to 1st frame values or simply override old values. Perhaps other options (such multiplication) would be fine, too. Something like texture editor in [http://www.artofillusion.org Art of Illusion], perhaps.&lt;br /&gt;
Perhaps it would be useful reusing the [http://www.gnu.org/software/octave/ Octave] source code to parse mathematical expressions.&lt;br /&gt;
I have rated this wish with a '2' because undoubtly many users will not be familiar to mathematical concepts, but for those who will be, I'd rate it with a 4. It would be possible to make a ball describing a parabolic moving in no time.&lt;br /&gt;
{{l|User:ajotatxe|ajotatxe}} 20 November 2007&lt;br /&gt;
: dooglus can probably chime in better than I here (see his example of balls on mathematical paths at http://uk.youtube.com/watch?v=YTpSfUthuVE ), but I believe that this is already possible.  Synfig does support a variety of mathematical transforms for parameters, although the way you do this is by no means intuitive.  (You might also want to check out the preambletaffy.sifz example for an easier approach to a waving flag. I know you were just using that as an example, but for the record...) {{l|User:Pxegeek|Pxegeek}} 00:58, 21 November 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
: I'd also rate it with a (4) (and updated the rating accordingly), not for this special case, but to make many workarounds much easier.  Simulating [Parabolic Shot|free fall], for example, would be a lot easier with real formulas.  I don't know, though how easy it will be to implement, maybe waiting for a scripting interface to be implemented is better than hacking this feature in an ad-hoc manner.  --{{l|User:Rubikcube|Rubikcube}} 16:38, 29 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
:One thing to keep in mind is that 2D animations will not frequently look realistic if you implement the exact mathematics without some sort of 3d perspective transformation. And then there is the complex physics also involved in defining precise trajectories. ..This aside, what is needed is simply a function value generator as a function of n variables where at least one variable can be the frame you are on (I don't have much experience with synfig, but I presume there is a way to explicitly get the value of the frame/time you are on) and where this output value can be linked to any other parameter (of a compatible type); you can hook these function block outputs to inputs of other instances of the generator; and the outputs are defined once on every frame. To do a movement like a parabola you configure the generator to output parabola values (one per frame or even allow skipping frames) and then link these values to the vertices of a translation layer. [In other words, the stuff underneath within scope would likely move relative to other stuff underneath but at an outer scope.] We note that linking this way will create many potentials for conflict between these values and existing waypoint values. We can specify which takes precedence and how to smooth between these. Eg, if waypoints take precedence in some particular case, we can specify how to smooth against the function generator values before and after the waypoint. How do we define the functions? The functions can come from a preselect set of parameterized functions (user enters fills in the parameters with constant values or else links). Two examples of functions with three param values would be: Asin(x)+B and mx+b. Also, very usefully, allow a sequence of values to be copy/pasted to define the function outputs at each step (so the mapping defining the function is a stream interpreted as the output value at each discrete frame value). The generator can be time shifted of course. This function definition approach allows other applications (or things like motion sensors) to generate the function values. Another method that can be useful for defining a function would be to accept a curve (eg, bline) and the function output values would come from the curve based on some method specified (eg, as a function of the length from some starting point along the curve and where the speed of travel is defined by a function L(t) where L is length from start so far and t is time/frame count (eg, L(t)=t means we move at constant speed along the curve, that is, at a value of 5 frames we would be 5 units along the length of the curve)).  ..Anyway, the point is to have a function generator to hook up arbitrarily with inputs and which can co-exist with waypoints that would otherwise conflict. This would allow arbitrary automation of anything (based on precomputed or dynamic algorithmic values) without having to manually define/record a single waypoint. Conceptually, this doesn't seem that complex to integrate into the existing synfig and would be very useful (to allow arbitrary automation). An initial prototype version might integrate with only a few things, only have a limited set of simple predefined functions (plus sequence definition capabilities), have the output value be tossed out whenever a waypoint already existed, and exist only from a single menu entry. I really would like this feature. It would make it easier to speed up animation generation in many new custom ways without having to hack into synfig or into the sif file with some other tool. If I get comfortable with the code base, I might be able to chip in. [Any pointers would be appreciated.] [[User:Jose X|Jose X]] 07:03, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Warning about editing bizarre things in animate editing mode ==&lt;br /&gt;
(3.5) It seems to have little sense animate certain things like Blend Method or Type of Feather. It would be very nice that the program asked comfirmation if you change these attributes in animate editing mode. If you do want to, you would have three options: &amp;quot;Yes, never ask&amp;quot;, &amp;quot;Yes, never ask for this attribute&amp;quot;, &amp;quot;No&amp;quot;. I guess that internally, this attributes has integer type (or something like that) and the attributes that you normally want to animate, float type, so I think that this feature is relatively easy to implement. My English is not very good, so please feel free to fix this post.&lt;br /&gt;
{{l|User:ajotatxe|ajotatxe}} 20 November 2007&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bones with FK &amp;amp; IK + grouping of objects into folders ==&lt;br /&gt;
&lt;br /&gt;
(5) Bones cane move specific vector assigned to them or the bones can have envelopes that move the vectors within their field of influence, much Like Anime Studio/Moho does. It's quite a time saving process of animating. Objects created can be saved into separate groups or folders using the same system as Anime Studio/Moho -Shadowphoenix 27/8/2007&lt;br /&gt;
&lt;br /&gt;
== Animated sketch ==&lt;br /&gt;
&lt;br /&gt;
(5) it would be great, if the tool Sketch was animatable (for example, in a form of a special sketch-layer). --Zelgadis 2007-06-14&lt;br /&gt;
&lt;br /&gt;
: For now as a workaround we could use animation program called Pencil. See {{l|Related Projects}} page. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
: So, currently it could be achieved by using other software, but integration with synfig is poor, cause it requires importing a movie through a sequence of images. This is not intuitive and not obvious for new users. It will be good if synfig will have it implemented like [url=http://www.blender.org/development/release-logs/blender-248/grease-pencil/]blender's Grease Pencil[/url]. This feature will improve workflow, make synfig usable for frame-by frame animation (it is intuitive way of learning animation and powerful tool for producing preproduction work like animatic). --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
: It would be nice to also implement the onion peel feature, where you can see the frame before or after, and/or selectable keyframes if this is included. An example can be seen in the program Pencil--{{l|User:richardwad1|richardwad1}}&lt;br /&gt;
&lt;br /&gt;
== Duck for Amount value in Zoom layer ==&lt;br /&gt;
&lt;br /&gt;
(2) It would be nice if Amount value in Zoom layer was controlled by additional duck. --{{l|User:Zelgadis|Zelgadis}} 02:49, 29 December 2007 (EST)&lt;br /&gt;
: I found that I can better use Warp layer instead of Zoom to change size. But it'd be nice to have Amount duck for Zoom layer anyway...&lt;br /&gt;
:: The Amount parameter works exponentially; each time you add 1 to the Amount, the image is zoomed by a further factor of e (= 2.71828 or so).  Would a duck be any use if it just controlled the value of Amount in a linear way?&lt;br /&gt;
:: Workarounds include: export Amount, select it in the children dialog.  Whatever's selected in the children dialog shows a duck.  You can adjust it using that duck.&lt;br /&gt;
:: Also, if you use a Stretch layer, convert the Amount to Composite, export the X-Axis and connect it to the Y-Axis, then you have a duck-controllable fixed-aspect zoom. -- {{l|User:Dooglus|dooglus}} 15:32, 15 January 2008 (EST)&lt;br /&gt;
::: Yeah I found this workaround, but it's to much actions - i prefer better use Warp or Stretch layers. Why not the link Amount duck and Amount value with logarithmic function? ;) --{{l|User:Zelgadis|Zelgadis}} 10:33, 17 January 2008 (EST)&lt;br /&gt;
::::{{l|Convert#Logarithm|Logarithm}} convert type for real parameters exists since svn 2034. {{l|User:Genete|Genete}} 10:17, 30 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Automatic colour palette optimisation ==&lt;br /&gt;
&lt;br /&gt;
(0) it would be nice to use libcontrast [http://david.navi.cx/blog/?p=132] [http://david.navi.cx/blog/?p=94] [http://david.navi.cx/blog/?p=99] [http://svn.gnome.org/svn/xchat-gnome/trunk/src/libcontrast/] to automatically adjust selected or all the palette items for best visual contrast. It would also be interesting to have a layer that uses this code to filter the image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbitrary Color Channels ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; The ability for the user to create any number of custom channels for various purposes.&lt;br /&gt;
&lt;br /&gt;
== Autorecover History ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; It would be great if autorecover could also recover the associated history of a file in the event of a crash.&lt;br /&gt;
&lt;br /&gt;
== Layer Convert ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;(4)&amp;lt;/strike&amp;gt; (2) &amp;amp;mdash; The original intent of this feature request has been solved and documented - {{l|How_do_I#Fill_an_outline.3F|How do I....Fill an Outline?}} - but it would still be nice to have a way to convert one sort of path layer to another. ''(Downgraded to level 2) {{l|User:SnapSilverlight|Snap}} 12:32, 17 Jan 2006 (PST)''&lt;br /&gt;
&lt;br /&gt;
== Vector fill bucket ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; Like the traditional bitmap fill, but this fills the area clicked out to the nearest boundary paths with a region of that area, set to the foreground color (it actually would create a new {{l|Region Layer|region layer}}). &amp;lt;p&amp;gt;Alternatively, a single-duck layer object, that performs a simple bitmap fill from its (animatable) location, with its stored color value. (This second approach is similar to the behavior of one of Softimage's TOONZ[http://www.google.com/search?q=softimage+TOONZ]'s tools)&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;If this is implemented, it will probably be necessary to change the existing &amp;quot;fill&amp;quot; tool's name and icon to a &amp;quot;color injector&amp;quot; (hypodermic needle / turkey injector icon) tool, as that's closer to describing what it does.&lt;br /&gt;
&lt;br /&gt;
*Inkscape has a very innvative version of this tool. Maybe you can just grab the code from there and integrate it in synfig? --{{l|User:SvH|SvH}} 01:37, 14 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== {{l|Dev:Redraw tool}} ==&lt;br /&gt;
&lt;br /&gt;
(4-5) &amp;amp;mdash; Intutive reshaping of path-based layers. See link.&lt;br /&gt;
&lt;br /&gt;
== [http://developer.gnome.org/projects/gup/hig/ Gnome HIG Compliance] ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; This should solve all complaints about the layout, without requiring Synfig to be &amp;quot;just like program (x)&amp;quot;. See {{l|Dev:UI Reloaded}} for progress on this.&lt;br /&gt;
&lt;br /&gt;
== Feedback for {{l|Smooth Move Tool}} ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; This tool does what a lot of folks are looking for, warping selected ducks in a &amp;quot;soft&amp;quot; fashion. But it's not very obvious what sort of effect it will have, from the tool's interface. It needs some sort of momentary center-of-action and radius indicator at the very least. Perhaps an &amp;quot;influence gradient&amp;quot; overlaid on the canvas once Synfig's core is sped up?&lt;br /&gt;
&lt;br /&gt;
== Networkability ==&lt;br /&gt;
&lt;br /&gt;
(2) &amp;amp;mdash; Like Inkscape's &amp;quot;inkboard&amp;quot; feature (using Jabber), or Blender's Verse server [http://www.blender.org/modules/verse/index.php], or OpenCanvas's Networking option. This should probably farm off all the networking stuff to the telepathy framework so that synfig doesn't have to deal with all the account/etc issues.&lt;br /&gt;
&lt;br /&gt;
== Intuitive tangent modification ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; (BBQ Pulled Duck) Inkscape has this for still handles - basically, grab a section of the spline between handles, and pull it around, the program automatically alters the tangent handles to match. What would be really neat is if you could do the same for temporal handles - be able to grab the spline between keyframes, and yank it around, and have Synfig automatically adjust the key interpolation to match. Not sure exactly what the workflow in the UI would be for this, however.&lt;br /&gt;
&lt;br /&gt;
-Agreed; blender does this with its IPO curves, and it's a really efficient way to work.&lt;br /&gt;
&lt;br /&gt;
== Plugin API ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; Would be nice to enable additional functionality to be added to the program without it necessarily needing to be in the Synfig source tree. ''According to the Synfig 0.61.01 roadmap on [http://deepdarc.com/ deepdarc.com], there is a plugin API already implemented. So instead, this may be a {{l|Wiki Wish List|Wiki Wish}} for documentation, depending on how much has already been completed. {{l|User:SnapSilverlight|Snap}} 19:57, 13 Jan 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
== Python support ==&lt;br /&gt;
&lt;br /&gt;
(1) of some sort will no doubt be demanded by the userbase eventually, for studio-specific automation of tasks, noncompiled plugins, etc. I ({{l|User:Snap|SnapSilverlight}}) don't have any particular use for it at the moment, tho'.&lt;br /&gt;
&lt;br /&gt;
I suppose to join this request with {{l|Dev:Wish_list#a_realtime_.sif_synchronized_text_window}}. We can implement python access to XML DOM and write XML Editor in python. --{{l|User:AkhIL|AkhIL}} 06:54, 30 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== mod_synfig ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; For Apache. Render .sif to some format like png/mng on access.&lt;br /&gt;
&lt;br /&gt;
== synfig nsplugin ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; Let Mozilla and Mozilla-based view synfig files in-browser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Align function ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; Align objects at a common border (as in Inkscape)&lt;br /&gt;
&lt;br /&gt;
== Improved SVG import ==&lt;br /&gt;
&lt;br /&gt;
SVG import support is currently limited to paths - it does not support text or effects. [[User:Nikitakit|nikitakit]] 01:27, 14 June 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Useful would be the possibility of importing SVG sequences, just like Macromedia/Adobe Flash does with .ai sequences&lt;br /&gt;
&lt;br /&gt;
== Gradient Paint Tool ==&lt;br /&gt;
&lt;br /&gt;
How about a tool that can 'paint' a gradient object.  For example the options would be width and gradient type, one would make a stroke with the tool and the gradient would be automatically applied inside of the outline (set by width).  This would save the trouble of having to the all the encapsulation stuff. (Actually any tool that makes creating gradient one step would be good).--{{l|User:Triclops|Triclops}} 09:52, 9 Aug 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
(4) Agree. 4 for usability/readability of layers reasons --[[User:Ohoservices|Ohoservices]] 11:33, 27 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Bone Animation Tools ==&lt;br /&gt;
&lt;br /&gt;
Bone system with inverse kinematics, very important for quick animation. You put bones on a drawed man and you can animate him like a puppet. I'm using that in Moho (lost marble product).--{{l|User:Ziolive|ziolive}} 23 Aug 2006&lt;br /&gt;
*I would find this very useful too. I think it is called '''rigging'''(4/5) --{{l|User:SvH|SvH}} 01:33, 14 May 2008 (EDT)&lt;br /&gt;
*I think this effect can be simulated by adding the correct rotation layers + encapsulation to every object that is to be restrained by joints and then linking vertices. A rotation layer center would be at the corresponding joint. We would then link the vertices of the &amp;quot;limbs&amp;quot; that shared a joint. See {{l|Doc:Cut-out Animation}} ...Perhaps this process could be made more direct through an interface that behinds the scenes creates the proper layers and reorganization all at once as the user decides to link objects to joints. ...Implementing this will involve seeing if already restrained motions allow creating joints. Also, adding a joint may clash with already existing waypoints, so waypoint conflict resolution options and rules will have to be developed. [See also an above remark in the section &amp;quot;Mathematical functions to animate&amp;quot; about linked function generator values conflicting with waypoints.] [[User:Jose X|Jose X]] 20:17, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== AVI Backgrounds ==&lt;br /&gt;
Is there any way I can add an avi as a background so I could add facial expressions to a stop-motion animated figure. [zotz here, I was thinking DV background or extra timeline. I would like to mix animations with live footage. rating (3/4)]&lt;br /&gt;
: Already implemented for ffmpeg pipeline of ppm in svn r2161 {{l|User:Genete|Genete}} 05:36, 9 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Character tool on Tool Options Dialog ==&lt;br /&gt;
&lt;br /&gt;
I want to use the as a character generator for a TV show. By using chroma key hide the background.  Even better interface to a video overlay card with Alpha blending.&lt;br /&gt;
&lt;br /&gt;
== Collect for Publication ==&lt;br /&gt;
&lt;br /&gt;
(3/4) - (zotz) Menu item, functionality that would collect alll files referenced in a sif and place them all in a tgz for sending elsewhere or publishing animations in source form.&lt;br /&gt;
&lt;br /&gt;
== Object Library ==&lt;br /&gt;
&lt;br /&gt;
(3/4) - (zotz) Haven't thought this all through yet, but synfig could come with a library of categotrised &amp;quot;objects&amp;quot; with a copyleft license (GPL?  CC BY-SA?) An animation clip art type deal.&lt;br /&gt;
:I'd suggest this should be public domain and distributed by openclipart.org -- --{{l|User:PaulWise|pabs}}&lt;br /&gt;
&lt;br /&gt;
== Flash Export ==&lt;br /&gt;
&lt;br /&gt;
(3/4) Well, might just be me but if there was a posiblity to  export in .swf or .fla, I think the project might become a lot more popular.{{l|User:Conceit|Conceit}}&lt;br /&gt;
&lt;br /&gt;
(4/5) I wholeheartedly agree. I would definitely use synfig more if this feature were added and it would most definitely increase popularity. {{l|User:cdj05a|cdj05a}}&lt;br /&gt;
&lt;br /&gt;
(4[me]/5[others]) Definitely would love flash export. There is no well maintained Flash animation studio that is Open Source. To have Synfig become that along with all that it already is would be absolutely wonderful. You'd also possibly add to your user base all the flash animators out there that don't want to pay Adobe. Some people would only want it for the flash animation hence the 5 for others. {{l|User:jblandrum|jblandrum}}&lt;br /&gt;
&lt;br /&gt;
This can be simply done from a python plugin could use SwfTools for converting temporary exported data into .swf file - not very hard thing to do - the information used from SwfTools is very simple to be created, such as simple .swf files are.&lt;br /&gt;
&lt;br /&gt;
== Single window ==&lt;br /&gt;
&lt;br /&gt;
Depending on individual desktop setups, single window is sometimes preferable to many  windows. Can we have a single-window option?&lt;br /&gt;
&lt;br /&gt;
Also, even with many windows, Windows-users especially might find it better if all the windows only appeared as a single one on the taskbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Export Wizard ==&lt;br /&gt;
&lt;br /&gt;
(2/4) Conversion and export to other file formats (mpg, avi, flash formats, others, and the synfig format) with a step by step wizard for choosing format and place of saving. Similar to Gimp's saving of .png files but for movie/video type files. --&lt;br /&gt;
{{l|User:Hiddenghost|hiddenghost}}&lt;br /&gt;
&lt;br /&gt;
== Using Synfig as a portable app ==&lt;br /&gt;
&lt;br /&gt;
(3) This isn't really a feature request (though it could be) but I was wondering if synfig could be used as a portable application (as in www.portableapps.com). Does the windows install require registry access? i really want to use Synfig at work, but I'm reluctant to install it just in case it leave footprints in the regisitry or something, and it would be sweet to use it on my travels as well. Only thing is, I can't test it out at home because I am using Linux.&lt;br /&gt;
See also: http://portableapps.com/node/5761&lt;br /&gt;
{{l|User:Zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
This isn't currently possible without modifying the source code. That has been on my TODO list for ages {{l|User:PaulWise|pabs}} 01:17, 26 October 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allow organize child valuenodes in an hierarchy ==&lt;br /&gt;
(3-2) And allow maintain the organization once the file is saved. At the moment they are reordered in alphabetical order which is useless and annoying.&lt;br /&gt;
&lt;br /&gt;
== Triangle sliders to be always visible ==&lt;br /&gt;
(3) I would like that the triangle sliders from {{l|Colors Dialog}} and {{l|Gradient Editor Dialog}} were visible whatever color or channel you're editing. Some times when the color or channel is to bright or light the slider is difficult to distinguish. --{{l|User:Genete|Genete}} 14:30, 29 October 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
This is important for usability, should be solved soon.&lt;br /&gt;
--[[User:Ohoservices|Ohoservices]] 10:49, 27 April 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== XICC support ==&lt;br /&gt;
&lt;br /&gt;
It would be cool if synfigstudio had support for [http://burtonini.com/blog/computers/xicc XICC].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Area to Edit ==&lt;br /&gt;
&lt;br /&gt;
An option like blender - select area to update would be nice, so the only part of the image that updates when you add or change something is in the selected area&lt;br /&gt;
&lt;br /&gt;
ie. when working on a complex composition, studio doesn't know, when I tweak a tiny part of the composition, that only that part needs redrawing, so it redraws the whole thing.  It would be good if there was some way of telling it which part to focus on. -- {{l|User:Dooglus|dooglus}} 04:02, 3 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Histograms ==&lt;br /&gt;
&lt;br /&gt;
 01:23  * AkhIL wish to have histograms and luma/color scope like [http://mac.softpedia.com/progScreenshots/Avid-Xpress-DV-Screenshot-14207.html] in synfig&lt;br /&gt;
&lt;br /&gt;
I've looked at those pictures but don't know what they're showing.  Can you describe what those scopes are doing, and what the histograms display?  ie. what are the X and Y axes of the histograms? -- {{l|User:Dooglus|dooglus}} 04:07, 3 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
First look this description in blender wiki [http://wiki.blender.org/index.php/Manual/VSE_Modes]&lt;br /&gt;
&lt;br /&gt;
Ok There is four things.&lt;br /&gt;
* Upper left is Lumascope (Luma Waveform in blender). X-Axis represents image's X-Axys. Y-Axis  is average luminescence of column of pixels.&lt;br /&gt;
* Upper right is Chromascope (Chroma Vectorscope in blender). Just look description on blender wiki.&lt;br /&gt;
* Lower left is like Lumascope but for each channel &lt;br /&gt;
* Lower right is histograms. X is luminescence and Y is count of pixels with such luminiscence.&lt;br /&gt;
&lt;br /&gt;
== Sound Layer ==&lt;br /&gt;
&lt;br /&gt;
(4) It would be a very good improvement if the sound system were implemented into synfig in {{l|Dev:Sound Layer | this}} way. --{{l|User:Genete|Genete}} 07:46, 8 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Rearrange the view of waypoints for Canvas param ==&lt;br /&gt;
As reported in [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1888858&amp;amp;group_id=144022&amp;amp;atid=757416 Bug #1888858] waypoints are not displayed for canvas switch events.&lt;br /&gt;
I suggest to rearrange waypoints display according to {{l|Media:Canvas_prop.png|this scheme}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Width weigths ==&lt;br /&gt;
Is it possible to add &amp;quot;weigths&amp;quot; for widths? ^_^ I.e. width changes not all the way along the segment. Maybe something like a duck on bline which indicates the region where the width of current vertex isn't changed.&lt;br /&gt;
{{l|Media:width-proposal.png|Illustration here.}}&lt;br /&gt;
&lt;br /&gt;
More ideas around this concept in [http://dooglus.rincevent.net/synfig/logs/2008/%23synfig-2008-04-16.log this conversation]. Although the log of that day is very interesting the lines related to this idea are from 22:38 to 23:43. {{l|User:Genete|Genete}} 17:51, 16 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improved Colour Dialog ==&lt;br /&gt;
How easy is it to stick in a colour square/wheel? Messing with sliders is somewhat obstructive.&lt;br /&gt;
&lt;br /&gt;
== Insert Waypoints ==&lt;br /&gt;
A button to create a waypoint for every selected duck, in its current position. Moving each duck up a bit and down again quickly gets tedious.&lt;br /&gt;
:If the duck in question has already a waypoint then you don't need to move it to create a new waypoint. Just select the corresponding parameter in your child list panel and select 'Add Waypoint' from the right click context menu over the parameter. No need to have the duck selected. If you want to freeze the entire bline just do that over the Bline Point List. {{l|User:Genete|Genete}} 07:48, 29 April 2008 (EDT)&lt;br /&gt;
::Yes, but it would be nice to have opportunity to add waypoint to parameer which not have any ducks yet (i.e. non-animated parameter). --{{l|User:Zelgadis|Zelgadis}} 08:33, 29 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Automatically split tangeants ==&lt;br /&gt;
&lt;br /&gt;
Holding shift while moving tangeant ducks should automatically split them. They can be rejoined if necessary through the context menu as they are now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A way to link params without exporting ==&lt;br /&gt;
I need a way to link params with different names without exporting. It is possible to achive by manualy editing of sif file. But inposible by gui. I will be nice to have linking by drag-n-drop. Or just by selecting reference param, pushing copy button, selecting another param and bushing link button. ---{{l|User:AkhIL|AkhIL}} 21:47, 30 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Allow select the origin of rotation when using the Rotate Tool ==&lt;br /&gt;
&lt;br /&gt;
It can be initially set to the geometrical center of the selected ducks or the gravity center depending of the selected checkboxes in the tool options panel. Later the user could move it before perform the rotation operation. It is a waste of time to rotate and translate the ducks every time a rotation manipulation is done. ---{{l|User:Genete|Genete}} 12:16, 4 June 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:I was adding this request at the same time than you Genete :-). Here is an example of how this issue is solved in Inkscape:&lt;br /&gt;
&lt;br /&gt;
:{{l|Image:rotate-tool-inkscape.png|center}}&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:Yaco|Yaco}}&lt;br /&gt;
&lt;br /&gt;
== Non-symetrical but &amp;quot;smooth&amp;quot; tangents on ducks ==&lt;br /&gt;
Add another mode for duck tangent, where the tangent can have different radius, but keep the same angle. (a &amp;quot;split tangents (radius only)&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dockable windows ==&lt;br /&gt;
The current GUI is a pain in the rear by not complete covering the desktop and it's showing 5 tabs instead of  usual one tab so it's frustrating to switch windows if you running more than one software. (windows version)&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
== A Particle Tool/Particle Object Editor ==&lt;br /&gt;
I  thought it might be interesting to add a Particle tool that is intuitive. Genete's script is amazing and I am sure I will do a lot of things with it once I have a chance to sit down and figure it out, but if there were a way to make it into tool with all the settings on sliders, it would be much easier. His script adds endless possibilities of nice effects to make animations look better. I personally rate this rather high. 3.5/5&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:richardwad1|richardwad1}}&lt;br /&gt;
&lt;br /&gt;
== A programation language as code behind like python, ruby or any ==&lt;br /&gt;
Code behind should be important to program the animation or events associated, programers and designers could work in a colaborative workspace and make applications with richfull content on desktop applicactions or web applications like expression blend or macromedia flash CS.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:nickholai|nickholai}}&lt;br /&gt;
&lt;br /&gt;
== Embedding animation on web applications ==&lt;br /&gt;
Like Macromedia Flash, it seems to require a plug in for internet explorer or firefox diferent as silverlight or flash, open source and &amp;quot;software libre&amp;quot; projects are working on animation but using the flash plug in, this wish needs a free plug in.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:nickholai|nickholai}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This seems a bit confusing; why do you want a plug in for synfig? When we add the import and export swf. file feature, it will use the flash plug in. Besides the flash player program is free, so you don't have to pay anything.  I find that this feature is useless until you explain to us better why you think this software needs a plug-in.&lt;br /&gt;
&lt;br /&gt;
Create a thread in the synfig forum if you want to continue to talk about this. We're listening.&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
:Support for svg export would solve the problem (I think), to the extent svg plugins work well (and svg is a more open format than is swf). Would sifz -&amp;gt; svg -&amp;gt; sifz possibly result in data loss/ambiguity (eg, with names)? I don't think sifz has interactivity, right (eg, mouse events that control the visual)? [[User:Jose X|Jose X]] 04:20, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Split Tangent indicator ==&lt;br /&gt;
&lt;br /&gt;
Its hard to tell if a tangent is split or not without clicking on it (either to use the context menu, or move a duck). All of the ducks should change to another shape (eg a square) for a quick visual indication of a ducks state.&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Guide lines ==&lt;br /&gt;
&lt;br /&gt;
Guide lines that can be dragged from the side (like in the Gimp) would be very &lt;br /&gt;
useful.&lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Progress indicators ==&lt;br /&gt;
&lt;br /&gt;
Eg % complete in opening file, pop-up window which indicates how many frames are rendered of a render, eg &amp;quot;rendering 10 of 999&amp;quot; that can be closed/ignored if needed. &lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Improve the Timeline ==&lt;br /&gt;
&lt;br /&gt;
I know, this is one hell of a wish, but, as in all, i think that is best if you think in the ideals conditions and then you downgrade into what is possible to achieve in a reasonable period of time.&lt;br /&gt;
&lt;br /&gt;
:D greetings!!&lt;br /&gt;
&lt;br /&gt;
[4] Normal mode // [4] Layer mode // [4] Secuence mode &lt;br /&gt;
&lt;br /&gt;
.I think that this modes are three diferent windows layout, therefore the hability to create new and save different windows layout, should be the first to do in order to achieve this three modes.&lt;br /&gt;
&lt;br /&gt;
{{l|Image:Timeline-normal-mode-explained.jpg|200px}} {{l|Image:Timeline-layer-mode-explained.jpg|200px}} {{l|Image:Timeline-secuence-mode-explained.jpg|200px}}&lt;br /&gt;
&lt;br /&gt;
(click to enlarge)&lt;br /&gt;
&lt;br /&gt;
02/01/2009 {{l|User:Belifilmaker|Belifilmaker}}&lt;br /&gt;
&lt;br /&gt;
== Lockable Layers ==&lt;br /&gt;
I would use them all of the time.&lt;br /&gt;
{{l|User:Zenoscope|Zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Vector Objects ==&lt;br /&gt;
Represent objects (ie. circles, rectangles, regions, outlines, etc) as a new type of element. These objects exist as childs of some layer. The layer then takes care of rendering these objects to a raster. Currently layers do both things, represent objects and render them.&lt;br /&gt;
&lt;br /&gt;
Having objects as a seperate entity would allow defining operations between them. For example:&lt;br /&gt;
* Take two region objects and find the union of their regions. This would produce a vector representation of the resulting region (ie. Bline) which in turn can be used for other operations (ie. link vertex to Bline).&lt;br /&gt;
* Apply transformation to a vector object producing a vector object as a result which can be further processed.&lt;br /&gt;
* Trace a {{l|Media:Smooth_silhoutte.png|smooth silhoutte}} around a set of vector objects.&lt;br /&gt;
* Slice an animated vector object into pieces and be able to move the pieces around (while preserving the original animation). Would be useful for reflection on a broken glass effect.&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:Yoyobuae|Yoyobuae}}&lt;br /&gt;
&lt;br /&gt;
== Free drawing ==&lt;br /&gt;
&lt;br /&gt;
I wish the synfig have ability to do paintings like with brush and eraser. Imagine: you painting over Paste canvas, and synfig automatically creates shapes inside this Paste canvas layer, doing necessary boolean operations and linking between them. So they don't overlap. This would allow flash-like workflow, which is very suitable for newbies. {{l|Dev:Free Drawing|Discussion.}} --{{l|User:Zelgadis|Zelgadis}} 15:27, 9 April 2009 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Even a simpler manifestation of this wish, an eraser feature for the sketch tool, would come in very handy. [[User:Jose X|Jose X]] 19:53, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Projection Layer ==&lt;br /&gt;
&lt;br /&gt;
The projection layer (a new type of transformation layer) would have two angle parameters that define how the lower layers get transformed: as if projected from a canvas angled in 3D space unto a 2D final image. By combining different encapsulations that use the projection layer, we can facilitate some 3D animation realism from simple 2D manipulations.&lt;br /&gt;
[[User:Jose X|Jose X]] 22:14, 20 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
==  New Gradient Tool icon ==&lt;br /&gt;
[3]  The Rectangle Tool and Gradient Tool have almost identical icons.  One of them should be changed.&lt;br /&gt;
Arbitrary suggestion:  Make the Rectangle's icon a rectangle instead of a square, with a solid fill, and make the Gradient's icon a coloured gradient instead of grey.&lt;br /&gt;
&lt;br /&gt;
==  Arrowheads  ==&lt;br /&gt;
[4]  I use Synfig for animations that go in instructional videos.  I currently use the Polygon tool for making arrows, but it would be a lot faster if Bline layers had a property for putting shapes like arrowheads at the ends of the path.[[User:Envergure|Envergure]] 18:17, 21 May 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
:In addition:&lt;br /&gt;
&lt;br /&gt;
:*The ability to stroke bline paths so as to have the outline be made up of a series one or more arbitrary shapes (ie, besides lines) would also be useful since this would facilitate the animation of discrete objects that relate to each other in space and across frames.&lt;br /&gt;
&lt;br /&gt;
:*Having a shapes repository would be very useful [and with an improved synfig import mechanism that allows exported variables from imported canvases to be seen and be accessible automatically under the imported canvas' namespace -- this would facilitate the use of these .sif libraries/plugins]. And a community of people can collaborate on writing programs to help find shapes that meet certain specs: for example, just like we can write a program to find the optimal way to set up N blines to minimize squared error(?) estimation of a circle, we can write other programs to find how N blines might represent hemi-sphere and many other shapes as faithfully as possible. [Contrast with having users create standard shapes out of blines but using subjective criteria.]&lt;br /&gt;
&lt;br /&gt;
:*A special raster and vector library and set of tutorials can be created to help with the creation of tutorials for synfig documentation. Eg, include png files for &amp;quot;every&amp;quot; view of synfig (eg, every menu entry, panel view, button, etc); have arrows, boxes, bubbles, and other synfig &amp;quot;widgets&amp;quot; that are likely to be used in videos; and include good tutorials and set of instructions for using this art/animation library to build videos or simulated screenshots, etc.&lt;br /&gt;
:::Side effects of this doc project would include helping more people get involved with synfig, motivating more people be able to build such documentation/instructions for projects beyond synfig (though perhaps using synfig to create the scenes), and helping to create a standard set of pictures and best practices for synfig so that the synfig docs will tend towards uniformity (to the degree this is desirable).&lt;br /&gt;
&lt;br /&gt;
==  Rotoscope Layer ==&lt;br /&gt;
[3]  I hereby request an option in the Draw Tool's Tool Option box which would be labeled &amp;quot;This Frame Only&amp;quot; and have the following characteristics:  Three waypoints would be automatically created, one at the current frame, with an Amount value of One (1), and one each on the previous and next frames, with Amounts of Zero (0).  The purpose of such an option is as follows:  although Synfig is one of the only open-source applications capable of rotoscoping, or at least rotoscoping in an editable manner, it is actually pretty poor at it, for one very basic reason.  Synfig is geared toward tweening of relatively simple vector shapes, and rotoscoping is frame-by-frame tracing of organic shapes.  Currently in Synfig, to rotoscope (trace an object from live-action footage, such as a person) the user must either trace with the draw tool or and set the abovementioned waypoints manually (a pain), or try to use bline shapes, which is really worse, because real-life things aren't that smooth.  I suspect that this would be such an easy fix that I might attempt to learn enough C++ to figure it out on my own; if not, someone else could probably do it in fifteen minutes.  It certainly wouldn't be used by everyone, but it would be an incredible boon to those of us who do use Synfig for effects on live-action footage.&lt;br /&gt;
&lt;br /&gt;
: Are you talking about some kind of &amp;quot;frame-by-frame feature&amp;quot; which allows to switch layers on every frame? --[[User:Zelgadis|Zelgadis]] 14:42, 14 February 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Yes - currently, frame-by-frame is possible, but requires manually setting three waypoints per layer.  I'd just like an automation of that.  --[[User:Nikolardo|Nikolardo]] 9:55, 14 February 2011 (EST)&lt;br /&gt;
&lt;br /&gt;
==  Difference Matte Blend Method ==&lt;br /&gt;
[2]  Precisely:  compare the red, blue, and green channel and, when the same (or within a specifiable amount), make them transparent.&lt;br /&gt;
&lt;br /&gt;
==  Chroma Key Layer==&lt;br /&gt;
[4]  Make selected color in layer beneath transparent.  I'm working on using different combinations of layers to accomplish this at the moment, but no joy yet.  When I get it to work, I'll remove this.&lt;br /&gt;
&lt;br /&gt;
: There is a work-in-progress module for chromakey developed by AkhIL - [http://akhil.nm.ru/tools/synfig-modules/mod_akhilfx-20080509.tar.bz2 mod_akhilfx-20080509.tar.bz2]. Unfortunately it is still not included into official source code. --[[User:Zelgadis|Zelgadis]]&lt;br /&gt;
&lt;br /&gt;
==  Auto-Split Tangents==&lt;br /&gt;
[3]  Have an checkbox in the Bline Tool (and other tools) which would force all tangents in the created object to be split.&lt;br /&gt;
&lt;br /&gt;
: Maybe it's better will be to change behavior of BlineTool? Single click adds vertex with tangents split (and zero length) and click-and-drag adds vertex with merged tangents. That's a common way of construct splines in other vector applications. --[[User:Zelgadis|Zelgadis]] 04:13, 4 March 2011 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Cairo rendering ==&lt;br /&gt;
[3] Using Cairo as render for synfig instead of the software actual render would enourmously boost its performance, as it did in Inkscape (in that case 2x).&lt;br /&gt;
&lt;br /&gt;
: See the process [[Dev:Cairo_render_migration]] [[User:Eldruin|Eldruin]] 14:13, 7 February 2012 (UTC)&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Cairo_render_migration&amp;diff=14756</id>
		<title>Dev:Cairo render migration</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Cairo_render_migration&amp;diff=14756"/>
				<updated>2012-02-07T13:34:37Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* Data formats */  Wiki format correction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to describe the Cairo render migration process from the actual Synfig software render.&lt;br /&gt;
&lt;br /&gt;
== Rendering plugin system ==&lt;br /&gt;
* A plugin system for rendering methods (can be extended to support rendering methods other than Cairo, such as OpenGL)&lt;br /&gt;
** In target.h, there is an option to specify the rendering method.&lt;br /&gt;
*** SOFTWARE is the old renderer, OPENGL is unsupported but kept for consistency with Uiomae's branch, and CAIRO is the one nikitakit added&lt;br /&gt;
** Uiomae made a number of changes to the individual targets to support new way of receiving data&lt;br /&gt;
*** Each target is now annotated with the kind of color data that it accepts. (See the enum PixelFormat)&lt;br /&gt;
*** A few targets may have been mis-annotated, in which case the resulting images will turn out wierd (or segfault the renderer). The PNG target should work properly, though.&lt;br /&gt;
*** The render-to-screen targets defined in Synfig Studio do not support these methods, so they cannot currently render using Cairo.&lt;br /&gt;
&lt;br /&gt;
== Cairo rendering system ==&lt;br /&gt;
=== How the cairo rendering system works ===&lt;br /&gt;
* Nikitakit added a virtual method cairo_render to the Layer class. It receives a Cairo rendering context (cr) in addition to the Synfig context.&lt;br /&gt;
* The default implementation in the layer.cpp simply renders the layer using the software renderer, copies the output onto a cairo image surface, and then paints it onto the context.&lt;br /&gt;
** This involves one copy (with a color conversion, see below) and one paint operation - not very efficient!&lt;br /&gt;
* Each layer can override the method cairo_render to specify an actual cairo renderer.&lt;br /&gt;
* We should start the cairo conversion by implementing cairo_render for a few common layers, and figuring out how to do painting and blend methods properly.&lt;br /&gt;
** Cairo does not support as many blend methods as Synfig, but it does have quite a few (see [http://cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t])&lt;br /&gt;
**; Note&lt;br /&gt;
**: cairomm does not provide wrappers for all of them. You may need to get the constants from the C API.&lt;br /&gt;
&lt;br /&gt;
=== Cairo image surfaces, and color conversions ===&lt;br /&gt;
* Cairo has a number of underlying &amp;quot;surfaces&amp;quot; that redirect the paint operation to different targets. There are PNG, SVG, OpenGL, direct-to-screen, and a couple others.&lt;br /&gt;
* Nikitakit use the image surfaces because of the need to perform operations with color buffers.&lt;br /&gt;
** The image surfaces have a variety of data formats (see [http://cairographics.org/manual/cairo-Image-Surfaces.html#cairo-format-t])&lt;br /&gt;
==== Data formats ====&lt;br /&gt;
The only one among them, however, that includes both alpha and RGB data channels is Cairo::FORMAT_ARGB32.&lt;br /&gt;
&lt;br /&gt;
This format uses 8 bits per channel. One thing to watch out for is that professional photographers tend to want higher bit depth, especially for print. However, this may not apply to on-screen animation.&lt;br /&gt;
&lt;br /&gt;
But this cairo data format is NOT the data format that is used by the default Synfig renderer! This is probably the most confusing part of the whole rendering framework.&lt;br /&gt;
&lt;br /&gt;
There are two key differences between the formats:&lt;br /&gt;
; Color order&lt;br /&gt;
: ARGB32 is (8 bits of alpha value, 8 bits of red, 8 bits of green, 8 bits of blue).&lt;br /&gt;
: IIRC Synfig's renderer is RGBA32 (the alpha channel is at the end, not at the beginning)&lt;br /&gt;
; Stride concept in Cairo&lt;br /&gt;
: Synfig packs 32-bit pixel values back-to-back in a memory buffer: immediately following the last pixel in one row is the first pixel in the next row.&lt;br /&gt;
: That is, the pixel in row `r' and column `c' can be found at memory location (width * 32bits * r) + (32bits * c)&lt;br /&gt;
but Cairo sometimes pads zeros between rows in order to align the data for better hardware acceleration. So in cairo, the pixel in row `r' and column `c' can be found at memory location (stride * r) + (32bits * c), where stride &amp;gt;= width * 32bits. Therefore the default implementation of cairo_render must perform a color conversion between the two data formats. This definitely has a negative performance impact.&lt;br /&gt;
&lt;br /&gt;
In addition, each of the Synfig render targets expects color data in a specific format, which is NOT the same as Synfig's format, NOR is it the same as cairo's data format.&lt;br /&gt;
Here Nikitakit uses Uiomae's work on defining which color format a target accepts, and convert the cairo data format to that format&lt;br /&gt;
&lt;br /&gt;
Ideally, we would want to take advantage of cairo's native render-to-png, render-to-svg, and render-to-screen surfaces instead of manually calling libpng, etc. &lt;br /&gt;
Therefore we should consider having each target return a cairo surface, draw the image onto the cairo surface, and then pass the finalized color surface to the target&lt;br /&gt;
&lt;br /&gt;
However, that would be a completely different model from the software renderer. We would need a good way to integrate them, or else scrap our custom rendering framework and use Cairo's image surfaces, even in our software renderer (as a final step).&lt;br /&gt;
&lt;br /&gt;
== Implementing process ==&lt;br /&gt;
# Implement cairo_render for at least a few key layers (namely: Paste canvas, and either rectangle or Bline). Figure out how to do color composition correctly&lt;br /&gt;
# Decide whether to keep the current color conversion system, or figure out how to integrate cairo's native surfaces&lt;br /&gt;
#* Either integrate cairo image surfaces into all targets, including the ones in Synfig Studio&lt;br /&gt;
#* Or specify the color conversion needed for the Synfig Studio renderer.&lt;br /&gt;
#*;Note&lt;br /&gt;
#*: both require modification/reimplementation of tiling, since all renderers in core are not tile renderers)&lt;br /&gt;
# Make sure all render targets work properly&lt;br /&gt;
# Implement the rest of the layers in Cairo&lt;br /&gt;
#; Note&lt;br /&gt;
#: Since this is mostly independent, parallelized work, it's possible to have a code sprint where different people take care of different layers&lt;br /&gt;
# Figure out what parts, if any, of the custom rendering framework we want to scrap in favor of using library code&lt;br /&gt;
# Optimize: for example, don't re-render a layer if it doesn't change from one frame to the next&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Cairo_render_migration&amp;diff=14755</id>
		<title>Dev:Cairo render migration</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Cairo_render_migration&amp;diff=14755"/>
				<updated>2012-02-07T13:33:56Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* Data formats */  Wiki format correction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to describe the Cairo render migration process from the actual Synfig software render.&lt;br /&gt;
&lt;br /&gt;
== Rendering plugin system ==&lt;br /&gt;
* A plugin system for rendering methods (can be extended to support rendering methods other than Cairo, such as OpenGL)&lt;br /&gt;
** In target.h, there is an option to specify the rendering method.&lt;br /&gt;
*** SOFTWARE is the old renderer, OPENGL is unsupported but kept for consistency with Uiomae's branch, and CAIRO is the one nikitakit added&lt;br /&gt;
** Uiomae made a number of changes to the individual targets to support new way of receiving data&lt;br /&gt;
*** Each target is now annotated with the kind of color data that it accepts. (See the enum PixelFormat)&lt;br /&gt;
*** A few targets may have been mis-annotated, in which case the resulting images will turn out wierd (or segfault the renderer). The PNG target should work properly, though.&lt;br /&gt;
*** The render-to-screen targets defined in Synfig Studio do not support these methods, so they cannot currently render using Cairo.&lt;br /&gt;
&lt;br /&gt;
== Cairo rendering system ==&lt;br /&gt;
=== How the cairo rendering system works ===&lt;br /&gt;
* Nikitakit added a virtual method cairo_render to the Layer class. It receives a Cairo rendering context (cr) in addition to the Synfig context.&lt;br /&gt;
* The default implementation in the layer.cpp simply renders the layer using the software renderer, copies the output onto a cairo image surface, and then paints it onto the context.&lt;br /&gt;
** This involves one copy (with a color conversion, see below) and one paint operation - not very efficient!&lt;br /&gt;
* Each layer can override the method cairo_render to specify an actual cairo renderer.&lt;br /&gt;
* We should start the cairo conversion by implementing cairo_render for a few common layers, and figuring out how to do painting and blend methods properly.&lt;br /&gt;
** Cairo does not support as many blend methods as Synfig, but it does have quite a few (see [http://cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t])&lt;br /&gt;
**; Note&lt;br /&gt;
**: cairomm does not provide wrappers for all of them. You may need to get the constants from the C API.&lt;br /&gt;
&lt;br /&gt;
=== Cairo image surfaces, and color conversions ===&lt;br /&gt;
* Cairo has a number of underlying &amp;quot;surfaces&amp;quot; that redirect the paint operation to different targets. There are PNG, SVG, OpenGL, direct-to-screen, and a couple others.&lt;br /&gt;
* Nikitakit use the image surfaces because of the need to perform operations with color buffers.&lt;br /&gt;
** The image surfaces have a variety of data formats (see [http://cairographics.org/manual/cairo-Image-Surfaces.html#cairo-format-t])&lt;br /&gt;
==== Data formats ====&lt;br /&gt;
The only one among them, however, that includes both alpha and RGB data channels is Cairo::FORMAT_ARGB32.&lt;br /&gt;
&lt;br /&gt;
This format uses 8 bits per channel. One thing to watch out for is that professional photographers tend to want higher bit depth, especially for print. However, this may not apply to on-screen animation.&lt;br /&gt;
&lt;br /&gt;
But this cairo data format is NOT the data format that is used by the default Synfig renderer! This is probably the most confusing part of the whole rendering framework.&lt;br /&gt;
&lt;br /&gt;
There are two key differences between the formats:&lt;br /&gt;
; Color order&lt;br /&gt;
: ARGB32 is (8 bits of alpha value, 8 bits of red, 8 bits of green, 8 bits of blue).&lt;br /&gt;
	 IIRC Synfig's renderer is RGBA32 (the alpha channel is at the end, not at the beginning)&lt;br /&gt;
; Stride concept in Cairo&lt;br /&gt;
: Synfig packs 32-bit pixel values back-to-back in a memory buffer: immediately following the last pixel in one row is the first pixel in the next row.&lt;br /&gt;
: That is, the pixel in row `r' and column `c' can be found at memory location (width * 32bits * r) + (32bits * c)&lt;br /&gt;
but Cairo sometimes pads zeros between rows in order to align the data for better hardware acceleration. So in cairo, the pixel in row `r' and column `c' can be found at memory location (stride * r) + (32bits * c), where stride &amp;gt;= width * 32bits. Therefore the default implementation of cairo_render must perform a color conversion between the two data formats. This definitely has a negative performance impact.&lt;br /&gt;
&lt;br /&gt;
In addition, each of the Synfig render targets expects color data in a specific format, which is NOT the same as Synfig's format, NOR is it the same as cairo's data format.&lt;br /&gt;
Here Nikitakit uses Uiomae's work on defining which color format a target accepts, and convert the cairo data format to that format&lt;br /&gt;
&lt;br /&gt;
Ideally, we would want to take advantage of cairo's native render-to-png, render-to-svg, and render-to-screen surfaces instead of manually calling libpng, etc. &lt;br /&gt;
Therefore we should consider having each target return a cairo surface, draw the image onto the cairo surface, and then pass the finalized color surface to the target&lt;br /&gt;
&lt;br /&gt;
However, that would be a completely different model from the software renderer. We would need a good way to integrate them, or else scrap our custom rendering framework and use Cairo's image surfaces, even in our software renderer (as a final step).&lt;br /&gt;
&lt;br /&gt;
== Implementing process ==&lt;br /&gt;
# Implement cairo_render for at least a few key layers (namely: Paste canvas, and either rectangle or Bline). Figure out how to do color composition correctly&lt;br /&gt;
# Decide whether to keep the current color conversion system, or figure out how to integrate cairo's native surfaces&lt;br /&gt;
#* Either integrate cairo image surfaces into all targets, including the ones in Synfig Studio&lt;br /&gt;
#* Or specify the color conversion needed for the Synfig Studio renderer.&lt;br /&gt;
#*;Note&lt;br /&gt;
#*: both require modification/reimplementation of tiling, since all renderers in core are not tile renderers)&lt;br /&gt;
# Make sure all render targets work properly&lt;br /&gt;
# Implement the rest of the layers in Cairo&lt;br /&gt;
#; Note&lt;br /&gt;
#: Since this is mostly independent, parallelized work, it's possible to have a code sprint where different people take care of different layers&lt;br /&gt;
# Figure out what parts, if any, of the custom rendering framework we want to scrap in favor of using library code&lt;br /&gt;
# Optimize: for example, don't re-render a layer if it doesn't change from one frame to the next&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Cairo_render_migration&amp;diff=14754</id>
		<title>Dev:Cairo render migration</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Cairo_render_migration&amp;diff=14754"/>
				<updated>2012-02-07T13:32:56Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: Wikified and depersonalized version of the Nikitakit notes on cairo rendering. Thank you Nikitakit!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is to describe the Cairo render migration process from the actual Synfig software render.&lt;br /&gt;
&lt;br /&gt;
== Rendering plugin system ==&lt;br /&gt;
* A plugin system for rendering methods (can be extended to support rendering methods other than Cairo, such as OpenGL)&lt;br /&gt;
** In target.h, there is an option to specify the rendering method.&lt;br /&gt;
*** SOFTWARE is the old renderer, OPENGL is unsupported but kept for consistency with Uiomae's branch, and CAIRO is the one nikitakit added&lt;br /&gt;
** Uiomae made a number of changes to the individual targets to support new way of receiving data&lt;br /&gt;
*** Each target is now annotated with the kind of color data that it accepts. (See the enum PixelFormat)&lt;br /&gt;
*** A few targets may have been mis-annotated, in which case the resulting images will turn out wierd (or segfault the renderer). The PNG target should work properly, though.&lt;br /&gt;
*** The render-to-screen targets defined in Synfig Studio do not support these methods, so they cannot currently render using Cairo.&lt;br /&gt;
&lt;br /&gt;
== Cairo rendering system ==&lt;br /&gt;
=== How the cairo rendering system works ===&lt;br /&gt;
* Nikitakit added a virtual method cairo_render to the Layer class. It receives a Cairo rendering context (cr) in addition to the Synfig context.&lt;br /&gt;
* The default implementation in the layer.cpp simply renders the layer using the software renderer, copies the output onto a cairo image surface, and then paints it onto the context.&lt;br /&gt;
** This involves one copy (with a color conversion, see below) and one paint operation - not very efficient!&lt;br /&gt;
* Each layer can override the method cairo_render to specify an actual cairo renderer.&lt;br /&gt;
* We should start the cairo conversion by implementing cairo_render for a few common layers, and figuring out how to do painting and blend methods properly.&lt;br /&gt;
** Cairo does not support as many blend methods as Synfig, but it does have quite a few (see [http://cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t])&lt;br /&gt;
**; Note&lt;br /&gt;
**: cairomm does not provide wrappers for all of them. You may need to get the constants from the C API.&lt;br /&gt;
&lt;br /&gt;
=== Cairo image surfaces, and color conversions ===&lt;br /&gt;
* Cairo has a number of underlying &amp;quot;surfaces&amp;quot; that redirect the paint operation to different targets. There are PNG, SVG, OpenGL, direct-to-screen, and a couple others.&lt;br /&gt;
* Nikitakit use the image surfaces because of the need to perform operations with color buffers.&lt;br /&gt;
** The image surfaces have a variety of data formats (see [http://cairographics.org/manual/cairo-Image-Surfaces.html#cairo-format-t])&lt;br /&gt;
==== Data formats ====&lt;br /&gt;
The only one among them, however, that includes both alpha and RGB data channels is Cairo::FORMAT_ARGB32.&lt;br /&gt;
&lt;br /&gt;
This format uses 8 bits per channel. One thing to watch out for is that professional photographers tend to want higher bit depth, especially for print. However, this may not apply to on-screen animation.&lt;br /&gt;
&lt;br /&gt;
But this cairo data format is NOT the data format that is used by the default Synfig renderer! This is probably the most confusing part of the whole rendering framework.&lt;br /&gt;
&lt;br /&gt;
There are two key differences between the formats:&lt;br /&gt;
; Color order&lt;br /&gt;
;:ARGB32 is (8 bits of alpha value, 8 bits of red, 8 bits of green, 8 bits of blue).&lt;br /&gt;
	 IIRC Synfig's renderer is RGBA32 (the alpha channel is at the end, not at the beginning)&lt;br /&gt;
; Stride concept in Cairo&lt;br /&gt;
;: Synfig packs 32-bit pixel values back-to-back in a memory buffer: immediately following the last pixel in one row is the first pixel in the next row.&lt;br /&gt;
;:That is, the pixel in row `r' and column `c' can be found at memory location (width * 32bits * r) + (32bits * c)&lt;br /&gt;
but Cairo sometimes pads zeros between rows in order to align the data for better hardware acceleration. So in cairo, the pixel in row `r' and column `c' can be found at memory location (stride * r) + (32bits * c), where stride &amp;gt;= width * 32bits. Therefore the default implementation of cairo_render must perform a color conversion between the two data formats. This definitely has a negative performance impact.&lt;br /&gt;
&lt;br /&gt;
In addition, each of the Synfig render targets expects color data in a specific format, which is NOT the same as Synfig's format, NOR is it the same as cairo's data format.&lt;br /&gt;
Here Nikitakit uses Uiomae's work on defining which color format a target accepts, and convert the cairo data format to that format&lt;br /&gt;
&lt;br /&gt;
Ideally, we would want to take advantage of cairo's native render-to-png, render-to-svg, and render-to-screen surfaces instead of manually calling libpng, etc. &lt;br /&gt;
Therefore we should consider having each target return a cairo surface, draw the image onto the cairo surface, and then pass the finalized color surface to the target&lt;br /&gt;
&lt;br /&gt;
However, that would be a completely different model from the software renderer. We would need a good way to integrate them, or else scrap our custom rendering framework and use Cairo's image surfaces, even in our software renderer (as a final step).&lt;br /&gt;
&lt;br /&gt;
== Implementing process ==&lt;br /&gt;
# Implement cairo_render for at least a few key layers (namely: Paste canvas, and either rectangle or Bline). Figure out how to do color composition correctly&lt;br /&gt;
# Decide whether to keep the current color conversion system, or figure out how to integrate cairo's native surfaces&lt;br /&gt;
#* Either integrate cairo image surfaces into all targets, including the ones in Synfig Studio&lt;br /&gt;
#* Or specify the color conversion needed for the Synfig Studio renderer.&lt;br /&gt;
#*;Note&lt;br /&gt;
#*: both require modification/reimplementation of tiling, since all renderers in core are not tile renderers)&lt;br /&gt;
# Make sure all render targets work properly&lt;br /&gt;
# Implement the rest of the layers in Cairo&lt;br /&gt;
#; Note&lt;br /&gt;
#: Since this is mostly independent, parallelized work, it's possible to have a code sprint where different people take care of different layers&lt;br /&gt;
# Figure out what parts, if any, of the custom rendering framework we want to scrap in favor of using library code&lt;br /&gt;
# Optimize: for example, don't re-render a layer if it doesn't change from one frame to the next&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=User:Eldruin&amp;diff=14737</id>
		<title>User:Eldruin</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=User:Eldruin&amp;diff=14737"/>
				<updated>2012-01-31T12:50:57Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: update what I'm evolved with&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello, I'm Diego Barrios Romero. I'm a spanish Computer systems technical engineer (now studying the following carreer &amp;quot;Computer engineering&amp;quot;).&lt;br /&gt;
I'm from Cádiz (as Genete!) and I'm trying to do my &amp;quot;End-carreer work&amp;quot; contributing to Synfig. I have until 2011/2012 to do it so I will have time :)&lt;br /&gt;
&lt;br /&gt;
I always liked electronic (computer later) stuff. So as japanese language (I'm writting a free japanese language course for spanish people), languages in general and traveling.&lt;br /&gt;
&lt;br /&gt;
I hope I can contribute a lot to Synfig project :D&lt;br /&gt;
&lt;br /&gt;
The history about how I get evolved into Synfig development is written in [http://blog.eldruin.com my blog] in [http://blog.eldruin.com/en/2009/12/synfig-developer/ this article].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Things I've done/contributed to do: ===&lt;br /&gt;
* Core: Improve FFMPEG video exporting to accept selectable codecs and bitrate.&lt;br /&gt;
** Core: Update synfig-tool acordingly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Things I'm now evolved in: ===&lt;br /&gt;
* Core: Improve CLI.&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:GoogleSoC/ApplicationForm&amp;diff=11815</id>
		<title>Dev:GoogleSoC/ApplicationForm</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:GoogleSoC/ApplicationForm&amp;diff=11815"/>
				<updated>2010-03-10T18:27:30Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* Draft application */ town -&amp;gt; city&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We have missed the SoC so far. Before 2007 we didn't have an application ready in time. We signed up for the 2008 Google SoC, but didn't get accepted. We haven't signed up since then.&lt;br /&gt;
&lt;br /&gt;
== Administrators and Mentors ==&lt;br /&gt;
&lt;br /&gt;
Please read the [http://primates.ximian.com/~federico/docs/summer-of-code-mentoring-howto/ Summer of Code Mentoring HOWTO].&lt;br /&gt;
&lt;br /&gt;
* Administrator: {{l|User:Zelgadis|Konstantin Dmitriev aka Zelgadis}}, LinkID: zelgadis&lt;br /&gt;
* Mentor: {{l|User:Genete|Carlos López González aka Genete}}, LinkID: genete&lt;br /&gt;
* Student: {{l|User:Eldruin|Diego Barrios Romero aka Eldruin}}, LinkID: '''eldruin'''&lt;br /&gt;
* Backup Mentor: {{l|User:Pxegeek|Chris Norman aka pixelgeek}},  LinkID: '''pixelgeek'''&lt;br /&gt;
* Backup Administrator: {{l|User:Yaco|Franco Iacomella aka Yaco}}, LinkID: yaco&lt;br /&gt;
&lt;br /&gt;
== Draft application ==&lt;br /&gt;
&lt;br /&gt;
Questions from http://socghop.appspot.com/gsoc/org_app/take/gsoc_program/google/gsoc2010/orgapp (needs registration)&lt;br /&gt;
&lt;br /&gt;
* '''Organization's Name:'''&lt;br /&gt;
** Synfig Project Development Team&lt;br /&gt;
:: We have used that name here: http://synfig.org/wiki/Synfig:Copyrights --[[User:Zelgadis|Zelgadis]] 06:51, 10 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
* '''Description:'''&lt;br /&gt;
** Our team is developing a powerful, industrial-strength vector-based 2D animation software package, called Synfig Studio. It designed from the ground-up for producing feature-film quality animation with fewer people and resources. While there are many other programs currently on the market to aid with the efficient production of 2D animation, we are currently unaware of any other software that can do what our software can. &lt;br /&gt;
&lt;br /&gt;
* '''Homepage:'''&lt;br /&gt;
** http://synfig.org/&lt;br /&gt;
&lt;br /&gt;
* '''Main organization License:'''&lt;br /&gt;
** GNU GPL v2 or later.&lt;br /&gt;
&lt;br /&gt;
* '''Why is your organization applying to participate in GSoC 2010? What do you hope to gain by participating?'''&lt;br /&gt;
** We have student willing to contribute to the project for the next two years. By participating in GSoC we want to get funding for him to increase his motivation and to help complete a particular feature during this summer.&lt;br /&gt;
&lt;br /&gt;
* '''Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.'''&lt;br /&gt;
** Unfortunately, no.&lt;br /&gt;
&lt;br /&gt;
* '''If your organization participated in past GSoCs, please let us know the ratio of students passing to students allocated, e.g. 2006: 3/6 for 3 out of 6 students passed in 2006.'''&lt;br /&gt;
** Not applicable&lt;br /&gt;
&lt;br /&gt;
* '''If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?''' &lt;br /&gt;
** Yes, in 2008.&lt;br /&gt;
&lt;br /&gt;
* '''What is the URL for your ideas page?'''&lt;br /&gt;
** http://synfig.org/wiki/Dev:GoogleSoC#Ideas&lt;br /&gt;
&lt;br /&gt;
* '''What is the main development mailing list for your organization? This question will be shown to students who would like to get more information about applying to your organization for GSoC 2010. If your organization uses more than one list, please make sure to include a description of the list so students know which to use.'''&lt;br /&gt;
** http://lists.sourceforge.net/lists/listinfo/synfig-devl This one is for development related items.&lt;br /&gt;
** http://lists.sourceforge.net/lists/listinfo/synfig-user This one is for user related items&lt;br /&gt;
&lt;br /&gt;
* '''Where is the main IRC channel for your organization?'''&lt;br /&gt;
** #synfig on irc.freenode.net&lt;br /&gt;
** Comment: We keep logs at: http://dooglus.rincevent.net/synfig/logs. Also we use forums for community interaction at: http://synfig.org/forums/&lt;br /&gt;
&lt;br /&gt;
* '''Does your organization have an application template you would like to see students use? If so, please provide it now. Please note that it is a very good idea to ask students to provide you with their contact information as part of your template. Their contact details will not be shared with you automatically via the GSoC 2010 site.'''&lt;br /&gt;
** No, we do not.&lt;br /&gt;
&lt;br /&gt;
* '''What criteria did you use to select the individuals who will act as mentors for your organization? Please be as specific as possible:'''&lt;br /&gt;
** The individual selected as the mentor in the project must have a knowledge of C/C++ and Synfig Studio program code (or it's specific area). It could be easily determined from the svn/git commit history (http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=summary). He also must be a regular on IRC and wiki or forums (see previous http://dooglus.rincevent.net/synfig/logs/,  http://synfig.org/Special:Recentchanges and http://synfig.org/forums/). Synfig Studio is an animation program, so the selected mentor should know its common animation concepts: keyframes, waypoints, layers, blend methods and so forth. Selected individuals are highly-motivated, long-standing contributors of the project. Carlos López González (aka Genete) is willing to be a mentor for this student, because he is complying with all these requirements: he is experienced enough with Synfig code (http://cia.vc/stats/author/Carlos%20Lopez), he is experienced in animation (http://www.youtube.com/user/Genete) and more than that - he lives in the same city as the student and they already have direct meetings working on Synfig code.&lt;br /&gt;
&lt;br /&gt;
* '''What is your plan for dealing with disappearing students?'''&lt;br /&gt;
** We already have student willing to work on the particular project idea during SoC. That student already proved his capabilities by contributing the patches to the source code (http://cia.vc/stats/author/Diego%20Barrios%20Romero). As he lives in the same city as his mentor, the mentor will have the opportunity to visit him personally in case of his disappearance.&lt;br /&gt;
&lt;br /&gt;
* '''What is your plan for dealing with disappearing mentors?'''&lt;br /&gt;
** During the SoC we have one backup mentor. If existing mentors become unavailable or unresponsive during the project period a backup mentor will take the place of absent mentor. But the probability of our mentor disappearing is very low because he has been an active member of the Synfig community since 2006 and has declared himself as a very responsible person.&lt;br /&gt;
&lt;br /&gt;
* '''What steps will you take to encourage students to interact with your project's community before, during and after the program?'''&lt;br /&gt;
** Student and mentor have already met directly (offline) and have discussed their plans for development. The student is contributing to the wiki, participating in forum discussions and hangs out on the IRC channel.&lt;br /&gt;
&lt;br /&gt;
* '''What will you do to ensure that your accepted students stick with the project after GSoC concludes?'''&lt;br /&gt;
** The participating student has made his decision to choose Synfig as his &amp;quot;final career project&amp;quot;. That means that he will stick with the project for at least 2 years.&lt;br /&gt;
&lt;br /&gt;
* '''Is there anything else you would like to tell the Google Summer of Code program administration team?'''&lt;br /&gt;
** We strongly believe that Synfig Studio is a software that has no equivalent in the world of Free Open Source Software. It's already used by artists all around the world to produce animation (see Synfig Demo Reel - http://www.archive.org/download/SynfigDemoReel/sdr_final_512kb.mp4, Cut The Circle Animated Short - http://www.icaro.org.ar/proyectos/ctc/doku.php, Morevna Project - http://morevnaproject.org/). It would be a great help to the project's maturity and to it's regular development to be chosen as a Mentor Organization.&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
&lt;br /&gt;
As we already have a mentor and a student defined, they chose a particular idea to work on:&lt;br /&gt;
&lt;br /&gt;
'''Implement OpenGL render engine'''&lt;br /&gt;
&lt;br /&gt;
You may notice that Synfig Studio is SLOW, making it practically unusable on hardware that is over 6 years old. The biggest reason for this is that all of the color calculations are done in floating point -- because Synfig Studio was built from the ground up with High-Dynamic-Range Imaging in mind. HOWEVER, this will not be the case forever.&lt;br /&gt;
&lt;br /&gt;
Today's graphics processors are powerful and we want to speed up Synfig Studio by implementing the rendering via OpenGL.&lt;br /&gt;
&lt;br /&gt;
First attempts for such implementation were made earlier ([http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=shortlog;h=refs/heads/uiomae_opengl 1]), ([http://synfig.org/forums/viewtopic.php?f=22&amp;amp;t=362 2]) and the first tests showed speed increase up to 14 times.&lt;br /&gt;
&lt;br /&gt;
Unfortunately the person who initiated the development of the OpenGL branch was unable to continue development because of personal issues and the branch were abandoned.&lt;br /&gt;
&lt;br /&gt;
We want to pursue implementing full OpenGL-powered rendering for Synfig Studio. That will result in faster redraw for the workarea during the animation construction and thus make a much better user experience. A good performance of the application during playback and screen redraw is vital for implementing other resource-consuming features like bones and sound support (we need close to real-time response for that).&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:GoogleSoC/ApplicationForm&amp;diff=11814</id>
		<title>Dev:GoogleSoC/ApplicationForm</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:GoogleSoC/ApplicationForm&amp;diff=11814"/>
				<updated>2010-03-10T18:23:06Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* Administrators and Mentors */ My nick&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We have missed the SoC so far. Before 2007 we didn't have an application ready in time. We signed up for the 2008 Google SoC, but didn't get accepted. We haven't signed up since then.&lt;br /&gt;
&lt;br /&gt;
== Administrators and Mentors ==&lt;br /&gt;
&lt;br /&gt;
Please read the [http://primates.ximian.com/~federico/docs/summer-of-code-mentoring-howto/ Summer of Code Mentoring HOWTO].&lt;br /&gt;
&lt;br /&gt;
* Administrator: {{l|User:Zelgadis|Konstantin Dmitriev aka Zelgadis}}, LinkID: zelgadis&lt;br /&gt;
* Mentor: {{l|User:Genete|Carlos López González aka Genete}}, LinkID: genete&lt;br /&gt;
* Student: {{l|User:Eldruin|Diego Barrios Romero aka Eldruin}}, LinkID: '''eldruin'''&lt;br /&gt;
* Backup Mentor: {{l|User:Pxegeek|Chris Norman aka pixelgeek}},  LinkID: '''pixelgeek'''&lt;br /&gt;
* Backup Administrator: {{l|User:Yaco|Franco Iacomella aka Yaco}}, LinkID: yaco&lt;br /&gt;
&lt;br /&gt;
== Draft application ==&lt;br /&gt;
&lt;br /&gt;
Questions from http://socghop.appspot.com/gsoc/org_app/take/gsoc_program/google/gsoc2010/orgapp (needs registration)&lt;br /&gt;
&lt;br /&gt;
* '''Organization's Name:'''&lt;br /&gt;
** Synfig Project Development Team&lt;br /&gt;
:: We have used that name here: http://synfig.org/wiki/Synfig:Copyrights --[[User:Zelgadis|Zelgadis]] 06:51, 10 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
* '''Description:'''&lt;br /&gt;
** Our team is developing a powerful, industrial-strength vector-based 2D animation software package, called Synfig Studio. It designed from the ground-up for producing feature-film quality animation with fewer people and resources. While there are many other programs currently on the market to aid with the efficient production of 2D animation, we are currently unaware of any other software that can do what our software can. &lt;br /&gt;
&lt;br /&gt;
* '''Homepage:'''&lt;br /&gt;
** http://synfig.org/&lt;br /&gt;
&lt;br /&gt;
* '''Main organization License:'''&lt;br /&gt;
** GNU GPL v2 or later.&lt;br /&gt;
&lt;br /&gt;
* '''Why is your organization applying to participate in GSoC 2010? What do you hope to gain by participating?'''&lt;br /&gt;
** We have student willing to contribute to the project for the next two years. By participating in GSoC we want to get funding for him to increase his motivation and to help complete a particular feature during this summer.&lt;br /&gt;
&lt;br /&gt;
* '''Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.'''&lt;br /&gt;
** Unfortunately, no.&lt;br /&gt;
&lt;br /&gt;
* '''If your organization participated in past GSoCs, please let us know the ratio of students passing to students allocated, e.g. 2006: 3/6 for 3 out of 6 students passed in 2006.'''&lt;br /&gt;
** Not applicable&lt;br /&gt;
&lt;br /&gt;
* '''If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?''' &lt;br /&gt;
** Yes, in 2008.&lt;br /&gt;
&lt;br /&gt;
* '''What is the URL for your ideas page?'''&lt;br /&gt;
** http://synfig.org/wiki/Dev:GoogleSoC#Ideas&lt;br /&gt;
&lt;br /&gt;
* '''What is the main development mailing list for your organization? This question will be shown to students who would like to get more information about applying to your organization for GSoC 2010. If your organization uses more than one list, please make sure to include a description of the list so students know which to use.'''&lt;br /&gt;
** http://lists.sourceforge.net/lists/listinfo/synfig-devl This one is for development related items.&lt;br /&gt;
** http://lists.sourceforge.net/lists/listinfo/synfig-user This one is for user related items&lt;br /&gt;
&lt;br /&gt;
* '''Where is the main IRC channel for your organization?'''&lt;br /&gt;
** #synfig on irc.freenode.net&lt;br /&gt;
** Comment: We keep logs at: http://dooglus.rincevent.net/synfig/logs. Also we use forums for community interaction at: http://synfig.org/forums/&lt;br /&gt;
&lt;br /&gt;
* '''Does your organization have an application template you would like to see students use? If so, please provide it now. Please note that it is a very good idea to ask students to provide you with their contact information as part of your template. Their contact details will not be shared with you automatically via the GSoC 2010 site.'''&lt;br /&gt;
** No, we do not.&lt;br /&gt;
&lt;br /&gt;
* '''What criteria did you use to select the individuals who will act as mentors for your organization? Please be as specific as possible:'''&lt;br /&gt;
** The individual selected as the mentor in the project must have a knowledge of C/C++ and Synfig Studio program code (or it's specific area). It could be easily determined from the svn/git commit history (http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=summary). He also must be a regular on IRC and wiki or forums (see previous http://dooglus.rincevent.net/synfig/logs/,  http://synfig.org/Special:Recentchanges and http://synfig.org/forums/). Synfig Studio is an animation program, so the selected mentor should know its common animation concepts: keyframes, waypoints, layers, blend methods and so forth. Selected individuals are highly-motivated, long-standing contributors of the project. Carlos López González (aka Genete) is willing to be a mentor for this student, because he is complying with all these requirements: he is experienced enough with Synfig code (http://cia.vc/stats/author/Carlos%20Lopez), he is experienced in animation (http://www.youtube.com/user/Genete) and more than that - he lives in the same town as the student and they already have direct meetings working on Synfig code.&lt;br /&gt;
&lt;br /&gt;
* '''What is your plan for dealing with disappearing students?'''&lt;br /&gt;
** We already have student willing to work on the particular project idea during SoC. That student already proved his capabilities by contributing the patches to the source code (http://cia.vc/stats/author/Diego%20Barrios%20Romero). As he lives in the same town as his mentor, the mentor will have the opportunity to visit him personally in case of his disappearance.&lt;br /&gt;
&lt;br /&gt;
* '''What is your plan for dealing with disappearing mentors?'''&lt;br /&gt;
** During the SoC we have one backup mentor. If existing mentors become unavailable or unresponsive during the project period a backup mentor will take the place of absent mentor. But the probability of our mentor disappearing is very low because he has been an active member of the Synfig community since 2006 and has declared himself as a very responsible person.&lt;br /&gt;
&lt;br /&gt;
* '''What steps will you take to encourage students to interact with your project's community before, during and after the program?'''&lt;br /&gt;
** Student and mentor have already met directly (offline) and have discussed their plans for development. The student is contributing to the wiki, participating in forum discussions and hangs out on the IRC channel.&lt;br /&gt;
&lt;br /&gt;
* '''What will you do to ensure that your accepted students stick with the project after GSoC concludes?'''&lt;br /&gt;
** The participating student has made his decision to choose Synfig as his &amp;quot;final career project&amp;quot;. That means that he will stick with the project for at least 2 years.&lt;br /&gt;
&lt;br /&gt;
* '''Is there anything else you would like to tell the Google Summer of Code program administration team?'''&lt;br /&gt;
** We strongly believe that Synfig Studio is a software that has no equivalent in the world of Free Open Source Software. It's already used by artists all around the world to produce animation (see Synfig Demo Reel - http://www.archive.org/download/SynfigDemoReel/sdr_final_512kb.mp4, Cut The Circle Animated Short - http://www.icaro.org.ar/proyectos/ctc/doku.php, Morevna Project - http://morevnaproject.org/). It would be a great help to the project's maturity and to it's regular development to be chosen as a Mentor Organization.&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
&lt;br /&gt;
As we already have a mentor and a student defined, they chose a particular idea to work on:&lt;br /&gt;
&lt;br /&gt;
'''Implement OpenGL render engine'''&lt;br /&gt;
&lt;br /&gt;
You may notice that Synfig Studio is SLOW, making it practically unusable on hardware that is over 6 years old. The biggest reason for this is that all of the color calculations are done in floating point -- because Synfig Studio was built from the ground up with High-Dynamic-Range Imaging in mind. HOWEVER, this will not be the case forever.&lt;br /&gt;
&lt;br /&gt;
Today's graphics processors are powerful and we want to speed up Synfig Studio by implementing the rendering via OpenGL.&lt;br /&gt;
&lt;br /&gt;
First attempts for such implementation were made earlier ([http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=shortlog;h=refs/heads/uiomae_opengl 1]), ([http://synfig.org/forums/viewtopic.php?f=22&amp;amp;t=362 2]) and the first tests showed speed increase up to 14 times.&lt;br /&gt;
&lt;br /&gt;
Unfortunately the person who initiated the development of the OpenGL branch was unable to continue development because of personal issues and the branch were abandoned.&lt;br /&gt;
&lt;br /&gt;
We want to pursue implementing full OpenGL-powered rendering for Synfig Studio. That will result in faster redraw for the workarea during the animation construction and thus make a much better user experience. A good performance of the application during playback and screen redraw is vital for implementing other resource-consuming features like bones and sound support (we need close to real-time response for that).&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Wish_list&amp;diff=11782</id>
		<title>Dev:Wish list</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Wish_list&amp;diff=11782"/>
				<updated>2010-03-08T22:05:57Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: Fix dev links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TranslationBar|CONTENT={{Tr/en}} · {{Tr/fr}}}}&lt;br /&gt;
&lt;br /&gt;
'''''Warning''''': We need more people working on the code if we are going to be able to achieve all the feature requests.&lt;br /&gt;
&lt;br /&gt;
Got a great idea for a new feature? Just add it here, or on the [http://sourceforge.net/tracker/?group_id=144022&amp;amp;atid=757419 feature requests tracker]. Before you do, please check the [https://synfig.svn.sourceforge.net/svnroot/synfig/ETL/trunk/TODO etl], [https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-core/trunk/TODO synfig] and [https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-studio/trunk/TODO synfigstudio] TODO files for similar ideas. Please add a rating of how essential this feature is to your workflow according to the following scale:&lt;br /&gt;
&lt;br /&gt;
#&amp;quot;Well, it might be nifty. To someone.&amp;quot;&lt;br /&gt;
#&amp;quot;I probably would make use this&amp;quot;&lt;br /&gt;
#&amp;quot;It's not essential, but I'd really like to have this at my disposal.&amp;quot;&lt;br /&gt;
#&amp;quot;Synfig would be soooo much better with this change&amp;quot;&lt;br /&gt;
#&amp;quot;I can't/won't use Synfig without it!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
Please clean this section up as desired.&lt;br /&gt;
&lt;br /&gt;
* A different color dialog for picking/changing colors easier.&lt;br /&gt;
** A color wheel like inkscape has (or the same) [done]&lt;br /&gt;
** Swatch menu from gimp with .gpl files.&lt;br /&gt;
* Workflow improvements, like content help and ui-refinement.&lt;br /&gt;
** set the fine line between design and animation work.&lt;br /&gt;
** Greet the user at startup, give hints and help in the ui to better the usability and user-experience.&lt;br /&gt;
* test synfig cross-platform (Linux, Windows, Mac)&lt;br /&gt;
* Installer for windows [done]&lt;br /&gt;
* Pluggable App (run from memory stick)&lt;br /&gt;
* make a short film about synfigs capabilitys in a starwars kind of spaceship setting as promo video about 3 minutes long.&lt;br /&gt;
* Sound layer&lt;br /&gt;
* full tablet support&lt;br /&gt;
* small set of vector contend for fast animation results&lt;br /&gt;
* Help is available as pdf-file and distributed with the program&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Input:'''&lt;br /&gt;
* Import rastergraphics png, jpg, tif [done]&lt;br /&gt;
* Import vectorgraphics (svg,fig)&lt;br /&gt;
&lt;br /&gt;
'''Output:'''&lt;br /&gt;
* Render output to animated gif [done]&lt;br /&gt;
* Render output to png, bmp, OpenEXR [done]&lt;br /&gt;
* Render output to [http://animatedpng.com/ animated PNG]&lt;br /&gt;
* Export vectorgraphics (svg,fig)&lt;br /&gt;
&lt;br /&gt;
== Interchangeable/customizing Splash screen ==&lt;br /&gt;
[3] GIMP has this feature of letting users [http://docs.gimp.org/2.2/en/using-customize-splashscreen.html|customize GIMP's splash screen]. GIMP looks for &amp;lt;code&amp;gt;'''samples'''&amp;lt;/code&amp;gt; directory under &amp;lt;code&amp;gt;'''.gimp-2.x'''&amp;lt;/code&amp;gt; then randomly picks a picture from it to become the spash image.&lt;br /&gt;
&lt;br /&gt;
This will also help GNU/Linux distro, like Ubuntu, to adopt Synfig and put their logo on the splash screen.&lt;br /&gt;
&lt;br /&gt;
Also, official Synfig distribution can pack sample arts created by other artists to be randomly displayed -- like the synfig.org's title's background image.&lt;br /&gt;
&lt;br /&gt;
== Verbosity levels for error output ==&lt;br /&gt;
&lt;br /&gt;
Synfigstudio needs verbosity levels for the error output. Levels are info, warning and error. Make sure, to spew out only errors when something nasty happens. If someone wants to know all what happens in synfigstudio, the user should activate a higher level of verbosity with the command line switch --verbose=all,info,warning&lt;br /&gt;
&lt;br /&gt;
== Usage screen for new users ==&lt;br /&gt;
&lt;br /&gt;
Synfig and Synfigstudio need a usage screen, which helps a new user to type in the right syntax on the command line. Any switch not known to the program should point to the usage screen. On the bottom of the usage screen could be a hint: &amp;quot; For more help use synfig --help&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Keyboard shortcuts for panning ==&lt;br /&gt;
&lt;br /&gt;
The navigation and canvas windows need shortcut keys that pan the canvas view horizontally and vertically. Probably just the arrow keys would work for this, as well as the home/end/pageup/pagedown keys. Ctrl and shift variants could make the panning more or less.&lt;br /&gt;
: You can pan with a middle mouse button. --{{l|User:Zelgadis|Zelgadis}} 00:59, 24 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Linking Zoom layer to Paste Canvas ==&lt;br /&gt;
&lt;br /&gt;
[3] It is impossible to link Center of Zoom layer to Origin of Paste Canvas without exporting a value. It often needed for pans &amp;amp; zooms. Suggestion: rename &amp;quot;Center&amp;quot; parameter of Zoom Layer to the &amp;quot;Origin&amp;quot;. Will improve the workflow. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
== Convert Strings ==&lt;br /&gt;
[4] It could be very good to have feature to represent Convert sequences as strings and vice versa - make convert sequences from strings. Example: To produce this convert sequence: &lt;br /&gt;
&lt;br /&gt;
{{l|Image:WishList-ConvertStrings.png}}&lt;br /&gt;
&lt;br /&gt;
I just right-click on &amp;quot;Origin&amp;quot; parameter and choosing &amp;quot;String Convert&amp;quot; menu item. In the appeared dialog I just entering: &amp;quot;=Composite(Scale(x, Switch(scalar, 1.0, 0)), y)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Also if I clicking on the parameter already containing convert sequence and choosing &amp;quot;String Convert&amp;quot;, it shows string representation of current convert sequence with an ability to edit.&lt;br /&gt;
&lt;br /&gt;
This feature will make possible to easy copy convert sequences from one parameter to another.  --{{l|User:Zelgadis|Zelgadis}} 03:46, 2 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Non scalable timeline ==&lt;br /&gt;
[3] It should be useful for me to have non scalable timeline. It's hard to set timing when the distance between frames is always different in different documents and in different situations. Suggestion: make a non-scalable mode for timeline, where 1 second interval is always the same. Will improve the workflow. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
==Smart linking of tangents==&lt;br /&gt;
[4] As described in {{l|Sewing BLines}}, when linking red tangent to yellow they are placed opposite against each other. This is normal from the program's point of view, but not normal for new users. Even more, to avoid this effect user needs to made some complex steps (see {{l|Sewing BLines#Solution}}). It takes a lot of time if we vahe lot of verticles to sew their tangents.&lt;br /&gt;
&lt;br /&gt;
Suggestion:&lt;br /&gt;
* When linking tangents with the same color, program should act as usual.&lt;br /&gt;
* When linking tangents with different color program should automaticaly add Convert-&amp;gt;Scale (-1) to avoid their opposite placement.&lt;br /&gt;
To allow linking two tangents in opposite position, I suggest to add a new menu option for tangents &amp;quot;Link Opposite&amp;quot;. When linking two tangents with this option:&lt;br /&gt;
* When linking tangents with the different color, program should act as it acts now - no additional converts added.&lt;br /&gt;
* When linking tangents with the same color program should automaticaly add Convert-&amp;gt;Scale (-1) to plcae them opposite against each other.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
==Movement blur effect==&lt;br /&gt;
To make the motion most realistic for movies, it should be possible to activate in the render dialog the option to smear the border of all objects, which move faster than a given value. For example, if a ball gets shot over the canvas/rendering-screen with speed over 50 px/frame it should have a blurry streak attached. This effect could be applied only at rendering time as an after-effect. --{{l|User:SvH|SvH}} 09:50, 28 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:There is a {{l|Motion Blur Layer}} that you can apply to the entire document or to the layers you want. It allows to turn the blur effect on and off during animation. I think it is more flexible that your proposal. {{l|User:Genete|Genete}} 10:13, 28 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
==Morph sets==&lt;br /&gt;
This feature is similar to some other suggestions below, just with another way to approach. In animations are many movements, which can be put in some kind of library, to make use of at a later time. For example, movements to animate the key moments of a mouth, sampling syllables. For vector graphics, it should be possible to define some key points, which move just a small amount of space, to form another syllable. These syllables in this example, should be stored in a drop down list, to be able to select them for the key time on the timeline.&lt;br /&gt;
A morph-set for walking-left-to-right is different from a morph-set for a mounth, which has as options a,e,i,o,u,bah-disgust,happy-smile. The morph-set has to be stored as vector coordinates in a relative way(offset), e.g. X1=+212,+34;X2=-56,-23;X3=+3,-88;&lt;br /&gt;
&lt;br /&gt;
To make use of the morph-set for the mouth, you have to define first, which vector points in your drawn mouth, correspond to the key-points of your morph-set. X1, X2, X3, Xn&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 06:53, 27 May 2008 (EDT)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Render time approximation==&lt;br /&gt;
Synfigstudio should get a button in the render dialog, which calculates the total render time for the actual settings (frames per second, length of the film, resolution, output format) It should testrender 1 picture, when the amount of total frames is below 1000. Over 1000 frames, it should testrender 10 pictures for more precise calculation.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 12:49, 22 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
==Smartrendering==&lt;br /&gt;
I have made 25,000 small png-pictures with my 800Mhz computer in about 45 minutes. Synfigstudio did calculate each single frame of it. Nothing changed in this picture, so it does only need to get written to disk for the amount of pictures, until the next change (animation) has an effect on the output picture. This should save time for bigger projects with thousands of pictures. With smartrendering it is also possible to predict the total amound of space in Megabytes (Mibibytes) of the final render of the movie. It should calculate how much it needs and see, if enough space is free on the harddisk before the rendering get started.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 12:49, 22 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== get_color method in text and radial blur ==&lt;br /&gt;
&lt;br /&gt;
[5] Without get_color method distorion produces artifacts &lt;br /&gt;
[http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1831355&amp;amp;group_id=144022&amp;amp;atid=757416 bug  1831355]. So I would like to get this problem fixed before doing something else. --{{l|User:AkhIL|AkhIL}} 22:41, 1 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Full functional of group dialog ==&lt;br /&gt;
&lt;br /&gt;
[5] Group dialog is broken now [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1796833&amp;amp;group_id=144022&amp;amp;atid=757416 bug 1796833]. So we should get old features work right before making new one. --{{l|User:AkhIL|AkhIL}} 22:41, 1 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== import/export .swf files ==&lt;br /&gt;
&lt;br /&gt;
very important productivity feature&lt;br /&gt;
&lt;br /&gt;
== import/export .svg frames sequence, and/or .svg animations ==&lt;br /&gt;
&lt;br /&gt;
very important productivity feature&lt;br /&gt;
&lt;br /&gt;
== a realtime .sif synchronized text window ==&lt;br /&gt;
&lt;br /&gt;
just like the xml editor of Inkscape, or the html editor in Dreamweaver (this is hugelly useful for productivity)&lt;br /&gt;
&lt;br /&gt;
I thinks scripting API can be implement in this way. For example you make XML DOM like implementation for python which alows to change DOM tree from python code and see chenges in canvas. By this way you can implement import/export scripts. Automation scripts. And a lot of different things. Even synchronization of animation between blender and synfig. --{{l|User:AkhIL|AkhIL}} 23:10, 26 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== choosing colour from gimp/inkscape palettes ==&lt;br /&gt;
&lt;br /&gt;
very useful when you need some colour comformity of what you're doing &lt;br /&gt;
&lt;br /&gt;
== Good high-level documentation of the source code ==&lt;br /&gt;
&lt;br /&gt;
(2) It'd be nice if a newbie could quickly navigate around the source code. The best thing to do would be to add top-level comments in each file, explaining what that file does, a README.TXT in each directory, explaining what's in that directory. This would be pretty fast and easy to do, and make it much easier for new programmers to join. &lt;br /&gt;
&lt;br /&gt;
Time permitting, it would also be good to document on a high level what the data structures are, but that's harder, since those tend to evolve, and it is often difficult to keep in sync. It would also be useful to document what individual functions do (just a one-liner high-level description), but that also takes more time.&lt;br /&gt;
: There is a page link in the wiki that connect to the [http://www.synfig.com/doc Synfig API Documentation]. I think this link should be highlighted to be more accessible for newbies contributors and mature developers (the link was found {{l|Releases/DeveloperPreview#Support | here}}). --{{l|User:Genete|Genete}} 10:02, 11 December 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
== Mathematical functions to animate ==&lt;br /&gt;
(2/4) If you want to make a waving flag, it would be handful a sine function, tuned with random correctors, for example. &lt;br /&gt;
: -This should generate waypoints each 1, 2, 4 frames or any other step at artist's wish.&lt;br /&gt;
: -When applying a function you can add it to current values, add it to 1st frame values or simply override old values. Perhaps other options (such multiplication) would be fine, too. Something like texture editor in [http://www.artofillusion.org Art of Illusion], perhaps.&lt;br /&gt;
Perhaps it would be useful reusing the [http://www.gnu.org/software/octave/ Octave] source code to parse mathematical expressions.&lt;br /&gt;
I have rated this wish with a '2' because undoubtly many users will not be familiar to mathematical concepts, but for those who will be, I'd rate it with a 4. It would be possible to make a ball describing a parabolic moving in no time.&lt;br /&gt;
{{l|User:ajotatxe|ajotatxe}} 20 November 2007&lt;br /&gt;
: dooglus can probably chime in better than I here (see his example of balls on mathematical paths at http://uk.youtube.com/watch?v=YTpSfUthuVE ), but I believe that this is already possible.  Synfig does support a variety of mathematical transforms for parameters, although the way you do this is by no means intuitive.  (You might also want to check out the preambletaffy.sifz example for an easier approach to a waving flag. I know you were just using that as an example, but for the record...) {{l|User:Pxegeek|Pxegeek}} 00:58, 21 November 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
: I'd also rate it with a (4) (and updated the rating accordingly), not for this special case, but to make many workarounds much easier.  Simulating [Parabolic Shot|free fall], for example, would be a lot easier with real formulas.  I don't know, though how easy it will be to implement, maybe waiting for a scripting interface to be implemented is better than hacking this feature in an ad-hoc manner.  --{{l|User:Rubikcube|Rubikcube}} 16:38, 29 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Warning about editing bizarre things in animate editing mode ==&lt;br /&gt;
(3.5) It seems to have little sense animate certain things like Blend Method or Type of Feather. It would be very nice that the program asked comfirmation if you change these attributes in animate editing mode. If you do want to, you would have three options: &amp;quot;Yes, never ask&amp;quot;, &amp;quot;Yes, never ask for this attribute&amp;quot;, &amp;quot;No&amp;quot;. I guess that internally, this attributes has integer type (or something like that) and the attributes that you normally want to animate, float type, so I think that this feature is relatively easy to implement. My English is not very good, so please feel free to fix this post.&lt;br /&gt;
{{l|User:ajotatxe|ajotatxe}} 20 November 2007&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bones with FK &amp;amp; IK + grouping of objects into folders ==&lt;br /&gt;
&lt;br /&gt;
(5) Bones cane move specific vector assigned to them or the bones can have envelopes that move the vectors within their field of influence, much Like Anime Studio/Moho does. It's quite a time saving process of animating. Objects created can be saved into separate groups or folders using the same system as Anime Studio/Moho -Shadowphoenix 27/8/2007&lt;br /&gt;
&lt;br /&gt;
== Animated sketch ==&lt;br /&gt;
&lt;br /&gt;
(5) it would be great, if the tool Sketch was animatable (for example, in a form of a special sketch-layer). --Zelgadis 2007-06-14&lt;br /&gt;
&lt;br /&gt;
: For now as a workaround we could use animation program called Pencil. See {{l|Related Projects}} page. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
: So, currently it could be achieved by using other software, but integration with synfig is poor, cause it requires importing a movie through a sequence of images. This is not intuitive and not obvious for new users. It will be good if synfig will have it implemented like [url=http://www.blender.org/development/release-logs/blender-248/grease-pencil/]blender's Grease Pencil[/url]. This feature will improve workflow, make synfig usable for frame-by frame animation (it is intuitive way of learning animation and powerful tool for producing preproduction work like animatic). --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
: It would be nice to also implement the onion peel feature, where you can see the frame before or after, and/or selectable keyframes if this is included. An example can be seen in the program Pencil--{{l|User:richardwad1|richardwad1}}&lt;br /&gt;
&lt;br /&gt;
== Duck for Amount value in Zoom layer ==&lt;br /&gt;
&lt;br /&gt;
(2) It would be nice if Amount value in Zoom layer was controlled by additional duck. --{{l|User:Zelgadis|Zelgadis}} 02:49, 29 December 2007 (EST)&lt;br /&gt;
: I found that I can better use Warp layer instead of Zoom to change size. But it'd be nice to have Amount duck for Zoom layer anyway...&lt;br /&gt;
:: The Amount parameter works exponentially; each time you add 1 to the Amount, the image is zoomed by a further factor of e (= 2.71828 or so).  Would a duck be any use if it just controlled the value of Amount in a linear way?&lt;br /&gt;
:: Workarounds include: export Amount, select it in the children dialog.  Whatever's selected in the children dialog shows a duck.  You can adjust it using that duck.&lt;br /&gt;
:: Also, if you use a Stretch layer, convert the Amount to Composite, export the X-Axis and connect it to the Y-Axis, then you have a duck-controllable fixed-aspect zoom. -- {{l|User:Dooglus|dooglus}} 15:32, 15 January 2008 (EST)&lt;br /&gt;
::: Yeah I found this workaround, but it's to much actions - i prefer better use Warp or Stretch layers. Why not the link Amount duck and Amount value with logarithmic function? ;) --{{l|User:Zelgadis|Zelgadis}} 10:33, 17 January 2008 (EST)&lt;br /&gt;
::::{{l|Convert#Logarithm|Logarithm}} convert type for real parameters exists since svn 2034. {{l|User:Genete|Genete}} 10:17, 30 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Automatic colour palette optimisation ==&lt;br /&gt;
&lt;br /&gt;
(0) it would be nice to use libcontrast [http://david.navi.cx/blog/?p=132] [http://david.navi.cx/blog/?p=94] [http://david.navi.cx/blog/?p=99] [http://svn.gnome.org/svn/xchat-gnome/trunk/src/libcontrast/] to automatically adjust selected or all the palette items for best visual contrast. It would also be interesting to have a layer that uses this code to filter the image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbitrary Color Channels ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; The ability for the user to create any number of custom channels for various purposes.&lt;br /&gt;
&lt;br /&gt;
== Autorecover History ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; It would be great if autorecover could also recover the associated history of a file in the event of a crash.&lt;br /&gt;
&lt;br /&gt;
== Layer Convert ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;(4)&amp;lt;/strike&amp;gt; (2) &amp;amp;mdash; The original intent of this feature request has been solved and documented - {{l|How_do_I#Fill_an_outline.3F|How do I....Fill an Outline?}} - but it would still be nice to have a way to convert one sort of path layer to another. ''(Downgraded to level 2) {{l|User:SnapSilverlight|Snap}} 12:32, 17 Jan 2006 (PST)''&lt;br /&gt;
&lt;br /&gt;
== Vector fill bucket ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; Like the traditional bitmap fill, but this fills the area clicked out to the nearest boundary paths with a region of that area, set to the foreground color (it actually would create a new {{l|Region Layer|region layer}}). &amp;lt;p&amp;gt;Alternatively, a single-duck layer object, that performs a simple bitmap fill from its (animatable) location, with its stored color value. (This second approach is similar to the behavior of one of Softimage's TOONZ[http://www.google.com/search?q=softimage+TOONZ]'s tools)&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;If this is implemented, it will probably be necessary to change the existing &amp;quot;fill&amp;quot; tool's name and icon to a &amp;quot;color injector&amp;quot; (hypodermic needle / turkey injector icon) tool, as that's closer to describing what it does.&lt;br /&gt;
&lt;br /&gt;
*Inkscape has a very innvative version of this tool. Maybe you can just grab the code from there and integrate it in synfig? --{{l|User:SvH|SvH}} 01:37, 14 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== {{l|Dev:Redraw tool}} ==&lt;br /&gt;
&lt;br /&gt;
(4-5) &amp;amp;mdash; Intutive reshaping of path-based layers. See link.&lt;br /&gt;
&lt;br /&gt;
== [http://developer.gnome.org/projects/gup/hig/ Gnome HIG Compliance] ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; This should solve all complaints about the layout, without requiring Synfig to be &amp;quot;just like program (x)&amp;quot;. See {{l|Dev:UI Reloaded}} for progress on this.&lt;br /&gt;
&lt;br /&gt;
== Feedback for {{l|Smooth Move Tool}} ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; This tool does what a lot of folks are looking for, warping selected ducks in a &amp;quot;soft&amp;quot; fashion. But it's not very obvious what sort of effect it will have, from the tool's interface. It needs some sort of momentary center-of-action and radius indicator at the very least. Perhaps an &amp;quot;influence gradient&amp;quot; overlaid on the canvas once Synfig's core is sped up?&lt;br /&gt;
&lt;br /&gt;
== Networkability ==&lt;br /&gt;
&lt;br /&gt;
(2) &amp;amp;mdash; Like Inkscape's &amp;quot;inkboard&amp;quot; feature (using Jabber), or Blender's Verse server [http://www.blender.org/modules/verse/index.php], or OpenCanvas's Networking option. This should probably farm off all the networking stuff to the telepathy framework so that synfig doesn't have to deal with all the account/etc issues.&lt;br /&gt;
&lt;br /&gt;
== Intuitive tangent modification ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; (BBQ Pulled Duck) Inkscape has this for still handles - basically, grab a section of the spline between handles, and pull it around, the program automatically alters the tangent handles to match. What would be really neat is if you could do the same for temporal handles - be able to grab the spline between keyframes, and yank it around, and have Synfig automatically adjust the key interpolation to match. Not sure exactly what the workflow in the UI would be for this, however.&lt;br /&gt;
&lt;br /&gt;
-Agreed; blender does this with its IPO curves, and it's a really efficient way to work.&lt;br /&gt;
&lt;br /&gt;
== Plugin API ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; Would be nice to enable additional functionality to be added to the program without it necessarily needing to be in the Synfig source tree. ''According to the Synfig 0.61.01 roadmap on [http://deepdarc.com/ deepdarc.com], there is a plugin API already implemented. So instead, this may be a {{l|Wiki Wish List|Wiki Wish}} for documentation, depending on how much has already been completed. {{l|User:SnapSilverlight|Snap}} 19:57, 13 Jan 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
== Python support ==&lt;br /&gt;
&lt;br /&gt;
(1) of some sort will no doubt be demanded by the userbase eventually, for studio-specific automation of tasks, noncompiled plugins, etc. I ({{l|User:Snap|SnapSilverlight}}) don't have any particular use for it at the moment, tho'.&lt;br /&gt;
&lt;br /&gt;
I suppose to join this request with {{l|Dev:Wish_list#a_realtime_.sif_synchronized_text_window}}. We can implement python access to XML DOM and write XML Editor in python. --{{l|User:AkhIL|AkhIL}} 06:54, 30 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== mod_synfig ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; For Apache. Render .sif to some format like png/mng on access.&lt;br /&gt;
&lt;br /&gt;
== synfig nsplugin ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; Let Mozilla and Mozilla-based view synfig files in-browser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Align function ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; Align objects at a common border (as in Inkscape)&lt;br /&gt;
&lt;br /&gt;
== Improved SVG import ==&lt;br /&gt;
&lt;br /&gt;
(4) &amp;amp;mdash; Currently, all importing an SVG does is render it in ImageMagick. What I want is the ability to import the SVG document so that all the shapes, etc. of the SVG document show up as their equivilant synfig layers - i.e. if I had put them there myself. I'm trying to write a patch for this but the codebase is mostly undocumented. {{l|User:KMeist|KMeist}} 16:38, 25 Feb 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
{{l|svg2synfig}} could be incorporated using an open source XSLT processor. --{{l|User:Dmd|Dmd}} 13:34, 26 January 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
Useful would be the possibility of importing SVG sequences, just like Macromedia/Adobe Flash does with .ai sequences&lt;br /&gt;
&lt;br /&gt;
== Gradient Paint Tool ==&lt;br /&gt;
&lt;br /&gt;
How about a tool that can 'paint' a gradient object.  For example the options would be width and gradient type, one would make a stroke with the tool and the gradient would be automatically applied inside of the outline (set by width).  This would save the trouble of having to the all the encapsulation stuff. (Actually any tool that makes creating gradient one step would be good).--{{l|User:Triclops|Triclops}} 09:52, 9 Aug 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bone Animation Tools ==&lt;br /&gt;
&lt;br /&gt;
Bone system with inverse kinematics, very important for quick animation. You put bones on a drawed man and you can animate him like a puppet. I'm using that in Moho (lost marble product).--{{l|User:Ziolive|ziolive}} 23 Aug 2006&lt;br /&gt;
*I would find this very useful too. I think it is called '''rigging'''(4/5) --{{l|User:SvH|SvH}} 01:33, 14 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== AVI Backgrounds ==&lt;br /&gt;
Is there any way I can add an avi as a background so I could add facial expressions to a stop-motion animated figure. [zotz here, I was thinking DV background or extra timeline. I would like to mix animations with live footage. rating (3/4)]&lt;br /&gt;
: Already implemented for ffmpeg pipeline of ppm in svn r2161 {{l|User:Genete|Genete}} 05:36, 9 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Character tool on Tool Options Dialog ==&lt;br /&gt;
&lt;br /&gt;
I want to use the as a character generator for a TV show. By using chroma key hide the background.  Even better interface to a video overlay card with Alpha blending.&lt;br /&gt;
&lt;br /&gt;
== Collect for Publication ==&lt;br /&gt;
&lt;br /&gt;
(3/4) - (zotz) Menu item, functionality that would collect alll files referenced in a sif and place them all in a tgz for sending elsewhere or publishing animations in source form.&lt;br /&gt;
&lt;br /&gt;
== Object Library ==&lt;br /&gt;
&lt;br /&gt;
(3/4) - (zotz) Haven't thought this all through yet, but synfig could come with a library of categotrised &amp;quot;objects&amp;quot; with a copyleft license (GPL?  CC BY-SA?) An animation clip art type deal.&lt;br /&gt;
:I'd suggest this should be public domain and distributed by openclipart.org -- --{{l|User:PaulWise|pabs}}&lt;br /&gt;
&lt;br /&gt;
== Flash Export ==&lt;br /&gt;
&lt;br /&gt;
(3/4) Well, might just be me but if there was a posiblity to  export in .swf or .fla, I think the project might become a lot more popular.{{l|User:Conceit|Conceit}}&lt;br /&gt;
&lt;br /&gt;
(4/5) I wholeheartedly agree. I would definitely use synfig more if this feature were added and it would most definitely increase popularity. {{l|User:cdj05a|cdj05a}}&lt;br /&gt;
&lt;br /&gt;
(4[me]/5[others]) Definitely would love flash export. There is no well maintained Flash animation studio that is Open Source. To have Synfig become that along with all that it already is would be absolutely wonderful. You'd also possibly add to your user base all the flash animators out there that don't want to pay Adobe. Some people would only want it for the flash animation hence the 5 for others. {{l|User:jblandrum|jblandrum}}&lt;br /&gt;
&lt;br /&gt;
This can be simply done from a python plugin could use SwfTools for converting temporary exported data into .swf file - not very hard thing to do - the information used from SwfTools is very simple to be created, such as simple .swf files are.&lt;br /&gt;
&lt;br /&gt;
== Single window ==&lt;br /&gt;
&lt;br /&gt;
Depending on individual desktop setups, single window is sometimes preferable to many  windows. Can we have a single-window option?&lt;br /&gt;
&lt;br /&gt;
Also, even with many windows, Windows-users especially might find it better if all the windows only appeared as a single one on the taskbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Export Wizard ==&lt;br /&gt;
&lt;br /&gt;
(2/4) Conversion and export to other file formats (mpg, avi, flash formats, others, and the synfig format) with a step by step wizard for choosing format and place of saving. Similar to Gimp's saving of .png files but for movie/video type files. --&lt;br /&gt;
{{l|User:Hiddenghost|hiddenghost}}&lt;br /&gt;
&lt;br /&gt;
== Using Synfig as a portable app ==&lt;br /&gt;
&lt;br /&gt;
(3) This isn't really a feature request (though it could be) but I was wondering if synfig could be used as a portable application (as in www.portableapps.com). Does the windows install require registry access? i really want to use Synfig at work, but I'm reluctant to install it just in case it leave footprints in the regisitry or something, and it would be sweet to use it on my travels as well. Only thing is, I can't test it out at home because I am using Linux.&lt;br /&gt;
See also: http://portableapps.com/node/5761&lt;br /&gt;
{{l|User:Zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
This isn't currently possible without modifying the source code. That has been on my TODO list for ages {{l|User:PaulWise|pabs}} 01:17, 26 October 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allow organize child valuenodes in an hierarchy ==&lt;br /&gt;
(3-2) And allow maintain the organization once the file is saved. At the moment they are reordered in alphabetical order which is useless and annoying.&lt;br /&gt;
&lt;br /&gt;
== Triangle sliders to be always visible ==&lt;br /&gt;
(3) I would like that the triangle sliders from {{l|Colors Dialog}} and {{l|Gradient Editor Dialog}} were visible whatever color or channel you're editing. Some times when the color or channel is to bright or light the slider is difficult to distinguish. --{{l|User:Genete|Genete}} 14:30, 29 October 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
== XICC support ==&lt;br /&gt;
&lt;br /&gt;
It would be cool if synfigstudio had support for [http://burtonini.com/blog/computers/xicc XICC].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Area to Edit ==&lt;br /&gt;
&lt;br /&gt;
An option like blender - select area to update would be nice, so the only part of the image that updates when you add or change something is in the selected area&lt;br /&gt;
&lt;br /&gt;
ie. when working on a complex composition, studio doesn't know, when I tweak a tiny part of the composition, that only that part needs redrawing, so it redraws the whole thing.  It would be good if there was some way of telling it which part to focus on. -- {{l|User:Dooglus|dooglus}} 04:02, 3 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Histograms ==&lt;br /&gt;
&lt;br /&gt;
 01:23  * AkhIL wish to have histograms and luma/color scope like [http://mac.softpedia.com/progScreenshots/Avid-Xpress-DV-Screenshot-14207.html] in synfig&lt;br /&gt;
&lt;br /&gt;
I've looked at those pictures but don't know what they're showing.  Can you describe what those scopes are doing, and what the histograms display?  ie. what are the X and Y axes of the histograms? -- {{l|User:Dooglus|dooglus}} 04:07, 3 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
First look this description in blender wiki [http://wiki.blender.org/index.php/Manual/VSE_Modes]&lt;br /&gt;
&lt;br /&gt;
Ok There is four things.&lt;br /&gt;
* Upper left is Lumascope (Luma Waveform in blender). X-Axis represents image's X-Axys. Y-Axis  is average luminescence of column of pixels.&lt;br /&gt;
* Upper right is Chromascope (Chroma Vectorscope in blender). Just look description on blender wiki.&lt;br /&gt;
* Lower left is like Lumascope but for each channel &lt;br /&gt;
* Lower right is histograms. X is luminescence and Y is count of pixels with such luminiscence.&lt;br /&gt;
&lt;br /&gt;
== Sound Layer ==&lt;br /&gt;
&lt;br /&gt;
(4) It would be a very good improvement if the sound system were implemented into synfig in {{l|Dev:Sound Layer | this}} way. --{{l|User:Genete|Genete}} 07:46, 8 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Rearrange the view of waypoints for Canvas param ==&lt;br /&gt;
As reported in [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1888858&amp;amp;group_id=144022&amp;amp;atid=757416 Bug #1888858] waypoints are not displayed for canvas switch events.&lt;br /&gt;
I suggest to rearrange waypoints display according to {{l|Media:Canvas_prop.png|this scheme}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Width weigths ==&lt;br /&gt;
Is it possible to add &amp;quot;weigths&amp;quot; for widths? ^_^ I.e. width changes not all the way along the segment. Maybe something like a duck on bline which indicates the region where the width of current vertex isn't changed.&lt;br /&gt;
{{l|Media:width-proposal.png|Illustration here.}}&lt;br /&gt;
&lt;br /&gt;
More ideas around this concept in [http://dooglus.rincevent.net/synfig/logs/2008/%23synfig-2008-04-16.log this conversation]. Although the log of that day is very interesting the lines related to this idea are from 22:38 to 23:43. {{l|User:Genete|Genete}} 17:51, 16 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improved Colour Dialog ==&lt;br /&gt;
How easy is it to stick in a colour square/wheel? Messing with sliders is somewhat obstructive.&lt;br /&gt;
&lt;br /&gt;
== Insert Waypoints ==&lt;br /&gt;
A button to create a waypoint for every selected duck, in its current position. Moving each duck up a bit and down again quickly gets tedious.&lt;br /&gt;
:If the duck in question has already a waypoint then you don't need to move it to create a new waypoint. Just select the corresponding parameter in your child list panel and select 'Add Waypoint' from the right click context menu over the parameter. No need to have the duck selected. If you want to freeze the entire bline just do that over the Bline Point List. {{l|User:Genete|Genete}} 07:48, 29 April 2008 (EDT)&lt;br /&gt;
::Yes, but it would be nice to have opportunity to add waypoint to parameer which not have any ducks yet (i.e. non-animated parameter). --{{l|User:Zelgadis|Zelgadis}} 08:33, 29 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Automatically split tangeants ==&lt;br /&gt;
&lt;br /&gt;
Holding shift while moving tangeant ducks should automatically split them. They can be rejoined if necessary through the context menu as they are now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A way to link params without exporting ==&lt;br /&gt;
I need a way to link params with different names without exporting. It is possible to achive by manualy editing of sif file. But inposible by gui. I will be nice to have linking by drag-n-drop. Or just by selecting reference param, pushing copy button, selecting another param and bushing link button. ---{{l|User:AkhIL|AkhIL}} 21:47, 30 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Allow select the origin of rotation when using the Rotate Tool ==&lt;br /&gt;
&lt;br /&gt;
It can be initially set to the geometrical center of the selected ducks or the gravity center depending of the selected checkboxes in the tool options panel. Later the user could move it before perform the rotation operation. It is a waste of time to rotate and translate the ducks every time a rotation manipulation is done. ---{{l|User:Genete|Genete}} 12:16, 4 June 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:I was adding this request at the same time than you Genete :-). Here is an example of how this issue is solved in Inkscape:&lt;br /&gt;
&lt;br /&gt;
:{{l|Image:rotate-tool-inkscape.png|center}}&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:Yaco|Yaco}}&lt;br /&gt;
&lt;br /&gt;
== Labels for rows in the Timetrack window [1]==&lt;br /&gt;
The rows in the timetrack palette and the parameters palette are obviously related, doing a scroll in the Timetrack window with the mouse makes the parameters window scroll. &lt;br /&gt;
&lt;br /&gt;
It's be nice to have the rows labeled with the corresponding label from the parameters palette, and to have the &amp;quot;list&amp;quot; parameter at the top of the time track window, with the possibility of dragging them around to move them up or down, personally I would prefer the &amp;quot;list&amp;quot; to be up the top so I can see the keyframes I'm making. &lt;br /&gt;
&lt;br /&gt;
{{l|Image:Stencil 3.jpg|center}}&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
:Is this what you want? Just arrange the dock able dialogs as you need. {{l|User:Genete|Genete}} 10:03, 30 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:{{l|Image:Params-TimeTrack.png}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
yeah, that works. Cheers :) :---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Non-symetrical but &amp;quot;smooth&amp;quot; tangents on ducks ==&lt;br /&gt;
Add another mode for duck tangent, where the tangent can have different radius, but keep the same angle. (a &amp;quot;split tangents (radius only)&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dockable windows ==&lt;br /&gt;
The current GUI is a pain in the rear by not complete covering the desktop and it's showing 5 tabs instead of  usual one tab so it's frustrating to switch windows if you running more than one software. (windows version)&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
== Combining the installations files ==&lt;br /&gt;
This is the most common problem that the user will face when trying to running program for the first time since the user needs to install 4 files instead of one. This common problem needs to be fixed.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
== A Particle Tool/Particle Object Editor ==&lt;br /&gt;
I  thought it might be interesting to add a Particle tool that is intuitive. Genete's script is amazing and I am sure I will do a lot of things with it once I have a chance to sit down and figure it out, but if there were a way to make it into tool with all the settings on sliders, it would be much easier. His script adds endless possibilities of nice effects to make animations look better. I personally rate this rather high. 3.5/5&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:richardwad1|richardwad1}}&lt;br /&gt;
&lt;br /&gt;
== A programation language as code behind like python, ruby or any ==&lt;br /&gt;
Code behind should be important to program the animation or events associated, programers and designers could work in a colaborative workspace and make applications with richfull content on desktop applicactions or web applications like expression blend or macromedia flash CS.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:nickholai|nickholai}}&lt;br /&gt;
&lt;br /&gt;
== Embedding animation on web applications ==&lt;br /&gt;
Like Macromedia Flash, it seems to require a plug in for internet explorer or firefox diferent as silverlight or flash, open source and &amp;quot;software libre&amp;quot; projects are working on animation but using the flash plug in, this wish needs a free plug in.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:nickholai|nickholai}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This seems a bit confusing; why do you want a plug in for synfig? When we add the import and export swf. file feature, it will use the flash plug in. Besides the flash player program is free, so you don't have to pay anything.  I find that this feature is useless until you explain to us better why you think this software needs a plug-in.&lt;br /&gt;
&lt;br /&gt;
Create a thread in the synfig forum if you want to continue to talk about this. We're listening.&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
== Split Tangent indicator ==&lt;br /&gt;
&lt;br /&gt;
Its hard to tell if a tangent is split or not without clicking on it (either to use the context menu, or move a duck). All of the ducks should change to another shape (eg a square) for a quick visual indication of a ducks state.&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Guide lines ==&lt;br /&gt;
&lt;br /&gt;
Guide lines that can be dragged from the side (like in the Gimp) would be very &lt;br /&gt;
useful.&lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Progress indicators ==&lt;br /&gt;
&lt;br /&gt;
Eg % complete in opening file, pop-up window which indicates how many frames are rendered of a render, eg &amp;quot;rendering 10 of 999&amp;quot; that can be closed/ignored if needed. &lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Improve the Timeline ==&lt;br /&gt;
&lt;br /&gt;
I know, this is one hell of a wish, but, as in all, i think that is best if you think in the ideals conditions and then you downgrade into what is possible to achieve in a reasonable period of time.&lt;br /&gt;
&lt;br /&gt;
:D greetings!!&lt;br /&gt;
&lt;br /&gt;
[4] Normal mode // [4] Layer mode // [4] Secuence mode &lt;br /&gt;
&lt;br /&gt;
.I think that this modes are three diferent windows layout, therefore the hability to create new and save different windows layout, should be the first to do in order to achieve this three modes.&lt;br /&gt;
&lt;br /&gt;
{{l|Image:Timeline-normal-mode-explained.jpg|200px}} {{l|Image:Timeline-layer-mode-explained.jpg|200px}} {{l|Image:Timeline-secuence-mode-explained.jpg|200px}}&lt;br /&gt;
&lt;br /&gt;
(click to enlarge)&lt;br /&gt;
&lt;br /&gt;
02/01/2009 {{l|User:Belifilmaker|Belifilmaker}}&lt;br /&gt;
&lt;br /&gt;
== Lockable Layers ==&lt;br /&gt;
I would use them all of the time.&lt;br /&gt;
{{l|User:Zenoscope|Zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Vector Objects ==&lt;br /&gt;
Represent objects (ie. circles, rectangles, regions, outlines, etc) as a new type of element. These objects exist as childs of some layer. The layer then takes care of rendering these objects to a raster. Currently layers do both things, represent objects and render them.&lt;br /&gt;
&lt;br /&gt;
Having objects as a seperate entity would allow defining operations between them. For example:&lt;br /&gt;
* Take two region objects and find the union of their regions. This would produce a vector representation of the resulting region (ie. Bline) which in turn can be used for other operations (ie. link vertex to Bline).&lt;br /&gt;
* Apply transformation to a vector object producing a vector object as a result which can be further processed.&lt;br /&gt;
* Trace a {{l|Media:Smooth_silhoutte.png|smooth silhoutte}} around a set of vector objects.&lt;br /&gt;
* Slice an animated vector object into pieces and be able to move the pieces around (while preserving the original animation). Would be useful for reflection on a broken glass effect.&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:Yoyobuae|Yoyobuae}}&lt;br /&gt;
&lt;br /&gt;
== Free drawing ==&lt;br /&gt;
&lt;br /&gt;
I wish the synfig have ability to do paintings like with brush and eraser. Imagine: you painting over Paste canvas, and synfig automatically creates shapes inside this Paste canvas layer, doing necessary boolean operations and linking between them. So they don't overlap. This would allow flash-like workflow, which is very suitable for newbies. {{l|Dev:Free Drawing|Discussion.}} --{{l|User:Zelgadis|Zelgadis}} 15:27, 9 April 2009 (EDT)&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Wish_list&amp;diff=11781</id>
		<title>Dev:Wish list</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Wish_list&amp;diff=11781"/>
				<updated>2010-03-08T22:00:38Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* Python support */ Fix dev link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TranslationBar|CONTENT={{Tr/en}} · {{Tr/fr}}}}&lt;br /&gt;
&lt;br /&gt;
'''''Warning''''': We need more people working on the code if we are going to be able to achieve all the feature requests.&lt;br /&gt;
&lt;br /&gt;
Got a great idea for a new feature? Just add it here, or on the [http://sourceforge.net/tracker/?group_id=144022&amp;amp;atid=757419 feature requests tracker]. Before you do, please check the [https://synfig.svn.sourceforge.net/svnroot/synfig/ETL/trunk/TODO etl], [https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-core/trunk/TODO synfig] and [https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-studio/trunk/TODO synfigstudio] TODO files for similar ideas. Please add a rating of how essential this feature is to your workflow according to the following scale:&lt;br /&gt;
&lt;br /&gt;
#&amp;quot;Well, it might be nifty. To someone.&amp;quot;&lt;br /&gt;
#&amp;quot;I probably would make use this&amp;quot;&lt;br /&gt;
#&amp;quot;It's not essential, but I'd really like to have this at my disposal.&amp;quot;&lt;br /&gt;
#&amp;quot;Synfig would be soooo much better with this change&amp;quot;&lt;br /&gt;
#&amp;quot;I can't/won't use Synfig without it!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
Please clean this section up as desired.&lt;br /&gt;
&lt;br /&gt;
* A different color dialog for picking/changing colors easier.&lt;br /&gt;
** A color wheel like inkscape has (or the same) [done]&lt;br /&gt;
** Swatch menu from gimp with .gpl files.&lt;br /&gt;
* Workflow improvements, like content help and ui-refinement.&lt;br /&gt;
** set the fine line between design and animation work.&lt;br /&gt;
** Greet the user at startup, give hints and help in the ui to better the usability and user-experience.&lt;br /&gt;
* test synfig cross-platform (Linux, Windows, Mac)&lt;br /&gt;
* Installer for windows [done]&lt;br /&gt;
* Pluggable App (run from memory stick)&lt;br /&gt;
* make a short film about synfigs capabilitys in a starwars kind of spaceship setting as promo video about 3 minutes long.&lt;br /&gt;
* Sound layer&lt;br /&gt;
* full tablet support&lt;br /&gt;
* small set of vector contend for fast animation results&lt;br /&gt;
* Help is available as pdf-file and distributed with the program&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Input:'''&lt;br /&gt;
* Import rastergraphics png, jpg, tif [done]&lt;br /&gt;
* Import vectorgraphics (svg,fig)&lt;br /&gt;
&lt;br /&gt;
'''Output:'''&lt;br /&gt;
* Render output to animated gif [done]&lt;br /&gt;
* Render output to png, bmp, OpenEXR [done]&lt;br /&gt;
* Render output to [http://animatedpng.com/ animated PNG]&lt;br /&gt;
* Export vectorgraphics (svg,fig)&lt;br /&gt;
&lt;br /&gt;
== Interchangeable/customizing Splash screen ==&lt;br /&gt;
[3] GIMP has this feature of letting users [http://docs.gimp.org/2.2/en/using-customize-splashscreen.html|customize GIMP's splash screen]. GIMP looks for &amp;lt;code&amp;gt;'''samples'''&amp;lt;/code&amp;gt; directory under &amp;lt;code&amp;gt;'''.gimp-2.x'''&amp;lt;/code&amp;gt; then randomly picks a picture from it to become the spash image.&lt;br /&gt;
&lt;br /&gt;
This will also help GNU/Linux distro, like Ubuntu, to adopt Synfig and put their logo on the splash screen.&lt;br /&gt;
&lt;br /&gt;
Also, official Synfig distribution can pack sample arts created by other artists to be randomly displayed -- like the synfig.org's title's background image.&lt;br /&gt;
&lt;br /&gt;
== Verbosity levels for error output ==&lt;br /&gt;
&lt;br /&gt;
Synfigstudio needs verbosity levels for the error output. Levels are info, warning and error. Make sure, to spew out only errors when something nasty happens. If someone wants to know all what happens in synfigstudio, the user should activate a higher level of verbosity with the command line switch --verbose=all,info,warning&lt;br /&gt;
&lt;br /&gt;
== Usage screen for new users ==&lt;br /&gt;
&lt;br /&gt;
Synfig and Synfigstudio need a usage screen, which helps a new user to type in the right syntax on the command line. Any switch not known to the program should point to the usage screen. On the bottom of the usage screen could be a hint: &amp;quot; For more help use synfig --help&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Keyboard shortcuts for panning ==&lt;br /&gt;
&lt;br /&gt;
The navigation and canvas windows need shortcut keys that pan the canvas view horizontally and vertically. Probably just the arrow keys would work for this, as well as the home/end/pageup/pagedown keys. Ctrl and shift variants could make the panning more or less.&lt;br /&gt;
: You can pan with a middle mouse button. --{{l|User:Zelgadis|Zelgadis}} 00:59, 24 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Linking Zoom layer to Paste Canvas ==&lt;br /&gt;
&lt;br /&gt;
[3] It is impossible to link Center of Zoom layer to Origin of Paste Canvas without exporting a value. It often needed for pans &amp;amp; zooms. Suggestion: rename &amp;quot;Center&amp;quot; parameter of Zoom Layer to the &amp;quot;Origin&amp;quot;. Will improve the workflow. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
== Convert Strings ==&lt;br /&gt;
[4] It could be very good to have feature to represent Convert sequences as strings and vice versa - make convert sequences from strings. Example: To produce this convert sequence: &lt;br /&gt;
&lt;br /&gt;
{{l|Image:WishList-ConvertStrings.png}}&lt;br /&gt;
&lt;br /&gt;
I just right-click on &amp;quot;Origin&amp;quot; parameter and choosing &amp;quot;String Convert&amp;quot; menu item. In the appeared dialog I just entering: &amp;quot;=Composite(Scale(x, Switch(scalar, 1.0, 0)), y)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Also if I clicking on the parameter already containing convert sequence and choosing &amp;quot;String Convert&amp;quot;, it shows string representation of current convert sequence with an ability to edit.&lt;br /&gt;
&lt;br /&gt;
This feature will make possible to easy copy convert sequences from one parameter to another.  --{{l|User:Zelgadis|Zelgadis}} 03:46, 2 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Non scalable timeline ==&lt;br /&gt;
[3] It should be useful for me to have non scalable timeline. It's hard to set timing when the distance between frames is always different in different documents and in different situations. Suggestion: make a non-scalable mode for timeline, where 1 second interval is always the same. Will improve the workflow. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
==Smart linking of tangents==&lt;br /&gt;
[4] As described in {{l|Sewing BLines}}, when linking red tangent to yellow they are placed opposite against each other. This is normal from the program's point of view, but not normal for new users. Even more, to avoid this effect user needs to made some complex steps (see {{l|Sewing BLines#Solution}}). It takes a lot of time if we vahe lot of verticles to sew their tangents.&lt;br /&gt;
&lt;br /&gt;
Suggestion:&lt;br /&gt;
* When linking tangents with the same color, program should act as usual.&lt;br /&gt;
* When linking tangents with different color program should automaticaly add Convert-&amp;gt;Scale (-1) to avoid their opposite placement.&lt;br /&gt;
To allow linking two tangents in opposite position, I suggest to add a new menu option for tangents &amp;quot;Link Opposite&amp;quot;. When linking two tangents with this option:&lt;br /&gt;
* When linking tangents with the different color, program should act as it acts now - no additional converts added.&lt;br /&gt;
* When linking tangents with the same color program should automaticaly add Convert-&amp;gt;Scale (-1) to plcae them opposite against each other.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
==Movement blur effect==&lt;br /&gt;
To make the motion most realistic for movies, it should be possible to activate in the render dialog the option to smear the border of all objects, which move faster than a given value. For example, if a ball gets shot over the canvas/rendering-screen with speed over 50 px/frame it should have a blurry streak attached. This effect could be applied only at rendering time as an after-effect. --{{l|User:SvH|SvH}} 09:50, 28 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:There is a {{l|Motion Blur Layer}} that you can apply to the entire document or to the layers you want. It allows to turn the blur effect on and off during animation. I think it is more flexible that your proposal. {{l|User:Genete|Genete}} 10:13, 28 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
==Morph sets==&lt;br /&gt;
This feature is similar to some other suggestions below, just with another way to approach. In animations are many movements, which can be put in some kind of library, to make use of at a later time. For example, movements to animate the key moments of a mouth, sampling syllables. For vector graphics, it should be possible to define some key points, which move just a small amount of space, to form another syllable. These syllables in this example, should be stored in a drop down list, to be able to select them for the key time on the timeline.&lt;br /&gt;
A morph-set for walking-left-to-right is different from a morph-set for a mounth, which has as options a,e,i,o,u,bah-disgust,happy-smile. The morph-set has to be stored as vector coordinates in a relative way(offset), e.g. X1=+212,+34;X2=-56,-23;X3=+3,-88;&lt;br /&gt;
&lt;br /&gt;
To make use of the morph-set for the mouth, you have to define first, which vector points in your drawn mouth, correspond to the key-points of your morph-set. X1, X2, X3, Xn&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 06:53, 27 May 2008 (EDT)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Render time approximation==&lt;br /&gt;
Synfigstudio should get a button in the render dialog, which calculates the total render time for the actual settings (frames per second, length of the film, resolution, output format) It should testrender 1 picture, when the amount of total frames is below 1000. Over 1000 frames, it should testrender 10 pictures for more precise calculation.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 12:49, 22 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
==Smartrendering==&lt;br /&gt;
I have made 25,000 small png-pictures with my 800Mhz computer in about 45 minutes. Synfigstudio did calculate each single frame of it. Nothing changed in this picture, so it does only need to get written to disk for the amount of pictures, until the next change (animation) has an effect on the output picture. This should save time for bigger projects with thousands of pictures. With smartrendering it is also possible to predict the total amound of space in Megabytes (Mibibytes) of the final render of the movie. It should calculate how much it needs and see, if enough space is free on the harddisk before the rendering get started.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 12:49, 22 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== get_color method in text and radial blur ==&lt;br /&gt;
&lt;br /&gt;
[5] Without get_color method distorion produces artifacts &lt;br /&gt;
[http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1831355&amp;amp;group_id=144022&amp;amp;atid=757416 bug  1831355]. So I would like to get this problem fixed before doing something else. --{{l|User:AkhIL|AkhIL}} 22:41, 1 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Full functional of group dialog ==&lt;br /&gt;
&lt;br /&gt;
[5] Group dialog is broken now [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1796833&amp;amp;group_id=144022&amp;amp;atid=757416 bug 1796833]. So we should get old features work right before making new one. --{{l|User:AkhIL|AkhIL}} 22:41, 1 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== import/export .swf files ==&lt;br /&gt;
&lt;br /&gt;
very important productivity feature&lt;br /&gt;
&lt;br /&gt;
== import/export .svg frames sequence, and/or .svg animations ==&lt;br /&gt;
&lt;br /&gt;
very important productivity feature&lt;br /&gt;
&lt;br /&gt;
== a realtime .sif synchronized text window ==&lt;br /&gt;
&lt;br /&gt;
just like the xml editor of Inkscape, or the html editor in Dreamweaver (this is hugelly useful for productivity)&lt;br /&gt;
&lt;br /&gt;
I thinks scripting API can be implement in this way. For example you make XML DOM like implementation for python which alows to change DOM tree from python code and see chenges in canvas. By this way you can implement import/export scripts. Automation scripts. And a lot of different things. Even synchronization of animation between blender and synfig. --{{l|User:AkhIL|AkhIL}} 23:10, 26 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== choosing colour from gimp/inkscape palettes ==&lt;br /&gt;
&lt;br /&gt;
very useful when you need some colour comformity of what you're doing &lt;br /&gt;
&lt;br /&gt;
== Good high-level documentation of the source code ==&lt;br /&gt;
&lt;br /&gt;
(2) It'd be nice if a newbie could quickly navigate around the source code. The best thing to do would be to add top-level comments in each file, explaining what that file does, a README.TXT in each directory, explaining what's in that directory. This would be pretty fast and easy to do, and make it much easier for new programmers to join. &lt;br /&gt;
&lt;br /&gt;
Time permitting, it would also be good to document on a high level what the data structures are, but that's harder, since those tend to evolve, and it is often difficult to keep in sync. It would also be useful to document what individual functions do (just a one-liner high-level description), but that also takes more time.&lt;br /&gt;
: There is a page link in the wiki that connect to the [http://www.synfig.com/doc Synfig API Documentation]. I think this link should be highlighted to be more accessible for newbies contributors and mature developers (the link was found {{l|Releases/DeveloperPreview#Support | here}}). --{{l|User:Genete|Genete}} 10:02, 11 December 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
== Mathematical functions to animate ==&lt;br /&gt;
(2/4) If you want to make a waving flag, it would be handful a sine function, tuned with random correctors, for example. &lt;br /&gt;
: -This should generate waypoints each 1, 2, 4 frames or any other step at artist's wish.&lt;br /&gt;
: -When applying a function you can add it to current values, add it to 1st frame values or simply override old values. Perhaps other options (such multiplication) would be fine, too. Something like texture editor in [http://www.artofillusion.org Art of Illusion], perhaps.&lt;br /&gt;
Perhaps it would be useful reusing the [http://www.gnu.org/software/octave/ Octave] source code to parse mathematical expressions.&lt;br /&gt;
I have rated this wish with a '2' because undoubtly many users will not be familiar to mathematical concepts, but for those who will be, I'd rate it with a 4. It would be possible to make a ball describing a parabolic moving in no time.&lt;br /&gt;
{{l|User:ajotatxe|ajotatxe}} 20 November 2007&lt;br /&gt;
: dooglus can probably chime in better than I here (see his example of balls on mathematical paths at http://uk.youtube.com/watch?v=YTpSfUthuVE ), but I believe that this is already possible.  Synfig does support a variety of mathematical transforms for parameters, although the way you do this is by no means intuitive.  (You might also want to check out the preambletaffy.sifz example for an easier approach to a waving flag. I know you were just using that as an example, but for the record...) {{l|User:Pxegeek|Pxegeek}} 00:58, 21 November 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
: I'd also rate it with a (4) (and updated the rating accordingly), not for this special case, but to make many workarounds much easier.  Simulating [Parabolic Shot|free fall], for example, would be a lot easier with real formulas.  I don't know, though how easy it will be to implement, maybe waiting for a scripting interface to be implemented is better than hacking this feature in an ad-hoc manner.  --{{l|User:Rubikcube|Rubikcube}} 16:38, 29 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Warning about editing bizarre things in animate editing mode ==&lt;br /&gt;
(3.5) It seems to have little sense animate certain things like Blend Method or Type of Feather. It would be very nice that the program asked comfirmation if you change these attributes in animate editing mode. If you do want to, you would have three options: &amp;quot;Yes, never ask&amp;quot;, &amp;quot;Yes, never ask for this attribute&amp;quot;, &amp;quot;No&amp;quot;. I guess that internally, this attributes has integer type (or something like that) and the attributes that you normally want to animate, float type, so I think that this feature is relatively easy to implement. My English is not very good, so please feel free to fix this post.&lt;br /&gt;
{{l|User:ajotatxe|ajotatxe}} 20 November 2007&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bones with FK &amp;amp; IK + grouping of objects into folders ==&lt;br /&gt;
&lt;br /&gt;
(5) Bones cane move specific vector assigned to them or the bones can have envelopes that move the vectors within their field of influence, much Like Anime Studio/Moho does. It's quite a time saving process of animating. Objects created can be saved into separate groups or folders using the same system as Anime Studio/Moho -Shadowphoenix 27/8/2007&lt;br /&gt;
&lt;br /&gt;
== Animated sketch ==&lt;br /&gt;
&lt;br /&gt;
(5) it would be great, if the tool Sketch was animatable (for example, in a form of a special sketch-layer). --Zelgadis 2007-06-14&lt;br /&gt;
&lt;br /&gt;
: For now as a workaround we could use animation program called Pencil. See {{l|Related Projects}} page. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
: So, currently it could be achieved by using other software, but integration with synfig is poor, cause it requires importing a movie through a sequence of images. This is not intuitive and not obvious for new users. It will be good if synfig will have it implemented like [url=http://www.blender.org/development/release-logs/blender-248/grease-pencil/]blender's Grease Pencil[/url]. This feature will improve workflow, make synfig usable for frame-by frame animation (it is intuitive way of learning animation and powerful tool for producing preproduction work like animatic). --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
: It would be nice to also implement the onion peel feature, where you can see the frame before or after, and/or selectable keyframes if this is included. An example can be seen in the program Pencil--{{l|User:richardwad1|richardwad1}}&lt;br /&gt;
&lt;br /&gt;
== Duck for Amount value in Zoom layer ==&lt;br /&gt;
&lt;br /&gt;
(2) It would be nice if Amount value in Zoom layer was controlled by additional duck. --{{l|User:Zelgadis|Zelgadis}} 02:49, 29 December 2007 (EST)&lt;br /&gt;
: I found that I can better use Warp layer instead of Zoom to change size. But it'd be nice to have Amount duck for Zoom layer anyway...&lt;br /&gt;
:: The Amount parameter works exponentially; each time you add 1 to the Amount, the image is zoomed by a further factor of e (= 2.71828 or so).  Would a duck be any use if it just controlled the value of Amount in a linear way?&lt;br /&gt;
:: Workarounds include: export Amount, select it in the children dialog.  Whatever's selected in the children dialog shows a duck.  You can adjust it using that duck.&lt;br /&gt;
:: Also, if you use a Stretch layer, convert the Amount to Composite, export the X-Axis and connect it to the Y-Axis, then you have a duck-controllable fixed-aspect zoom. -- {{l|User:Dooglus|dooglus}} 15:32, 15 January 2008 (EST)&lt;br /&gt;
::: Yeah I found this workaround, but it's to much actions - i prefer better use Warp or Stretch layers. Why not the link Amount duck and Amount value with logarithmic function? ;) --{{l|User:Zelgadis|Zelgadis}} 10:33, 17 January 2008 (EST)&lt;br /&gt;
::::{{l|Convert#Logarithm|Logarithm}} convert type for real parameters exists since svn 2034. {{l|User:Genete|Genete}} 10:17, 30 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Automatic colour palette optimisation ==&lt;br /&gt;
&lt;br /&gt;
(0) it would be nice to use libcontrast [http://david.navi.cx/blog/?p=132] [http://david.navi.cx/blog/?p=94] [http://david.navi.cx/blog/?p=99] [http://svn.gnome.org/svn/xchat-gnome/trunk/src/libcontrast/] to automatically adjust selected or all the palette items for best visual contrast. It would also be interesting to have a layer that uses this code to filter the image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbitrary Color Channels ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; The ability for the user to create any number of custom channels for various purposes.&lt;br /&gt;
&lt;br /&gt;
== Autorecover History ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; It would be great if autorecover could also recover the associated history of a file in the event of a crash.&lt;br /&gt;
&lt;br /&gt;
== Layer Convert ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;(4)&amp;lt;/strike&amp;gt; (2) &amp;amp;mdash; The original intent of this feature request has been solved and documented - {{l|How_do_I#Fill_an_outline.3F|How do I....Fill an Outline?}} - but it would still be nice to have a way to convert one sort of path layer to another. ''(Downgraded to level 2) {{l|User:SnapSilverlight|Snap}} 12:32, 17 Jan 2006 (PST)''&lt;br /&gt;
&lt;br /&gt;
== Vector fill bucket ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; Like the traditional bitmap fill, but this fills the area clicked out to the nearest boundary paths with a region of that area, set to the foreground color (it actually would create a new {{l|Region Layer|region layer}}). &amp;lt;p&amp;gt;Alternatively, a single-duck layer object, that performs a simple bitmap fill from its (animatable) location, with its stored color value. (This second approach is similar to the behavior of one of Softimage's TOONZ[http://www.google.com/search?q=softimage+TOONZ]'s tools)&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;If this is implemented, it will probably be necessary to change the existing &amp;quot;fill&amp;quot; tool's name and icon to a &amp;quot;color injector&amp;quot; (hypodermic needle / turkey injector icon) tool, as that's closer to describing what it does.&lt;br /&gt;
&lt;br /&gt;
*Inkscape has a very innvative version of this tool. Maybe you can just grab the code from there and integrate it in synfig? --{{l|User:SvH|SvH}} 01:37, 14 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== {{l|Dev:Redraw tool}} ==&lt;br /&gt;
&lt;br /&gt;
(4-5) &amp;amp;mdash; Intutive reshaping of path-based layers. See link.&lt;br /&gt;
&lt;br /&gt;
== [http://developer.gnome.org/projects/gup/hig/ Gnome HIG Compliance] ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; This should solve all complaints about the layout, without requiring Synfig to be &amp;quot;just like program (x)&amp;quot;. See {{l|UI Reloaded}} for progress on this.&lt;br /&gt;
&lt;br /&gt;
== Feedback for {{l|Smooth Move Tool}} ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; This tool does what a lot of folks are looking for, warping selected ducks in a &amp;quot;soft&amp;quot; fashion. But it's not very obvious what sort of effect it will have, from the tool's interface. It needs some sort of momentary center-of-action and radius indicator at the very least. Perhaps an &amp;quot;influence gradient&amp;quot; overlaid on the canvas once Synfig's core is sped up?&lt;br /&gt;
&lt;br /&gt;
== Networkability ==&lt;br /&gt;
&lt;br /&gt;
(2) &amp;amp;mdash; Like Inkscape's &amp;quot;inkboard&amp;quot; feature (using Jabber), or Blender's Verse server [http://www.blender.org/modules/verse/index.php], or OpenCanvas's Networking option. This should probably farm off all the networking stuff to the telepathy framework so that synfig doesn't have to deal with all the account/etc issues.&lt;br /&gt;
&lt;br /&gt;
== Intuitive tangent modification ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; (BBQ Pulled Duck) Inkscape has this for still handles - basically, grab a section of the spline between handles, and pull it around, the program automatically alters the tangent handles to match. What would be really neat is if you could do the same for temporal handles - be able to grab the spline between keyframes, and yank it around, and have Synfig automatically adjust the key interpolation to match. Not sure exactly what the workflow in the UI would be for this, however.&lt;br /&gt;
&lt;br /&gt;
-Agreed; blender does this with its IPO curves, and it's a really efficient way to work.&lt;br /&gt;
&lt;br /&gt;
== Plugin API ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; Would be nice to enable additional functionality to be added to the program without it necessarily needing to be in the Synfig source tree. ''According to the Synfig 0.61.01 roadmap on [http://deepdarc.com/ deepdarc.com], there is a plugin API already implemented. So instead, this may be a {{l|Wiki Wish List|Wiki Wish}} for documentation, depending on how much has already been completed. {{l|User:SnapSilverlight|Snap}} 19:57, 13 Jan 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
== Python support ==&lt;br /&gt;
&lt;br /&gt;
(1) of some sort will no doubt be demanded by the userbase eventually, for studio-specific automation of tasks, noncompiled plugins, etc. I ({{l|User:Snap|SnapSilverlight}}) don't have any particular use for it at the moment, tho'.&lt;br /&gt;
&lt;br /&gt;
I suppose to join this request with {{l|Dev:Wish_list#a_realtime_.sif_synchronized_text_window}}. We can implement python access to XML DOM and write XML Editor in python. --{{l|User:AkhIL|AkhIL}} 06:54, 30 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== mod_synfig ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; For Apache. Render .sif to some format like png/mng on access.&lt;br /&gt;
&lt;br /&gt;
== synfig nsplugin ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; Let Mozilla and Mozilla-based view synfig files in-browser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Align function ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; Align objects at a common border (as in Inkscape)&lt;br /&gt;
&lt;br /&gt;
== Improved SVG import ==&lt;br /&gt;
&lt;br /&gt;
(4) &amp;amp;mdash; Currently, all importing an SVG does is render it in ImageMagick. What I want is the ability to import the SVG document so that all the shapes, etc. of the SVG document show up as their equivilant synfig layers - i.e. if I had put them there myself. I'm trying to write a patch for this but the codebase is mostly undocumented. {{l|User:KMeist|KMeist}} 16:38, 25 Feb 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
{{l|svg2synfig}} could be incorporated using an open source XSLT processor. --{{l|User:Dmd|Dmd}} 13:34, 26 January 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
Useful would be the possibility of importing SVG sequences, just like Macromedia/Adobe Flash does with .ai sequences&lt;br /&gt;
&lt;br /&gt;
== Gradient Paint Tool ==&lt;br /&gt;
&lt;br /&gt;
How about a tool that can 'paint' a gradient object.  For example the options would be width and gradient type, one would make a stroke with the tool and the gradient would be automatically applied inside of the outline (set by width).  This would save the trouble of having to the all the encapsulation stuff. (Actually any tool that makes creating gradient one step would be good).--{{l|User:Triclops|Triclops}} 09:52, 9 Aug 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bone Animation Tools ==&lt;br /&gt;
&lt;br /&gt;
Bone system with inverse kinematics, very important for quick animation. You put bones on a drawed man and you can animate him like a puppet. I'm using that in Moho (lost marble product).--{{l|User:Ziolive|ziolive}} 23 Aug 2006&lt;br /&gt;
*I would find this very useful too. I think it is called '''rigging'''(4/5) --{{l|User:SvH|SvH}} 01:33, 14 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== AVI Backgrounds ==&lt;br /&gt;
Is there any way I can add an avi as a background so I could add facial expressions to a stop-motion animated figure. [zotz here, I was thinking DV background or extra timeline. I would like to mix animations with live footage. rating (3/4)]&lt;br /&gt;
: Already implemented for ffmpeg pipeline of ppm in svn r2161 {{l|User:Genete|Genete}} 05:36, 9 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Character tool on Tool Options Dialog ==&lt;br /&gt;
&lt;br /&gt;
I want to use the as a character generator for a TV show. By using chroma key hide the background.  Even better interface to a video overlay card with Alpha blending.&lt;br /&gt;
&lt;br /&gt;
== Collect for Publication ==&lt;br /&gt;
&lt;br /&gt;
(3/4) - (zotz) Menu item, functionality that would collect alll files referenced in a sif and place them all in a tgz for sending elsewhere or publishing animations in source form.&lt;br /&gt;
&lt;br /&gt;
== Object Library ==&lt;br /&gt;
&lt;br /&gt;
(3/4) - (zotz) Haven't thought this all through yet, but synfig could come with a library of categotrised &amp;quot;objects&amp;quot; with a copyleft license (GPL?  CC BY-SA?) An animation clip art type deal.&lt;br /&gt;
:I'd suggest this should be public domain and distributed by openclipart.org -- --{{l|User:PaulWise|pabs}}&lt;br /&gt;
&lt;br /&gt;
== Flash Export ==&lt;br /&gt;
&lt;br /&gt;
(3/4) Well, might just be me but if there was a posiblity to  export in .swf or .fla, I think the project might become a lot more popular.{{l|User:Conceit|Conceit}}&lt;br /&gt;
&lt;br /&gt;
(4/5) I wholeheartedly agree. I would definitely use synfig more if this feature were added and it would most definitely increase popularity. {{l|User:cdj05a|cdj05a}}&lt;br /&gt;
&lt;br /&gt;
(4[me]/5[others]) Definitely would love flash export. There is no well maintained Flash animation studio that is Open Source. To have Synfig become that along with all that it already is would be absolutely wonderful. You'd also possibly add to your user base all the flash animators out there that don't want to pay Adobe. Some people would only want it for the flash animation hence the 5 for others. {{l|User:jblandrum|jblandrum}}&lt;br /&gt;
&lt;br /&gt;
This can be simply done from a python plugin could use SwfTools for converting temporary exported data into .swf file - not very hard thing to do - the information used from SwfTools is very simple to be created, such as simple .swf files are.&lt;br /&gt;
&lt;br /&gt;
== Single window ==&lt;br /&gt;
&lt;br /&gt;
Depending on individual desktop setups, single window is sometimes preferable to many  windows. Can we have a single-window option?&lt;br /&gt;
&lt;br /&gt;
Also, even with many windows, Windows-users especially might find it better if all the windows only appeared as a single one on the taskbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Export Wizard ==&lt;br /&gt;
&lt;br /&gt;
(2/4) Conversion and export to other file formats (mpg, avi, flash formats, others, and the synfig format) with a step by step wizard for choosing format and place of saving. Similar to Gimp's saving of .png files but for movie/video type files. --&lt;br /&gt;
{{l|User:Hiddenghost|hiddenghost}}&lt;br /&gt;
&lt;br /&gt;
== Using Synfig as a portable app ==&lt;br /&gt;
&lt;br /&gt;
(3) This isn't really a feature request (though it could be) but I was wondering if synfig could be used as a portable application (as in www.portableapps.com). Does the windows install require registry access? i really want to use Synfig at work, but I'm reluctant to install it just in case it leave footprints in the regisitry or something, and it would be sweet to use it on my travels as well. Only thing is, I can't test it out at home because I am using Linux.&lt;br /&gt;
See also: http://portableapps.com/node/5761&lt;br /&gt;
{{l|User:Zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
This isn't currently possible without modifying the source code. That has been on my TODO list for ages {{l|User:PaulWise|pabs}} 01:17, 26 October 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allow organize child valuenodes in an hierarchy ==&lt;br /&gt;
(3-2) And allow maintain the organization once the file is saved. At the moment they are reordered in alphabetical order which is useless and annoying.&lt;br /&gt;
&lt;br /&gt;
== Triangle sliders to be always visible ==&lt;br /&gt;
(3) I would like that the triangle sliders from {{l|Colors Dialog}} and {{l|Gradient Editor Dialog}} were visible whatever color or channel you're editing. Some times when the color or channel is to bright or light the slider is difficult to distinguish. --{{l|User:Genete|Genete}} 14:30, 29 October 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
== XICC support ==&lt;br /&gt;
&lt;br /&gt;
It would be cool if synfigstudio had support for [http://burtonini.com/blog/computers/xicc XICC].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Area to Edit ==&lt;br /&gt;
&lt;br /&gt;
An option like blender - select area to update would be nice, so the only part of the image that updates when you add or change something is in the selected area&lt;br /&gt;
&lt;br /&gt;
ie. when working on a complex composition, studio doesn't know, when I tweak a tiny part of the composition, that only that part needs redrawing, so it redraws the whole thing.  It would be good if there was some way of telling it which part to focus on. -- {{l|User:Dooglus|dooglus}} 04:02, 3 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Histograms ==&lt;br /&gt;
&lt;br /&gt;
 01:23  * AkhIL wish to have histograms and luma/color scope like [http://mac.softpedia.com/progScreenshots/Avid-Xpress-DV-Screenshot-14207.html] in synfig&lt;br /&gt;
&lt;br /&gt;
I've looked at those pictures but don't know what they're showing.  Can you describe what those scopes are doing, and what the histograms display?  ie. what are the X and Y axes of the histograms? -- {{l|User:Dooglus|dooglus}} 04:07, 3 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
First look this description in blender wiki [http://wiki.blender.org/index.php/Manual/VSE_Modes]&lt;br /&gt;
&lt;br /&gt;
Ok There is four things.&lt;br /&gt;
* Upper left is Lumascope (Luma Waveform in blender). X-Axis represents image's X-Axys. Y-Axis  is average luminescence of column of pixels.&lt;br /&gt;
* Upper right is Chromascope (Chroma Vectorscope in blender). Just look description on blender wiki.&lt;br /&gt;
* Lower left is like Lumascope but for each channel &lt;br /&gt;
* Lower right is histograms. X is luminescence and Y is count of pixels with such luminiscence.&lt;br /&gt;
&lt;br /&gt;
== Sound Layer ==&lt;br /&gt;
&lt;br /&gt;
(4) It would be a very good improvement if the sound system were implemented into synfig in {{l|Sound Layer | this}} way. --{{l|User:Genete|Genete}} 07:46, 8 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Rearrange the view of waypoints for Canvas param ==&lt;br /&gt;
As reported in [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1888858&amp;amp;group_id=144022&amp;amp;atid=757416 Bug #1888858] waypoints are not displayed for canvas switch events.&lt;br /&gt;
I suggest to rearrange waypoints display according to {{l|Media:Canvas_prop.png|this scheme}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Width weigths ==&lt;br /&gt;
Is it possible to add &amp;quot;weigths&amp;quot; for widths? ^_^ I.e. width changes not all the way along the segment. Maybe something like a duck on bline which indicates the region where the width of current vertex isn't changed.&lt;br /&gt;
{{l|Media:width-proposal.png|Illustration here.}}&lt;br /&gt;
&lt;br /&gt;
More ideas around this concept in [http://dooglus.rincevent.net/synfig/logs/2008/%23synfig-2008-04-16.log this conversation]. Although the log of that day is very interesting the lines related to this idea are from 22:38 to 23:43. {{l|User:Genete|Genete}} 17:51, 16 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improved Colour Dialog ==&lt;br /&gt;
How easy is it to stick in a colour square/wheel? Messing with sliders is somewhat obstructive.&lt;br /&gt;
&lt;br /&gt;
== Insert Waypoints ==&lt;br /&gt;
A button to create a waypoint for every selected duck, in its current position. Moving each duck up a bit and down again quickly gets tedious.&lt;br /&gt;
:If the duck in question has already a waypoint then you don't need to move it to create a new waypoint. Just select the corresponding parameter in your child list panel and select 'Add Waypoint' from the right click context menu over the parameter. No need to have the duck selected. If you want to freeze the entire bline just do that over the Bline Point List. {{l|User:Genete|Genete}} 07:48, 29 April 2008 (EDT)&lt;br /&gt;
::Yes, but it would be nice to have opportunity to add waypoint to parameer which not have any ducks yet (i.e. non-animated parameter). --{{l|User:Zelgadis|Zelgadis}} 08:33, 29 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Automatically split tangeants ==&lt;br /&gt;
&lt;br /&gt;
Holding shift while moving tangeant ducks should automatically split them. They can be rejoined if necessary through the context menu as they are now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A way to link params without exporting ==&lt;br /&gt;
I need a way to link params with different names without exporting. It is possible to achive by manualy editing of sif file. But inposible by gui. I will be nice to have linking by drag-n-drop. Or just by selecting reference param, pushing copy button, selecting another param and bushing link button. ---{{l|User:AkhIL|AkhIL}} 21:47, 30 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Allow select the origin of rotation when using the Rotate Tool ==&lt;br /&gt;
&lt;br /&gt;
It can be initially set to the geometrical center of the selected ducks or the gravity center depending of the selected checkboxes in the tool options panel. Later the user could move it before perform the rotation operation. It is a waste of time to rotate and translate the ducks every time a rotation manipulation is done. ---{{l|User:Genete|Genete}} 12:16, 4 June 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:I was adding this request at the same time than you Genete :-). Here is an example of how this issue is solved in Inkscape:&lt;br /&gt;
&lt;br /&gt;
:{{l|Image:rotate-tool-inkscape.png|center}}&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:Yaco|Yaco}}&lt;br /&gt;
&lt;br /&gt;
== Labels for rows in the Timetrack window [1]==&lt;br /&gt;
The rows in the timetrack palette and the parameters palette are obviously related, doing a scroll in the Timetrack window with the mouse makes the parameters window scroll. &lt;br /&gt;
&lt;br /&gt;
It's be nice to have the rows labeled with the corresponding label from the parameters palette, and to have the &amp;quot;list&amp;quot; parameter at the top of the time track window, with the possibility of dragging them around to move them up or down, personally I would prefer the &amp;quot;list&amp;quot; to be up the top so I can see the keyframes I'm making. &lt;br /&gt;
&lt;br /&gt;
{{l|Image:Stencil 3.jpg|center}}&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
:Is this what you want? Just arrange the dock able dialogs as you need. {{l|User:Genete|Genete}} 10:03, 30 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:{{l|Image:Params-TimeTrack.png}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
yeah, that works. Cheers :) :---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Non-symetrical but &amp;quot;smooth&amp;quot; tangents on ducks ==&lt;br /&gt;
Add another mode for duck tangent, where the tangent can have different radius, but keep the same angle. (a &amp;quot;split tangents (radius only)&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dockable windows ==&lt;br /&gt;
The current GUI is a pain in the rear by not complete covering the desktop and it's showing 5 tabs instead of  usual one tab so it's frustrating to switch windows if you running more than one software. (windows version)&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
== Combining the installations files ==&lt;br /&gt;
This is the most common problem that the user will face when trying to running program for the first time since the user needs to install 4 files instead of one. This common problem needs to be fixed.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
== A Particle Tool/Particle Object Editor ==&lt;br /&gt;
I  thought it might be interesting to add a Particle tool that is intuitive. Genete's script is amazing and I am sure I will do a lot of things with it once I have a chance to sit down and figure it out, but if there were a way to make it into tool with all the settings on sliders, it would be much easier. His script adds endless possibilities of nice effects to make animations look better. I personally rate this rather high. 3.5/5&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:richardwad1|richardwad1}}&lt;br /&gt;
&lt;br /&gt;
== A programation language as code behind like python, ruby or any ==&lt;br /&gt;
Code behind should be important to program the animation or events associated, programers and designers could work in a colaborative workspace and make applications with richfull content on desktop applicactions or web applications like expression blend or macromedia flash CS.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:nickholai|nickholai}}&lt;br /&gt;
&lt;br /&gt;
== Embedding animation on web applications ==&lt;br /&gt;
Like Macromedia Flash, it seems to require a plug in for internet explorer or firefox diferent as silverlight or flash, open source and &amp;quot;software libre&amp;quot; projects are working on animation but using the flash plug in, this wish needs a free plug in.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:nickholai|nickholai}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This seems a bit confusing; why do you want a plug in for synfig? When we add the import and export swf. file feature, it will use the flash plug in. Besides the flash player program is free, so you don't have to pay anything.  I find that this feature is useless until you explain to us better why you think this software needs a plug-in.&lt;br /&gt;
&lt;br /&gt;
Create a thread in the synfig forum if you want to continue to talk about this. We're listening.&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
== Split Tangent indicator ==&lt;br /&gt;
&lt;br /&gt;
Its hard to tell if a tangent is split or not without clicking on it (either to use the context menu, or move a duck). All of the ducks should change to another shape (eg a square) for a quick visual indication of a ducks state.&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Guide lines ==&lt;br /&gt;
&lt;br /&gt;
Guide lines that can be dragged from the side (like in the Gimp) would be very &lt;br /&gt;
useful.&lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Progress indicators ==&lt;br /&gt;
&lt;br /&gt;
Eg % complete in opening file, pop-up window which indicates how many frames are rendered of a render, eg &amp;quot;rendering 10 of 999&amp;quot; that can be closed/ignored if needed. &lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Improve the Timeline ==&lt;br /&gt;
&lt;br /&gt;
I know, this is one hell of a wish, but, as in all, i think that is best if you think in the ideals conditions and then you downgrade into what is possible to achieve in a reasonable period of time.&lt;br /&gt;
&lt;br /&gt;
:D greetings!!&lt;br /&gt;
&lt;br /&gt;
[4] Normal mode // [4] Layer mode // [4] Secuence mode &lt;br /&gt;
&lt;br /&gt;
.I think that this modes are three diferent windows layout, therefore the hability to create new and save different windows layout, should be the first to do in order to achieve this three modes.&lt;br /&gt;
&lt;br /&gt;
{{l|Image:Timeline-normal-mode-explained.jpg|200px}} {{l|Image:Timeline-layer-mode-explained.jpg|200px}} {{l|Image:Timeline-secuence-mode-explained.jpg|200px}}&lt;br /&gt;
&lt;br /&gt;
(click to enlarge)&lt;br /&gt;
&lt;br /&gt;
02/01/2009 {{l|User:Belifilmaker|Belifilmaker}}&lt;br /&gt;
&lt;br /&gt;
== Lockable Layers ==&lt;br /&gt;
I would use them all of the time.&lt;br /&gt;
{{l|User:Zenoscope|Zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Vector Objects ==&lt;br /&gt;
Represent objects (ie. circles, rectangles, regions, outlines, etc) as a new type of element. These objects exist as childs of some layer. The layer then takes care of rendering these objects to a raster. Currently layers do both things, represent objects and render them.&lt;br /&gt;
&lt;br /&gt;
Having objects as a seperate entity would allow defining operations between them. For example:&lt;br /&gt;
* Take two region objects and find the union of their regions. This would produce a vector representation of the resulting region (ie. Bline) which in turn can be used for other operations (ie. link vertex to Bline).&lt;br /&gt;
* Apply transformation to a vector object producing a vector object as a result which can be further processed.&lt;br /&gt;
* Trace a {{l|Media:Smooth_silhoutte.png|smooth silhoutte}} around a set of vector objects.&lt;br /&gt;
* Slice an animated vector object into pieces and be able to move the pieces around (while preserving the original animation). Would be useful for reflection on a broken glass effect.&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:Yoyobuae|Yoyobuae}}&lt;br /&gt;
&lt;br /&gt;
== Free drawing ==&lt;br /&gt;
&lt;br /&gt;
I wish the synfig have ability to do paintings like with brush and eraser. Imagine: you painting over Paste canvas, and synfig automatically creates shapes inside this Paste canvas layer, doing necessary boolean operations and linking between them. So they don't overlap. This would allow flash-like workflow, which is very suitable for newbies. {{l|Free Drawing|Discussion.}} --{{l|User:Zelgadis|Zelgadis}} 15:27, 9 April 2009 (EDT)&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Wish_list&amp;diff=11780</id>
		<title>Dev:Wish list</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Wish_list&amp;diff=11780"/>
				<updated>2010-03-08T21:59:46Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* {{l|redraw tool}} */ Fix dev link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TranslationBar|CONTENT={{Tr/en}} · {{Tr/fr}}}}&lt;br /&gt;
&lt;br /&gt;
'''''Warning''''': We need more people working on the code if we are going to be able to achieve all the feature requests.&lt;br /&gt;
&lt;br /&gt;
Got a great idea for a new feature? Just add it here, or on the [http://sourceforge.net/tracker/?group_id=144022&amp;amp;atid=757419 feature requests tracker]. Before you do, please check the [https://synfig.svn.sourceforge.net/svnroot/synfig/ETL/trunk/TODO etl], [https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-core/trunk/TODO synfig] and [https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-studio/trunk/TODO synfigstudio] TODO files for similar ideas. Please add a rating of how essential this feature is to your workflow according to the following scale:&lt;br /&gt;
&lt;br /&gt;
#&amp;quot;Well, it might be nifty. To someone.&amp;quot;&lt;br /&gt;
#&amp;quot;I probably would make use this&amp;quot;&lt;br /&gt;
#&amp;quot;It's not essential, but I'd really like to have this at my disposal.&amp;quot;&lt;br /&gt;
#&amp;quot;Synfig would be soooo much better with this change&amp;quot;&lt;br /&gt;
#&amp;quot;I can't/won't use Synfig without it!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&lt;br /&gt;
Please clean this section up as desired.&lt;br /&gt;
&lt;br /&gt;
* A different color dialog for picking/changing colors easier.&lt;br /&gt;
** A color wheel like inkscape has (or the same) [done]&lt;br /&gt;
** Swatch menu from gimp with .gpl files.&lt;br /&gt;
* Workflow improvements, like content help and ui-refinement.&lt;br /&gt;
** set the fine line between design and animation work.&lt;br /&gt;
** Greet the user at startup, give hints and help in the ui to better the usability and user-experience.&lt;br /&gt;
* test synfig cross-platform (Linux, Windows, Mac)&lt;br /&gt;
* Installer for windows [done]&lt;br /&gt;
* Pluggable App (run from memory stick)&lt;br /&gt;
* make a short film about synfigs capabilitys in a starwars kind of spaceship setting as promo video about 3 minutes long.&lt;br /&gt;
* Sound layer&lt;br /&gt;
* full tablet support&lt;br /&gt;
* small set of vector contend for fast animation results&lt;br /&gt;
* Help is available as pdf-file and distributed with the program&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Input:'''&lt;br /&gt;
* Import rastergraphics png, jpg, tif [done]&lt;br /&gt;
* Import vectorgraphics (svg,fig)&lt;br /&gt;
&lt;br /&gt;
'''Output:'''&lt;br /&gt;
* Render output to animated gif [done]&lt;br /&gt;
* Render output to png, bmp, OpenEXR [done]&lt;br /&gt;
* Render output to [http://animatedpng.com/ animated PNG]&lt;br /&gt;
* Export vectorgraphics (svg,fig)&lt;br /&gt;
&lt;br /&gt;
== Interchangeable/customizing Splash screen ==&lt;br /&gt;
[3] GIMP has this feature of letting users [http://docs.gimp.org/2.2/en/using-customize-splashscreen.html|customize GIMP's splash screen]. GIMP looks for &amp;lt;code&amp;gt;'''samples'''&amp;lt;/code&amp;gt; directory under &amp;lt;code&amp;gt;'''.gimp-2.x'''&amp;lt;/code&amp;gt; then randomly picks a picture from it to become the spash image.&lt;br /&gt;
&lt;br /&gt;
This will also help GNU/Linux distro, like Ubuntu, to adopt Synfig and put their logo on the splash screen.&lt;br /&gt;
&lt;br /&gt;
Also, official Synfig distribution can pack sample arts created by other artists to be randomly displayed -- like the synfig.org's title's background image.&lt;br /&gt;
&lt;br /&gt;
== Verbosity levels for error output ==&lt;br /&gt;
&lt;br /&gt;
Synfigstudio needs verbosity levels for the error output. Levels are info, warning and error. Make sure, to spew out only errors when something nasty happens. If someone wants to know all what happens in synfigstudio, the user should activate a higher level of verbosity with the command line switch --verbose=all,info,warning&lt;br /&gt;
&lt;br /&gt;
== Usage screen for new users ==&lt;br /&gt;
&lt;br /&gt;
Synfig and Synfigstudio need a usage screen, which helps a new user to type in the right syntax on the command line. Any switch not known to the program should point to the usage screen. On the bottom of the usage screen could be a hint: &amp;quot; For more help use synfig --help&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Keyboard shortcuts for panning ==&lt;br /&gt;
&lt;br /&gt;
The navigation and canvas windows need shortcut keys that pan the canvas view horizontally and vertically. Probably just the arrow keys would work for this, as well as the home/end/pageup/pagedown keys. Ctrl and shift variants could make the panning more or less.&lt;br /&gt;
: You can pan with a middle mouse button. --{{l|User:Zelgadis|Zelgadis}} 00:59, 24 October 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Linking Zoom layer to Paste Canvas ==&lt;br /&gt;
&lt;br /&gt;
[3] It is impossible to link Center of Zoom layer to Origin of Paste Canvas without exporting a value. It often needed for pans &amp;amp; zooms. Suggestion: rename &amp;quot;Center&amp;quot; parameter of Zoom Layer to the &amp;quot;Origin&amp;quot;. Will improve the workflow. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
== Convert Strings ==&lt;br /&gt;
[4] It could be very good to have feature to represent Convert sequences as strings and vice versa - make convert sequences from strings. Example: To produce this convert sequence: &lt;br /&gt;
&lt;br /&gt;
{{l|Image:WishList-ConvertStrings.png}}&lt;br /&gt;
&lt;br /&gt;
I just right-click on &amp;quot;Origin&amp;quot; parameter and choosing &amp;quot;String Convert&amp;quot; menu item. In the appeared dialog I just entering: &amp;quot;=Composite(Scale(x, Switch(scalar, 1.0, 0)), y)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Also if I clicking on the parameter already containing convert sequence and choosing &amp;quot;String Convert&amp;quot;, it shows string representation of current convert sequence with an ability to edit.&lt;br /&gt;
&lt;br /&gt;
This feature will make possible to easy copy convert sequences from one parameter to another.  --{{l|User:Zelgadis|Zelgadis}} 03:46, 2 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Non scalable timeline ==&lt;br /&gt;
[3] It should be useful for me to have non scalable timeline. It's hard to set timing when the distance between frames is always different in different documents and in different situations. Suggestion: make a non-scalable mode for timeline, where 1 second interval is always the same. Will improve the workflow. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
==Smart linking of tangents==&lt;br /&gt;
[4] As described in {{l|Sewing BLines}}, when linking red tangent to yellow they are placed opposite against each other. This is normal from the program's point of view, but not normal for new users. Even more, to avoid this effect user needs to made some complex steps (see {{l|Sewing BLines#Solution}}). It takes a lot of time if we vahe lot of verticles to sew their tangents.&lt;br /&gt;
&lt;br /&gt;
Suggestion:&lt;br /&gt;
* When linking tangents with the same color, program should act as usual.&lt;br /&gt;
* When linking tangents with different color program should automaticaly add Convert-&amp;gt;Scale (-1) to avoid their opposite placement.&lt;br /&gt;
To allow linking two tangents in opposite position, I suggest to add a new menu option for tangents &amp;quot;Link Opposite&amp;quot;. When linking two tangents with this option:&lt;br /&gt;
* When linking tangents with the different color, program should act as it acts now - no additional converts added.&lt;br /&gt;
* When linking tangents with the same color program should automaticaly add Convert-&amp;gt;Scale (-1) to plcae them opposite against each other.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
==Movement blur effect==&lt;br /&gt;
To make the motion most realistic for movies, it should be possible to activate in the render dialog the option to smear the border of all objects, which move faster than a given value. For example, if a ball gets shot over the canvas/rendering-screen with speed over 50 px/frame it should have a blurry streak attached. This effect could be applied only at rendering time as an after-effect. --{{l|User:SvH|SvH}} 09:50, 28 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:There is a {{l|Motion Blur Layer}} that you can apply to the entire document or to the layers you want. It allows to turn the blur effect on and off during animation. I think it is more flexible that your proposal. {{l|User:Genete|Genete}} 10:13, 28 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
==Morph sets==&lt;br /&gt;
This feature is similar to some other suggestions below, just with another way to approach. In animations are many movements, which can be put in some kind of library, to make use of at a later time. For example, movements to animate the key moments of a mouth, sampling syllables. For vector graphics, it should be possible to define some key points, which move just a small amount of space, to form another syllable. These syllables in this example, should be stored in a drop down list, to be able to select them for the key time on the timeline.&lt;br /&gt;
A morph-set for walking-left-to-right is different from a morph-set for a mounth, which has as options a,e,i,o,u,bah-disgust,happy-smile. The morph-set has to be stored as vector coordinates in a relative way(offset), e.g. X1=+212,+34;X2=-56,-23;X3=+3,-88;&lt;br /&gt;
&lt;br /&gt;
To make use of the morph-set for the mouth, you have to define first, which vector points in your drawn mouth, correspond to the key-points of your morph-set. X1, X2, X3, Xn&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 06:53, 27 May 2008 (EDT)&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==Render time approximation==&lt;br /&gt;
Synfigstudio should get a button in the render dialog, which calculates the total render time for the actual settings (frames per second, length of the film, resolution, output format) It should testrender 1 picture, when the amount of total frames is below 1000. Over 1000 frames, it should testrender 10 pictures for more precise calculation.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 12:49, 22 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
==Smartrendering==&lt;br /&gt;
I have made 25,000 small png-pictures with my 800Mhz computer in about 45 minutes. Synfigstudio did calculate each single frame of it. Nothing changed in this picture, so it does only need to get written to disk for the amount of pictures, until the next change (animation) has an effect on the output picture. This should save time for bigger projects with thousands of pictures. With smartrendering it is also possible to predict the total amound of space in Megabytes (Mibibytes) of the final render of the movie. It should calculate how much it needs and see, if enough space is free on the harddisk before the rendering get started.&lt;br /&gt;
&lt;br /&gt;
--{{l|User:SvH|SvH}} 12:49, 22 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== get_color method in text and radial blur ==&lt;br /&gt;
&lt;br /&gt;
[5] Without get_color method distorion produces artifacts &lt;br /&gt;
[http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1831355&amp;amp;group_id=144022&amp;amp;atid=757416 bug  1831355]. So I would like to get this problem fixed before doing something else. --{{l|User:AkhIL|AkhIL}} 22:41, 1 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Full functional of group dialog ==&lt;br /&gt;
&lt;br /&gt;
[5] Group dialog is broken now [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1796833&amp;amp;group_id=144022&amp;amp;atid=757416 bug 1796833]. So we should get old features work right before making new one. --{{l|User:AkhIL|AkhIL}} 22:41, 1 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== import/export .swf files ==&lt;br /&gt;
&lt;br /&gt;
very important productivity feature&lt;br /&gt;
&lt;br /&gt;
== import/export .svg frames sequence, and/or .svg animations ==&lt;br /&gt;
&lt;br /&gt;
very important productivity feature&lt;br /&gt;
&lt;br /&gt;
== a realtime .sif synchronized text window ==&lt;br /&gt;
&lt;br /&gt;
just like the xml editor of Inkscape, or the html editor in Dreamweaver (this is hugelly useful for productivity)&lt;br /&gt;
&lt;br /&gt;
I thinks scripting API can be implement in this way. For example you make XML DOM like implementation for python which alows to change DOM tree from python code and see chenges in canvas. By this way you can implement import/export scripts. Automation scripts. And a lot of different things. Even synchronization of animation between blender and synfig. --{{l|User:AkhIL|AkhIL}} 23:10, 26 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== choosing colour from gimp/inkscape palettes ==&lt;br /&gt;
&lt;br /&gt;
very useful when you need some colour comformity of what you're doing &lt;br /&gt;
&lt;br /&gt;
== Good high-level documentation of the source code ==&lt;br /&gt;
&lt;br /&gt;
(2) It'd be nice if a newbie could quickly navigate around the source code. The best thing to do would be to add top-level comments in each file, explaining what that file does, a README.TXT in each directory, explaining what's in that directory. This would be pretty fast and easy to do, and make it much easier for new programmers to join. &lt;br /&gt;
&lt;br /&gt;
Time permitting, it would also be good to document on a high level what the data structures are, but that's harder, since those tend to evolve, and it is often difficult to keep in sync. It would also be useful to document what individual functions do (just a one-liner high-level description), but that also takes more time.&lt;br /&gt;
: There is a page link in the wiki that connect to the [http://www.synfig.com/doc Synfig API Documentation]. I think this link should be highlighted to be more accessible for newbies contributors and mature developers (the link was found {{l|Releases/DeveloperPreview#Support | here}}). --{{l|User:Genete|Genete}} 10:02, 11 December 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
== Mathematical functions to animate ==&lt;br /&gt;
(2/4) If you want to make a waving flag, it would be handful a sine function, tuned with random correctors, for example. &lt;br /&gt;
: -This should generate waypoints each 1, 2, 4 frames or any other step at artist's wish.&lt;br /&gt;
: -When applying a function you can add it to current values, add it to 1st frame values or simply override old values. Perhaps other options (such multiplication) would be fine, too. Something like texture editor in [http://www.artofillusion.org Art of Illusion], perhaps.&lt;br /&gt;
Perhaps it would be useful reusing the [http://www.gnu.org/software/octave/ Octave] source code to parse mathematical expressions.&lt;br /&gt;
I have rated this wish with a '2' because undoubtly many users will not be familiar to mathematical concepts, but for those who will be, I'd rate it with a 4. It would be possible to make a ball describing a parabolic moving in no time.&lt;br /&gt;
{{l|User:ajotatxe|ajotatxe}} 20 November 2007&lt;br /&gt;
: dooglus can probably chime in better than I here (see his example of balls on mathematical paths at http://uk.youtube.com/watch?v=YTpSfUthuVE ), but I believe that this is already possible.  Synfig does support a variety of mathematical transforms for parameters, although the way you do this is by no means intuitive.  (You might also want to check out the preambletaffy.sifz example for an easier approach to a waving flag. I know you were just using that as an example, but for the record...) {{l|User:Pxegeek|Pxegeek}} 00:58, 21 November 2007 (EST)&lt;br /&gt;
&lt;br /&gt;
: I'd also rate it with a (4) (and updated the rating accordingly), not for this special case, but to make many workarounds much easier.  Simulating [Parabolic Shot|free fall], for example, would be a lot easier with real formulas.  I don't know, though how easy it will be to implement, maybe waiting for a scripting interface to be implemented is better than hacking this feature in an ad-hoc manner.  --{{l|User:Rubikcube|Rubikcube}} 16:38, 29 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Warning about editing bizarre things in animate editing mode ==&lt;br /&gt;
(3.5) It seems to have little sense animate certain things like Blend Method or Type of Feather. It would be very nice that the program asked comfirmation if you change these attributes in animate editing mode. If you do want to, you would have three options: &amp;quot;Yes, never ask&amp;quot;, &amp;quot;Yes, never ask for this attribute&amp;quot;, &amp;quot;No&amp;quot;. I guess that internally, this attributes has integer type (or something like that) and the attributes that you normally want to animate, float type, so I think that this feature is relatively easy to implement. My English is not very good, so please feel free to fix this post.&lt;br /&gt;
{{l|User:ajotatxe|ajotatxe}} 20 November 2007&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bones with FK &amp;amp; IK + grouping of objects into folders ==&lt;br /&gt;
&lt;br /&gt;
(5) Bones cane move specific vector assigned to them or the bones can have envelopes that move the vectors within their field of influence, much Like Anime Studio/Moho does. It's quite a time saving process of animating. Objects created can be saved into separate groups or folders using the same system as Anime Studio/Moho -Shadowphoenix 27/8/2007&lt;br /&gt;
&lt;br /&gt;
== Animated sketch ==&lt;br /&gt;
&lt;br /&gt;
(5) it would be great, if the tool Sketch was animatable (for example, in a form of a special sketch-layer). --Zelgadis 2007-06-14&lt;br /&gt;
&lt;br /&gt;
: For now as a workaround we could use animation program called Pencil. See {{l|Related Projects}} page. --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
: So, currently it could be achieved by using other software, but integration with synfig is poor, cause it requires importing a movie through a sequence of images. This is not intuitive and not obvious for new users. It will be good if synfig will have it implemented like [url=http://www.blender.org/development/release-logs/blender-248/grease-pencil/]blender's Grease Pencil[/url]. This feature will improve workflow, make synfig usable for frame-by frame animation (it is intuitive way of learning animation and powerful tool for producing preproduction work like animatic). --{{l|User:Zelgadis|Zelgadis}}&lt;br /&gt;
&lt;br /&gt;
: It would be nice to also implement the onion peel feature, where you can see the frame before or after, and/or selectable keyframes if this is included. An example can be seen in the program Pencil--{{l|User:richardwad1|richardwad1}}&lt;br /&gt;
&lt;br /&gt;
== Duck for Amount value in Zoom layer ==&lt;br /&gt;
&lt;br /&gt;
(2) It would be nice if Amount value in Zoom layer was controlled by additional duck. --{{l|User:Zelgadis|Zelgadis}} 02:49, 29 December 2007 (EST)&lt;br /&gt;
: I found that I can better use Warp layer instead of Zoom to change size. But it'd be nice to have Amount duck for Zoom layer anyway...&lt;br /&gt;
:: The Amount parameter works exponentially; each time you add 1 to the Amount, the image is zoomed by a further factor of e (= 2.71828 or so).  Would a duck be any use if it just controlled the value of Amount in a linear way?&lt;br /&gt;
:: Workarounds include: export Amount, select it in the children dialog.  Whatever's selected in the children dialog shows a duck.  You can adjust it using that duck.&lt;br /&gt;
:: Also, if you use a Stretch layer, convert the Amount to Composite, export the X-Axis and connect it to the Y-Axis, then you have a duck-controllable fixed-aspect zoom. -- {{l|User:Dooglus|dooglus}} 15:32, 15 January 2008 (EST)&lt;br /&gt;
::: Yeah I found this workaround, but it's to much actions - i prefer better use Warp or Stretch layers. Why not the link Amount duck and Amount value with logarithmic function? ;) --{{l|User:Zelgadis|Zelgadis}} 10:33, 17 January 2008 (EST)&lt;br /&gt;
::::{{l|Convert#Logarithm|Logarithm}} convert type for real parameters exists since svn 2034. {{l|User:Genete|Genete}} 10:17, 30 August 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Automatic colour palette optimisation ==&lt;br /&gt;
&lt;br /&gt;
(0) it would be nice to use libcontrast [http://david.navi.cx/blog/?p=132] [http://david.navi.cx/blog/?p=94] [http://david.navi.cx/blog/?p=99] [http://svn.gnome.org/svn/xchat-gnome/trunk/src/libcontrast/] to automatically adjust selected or all the palette items for best visual contrast. It would also be interesting to have a layer that uses this code to filter the image.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbitrary Color Channels ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; The ability for the user to create any number of custom channels for various purposes.&lt;br /&gt;
&lt;br /&gt;
== Autorecover History ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; It would be great if autorecover could also recover the associated history of a file in the event of a crash.&lt;br /&gt;
&lt;br /&gt;
== Layer Convert ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;(4)&amp;lt;/strike&amp;gt; (2) &amp;amp;mdash; The original intent of this feature request has been solved and documented - {{l|How_do_I#Fill_an_outline.3F|How do I....Fill an Outline?}} - but it would still be nice to have a way to convert one sort of path layer to another. ''(Downgraded to level 2) {{l|User:SnapSilverlight|Snap}} 12:32, 17 Jan 2006 (PST)''&lt;br /&gt;
&lt;br /&gt;
== Vector fill bucket ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; Like the traditional bitmap fill, but this fills the area clicked out to the nearest boundary paths with a region of that area, set to the foreground color (it actually would create a new {{l|Region Layer|region layer}}). &amp;lt;p&amp;gt;Alternatively, a single-duck layer object, that performs a simple bitmap fill from its (animatable) location, with its stored color value. (This second approach is similar to the behavior of one of Softimage's TOONZ[http://www.google.com/search?q=softimage+TOONZ]'s tools)&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;If this is implemented, it will probably be necessary to change the existing &amp;quot;fill&amp;quot; tool's name and icon to a &amp;quot;color injector&amp;quot; (hypodermic needle / turkey injector icon) tool, as that's closer to describing what it does.&lt;br /&gt;
&lt;br /&gt;
*Inkscape has a very innvative version of this tool. Maybe you can just grab the code from there and integrate it in synfig? --{{l|User:SvH|SvH}} 01:37, 14 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== {{l|Dev:Redraw tool}} ==&lt;br /&gt;
&lt;br /&gt;
(4-5) &amp;amp;mdash; Intutive reshaping of path-based layers. See link.&lt;br /&gt;
&lt;br /&gt;
== [http://developer.gnome.org/projects/gup/hig/ Gnome HIG Compliance] ==&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; This should solve all complaints about the layout, without requiring Synfig to be &amp;quot;just like program (x)&amp;quot;. See {{l|UI Reloaded}} for progress on this.&lt;br /&gt;
&lt;br /&gt;
== Feedback for {{l|Smooth Move Tool}} ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; This tool does what a lot of folks are looking for, warping selected ducks in a &amp;quot;soft&amp;quot; fashion. But it's not very obvious what sort of effect it will have, from the tool's interface. It needs some sort of momentary center-of-action and radius indicator at the very least. Perhaps an &amp;quot;influence gradient&amp;quot; overlaid on the canvas once Synfig's core is sped up?&lt;br /&gt;
&lt;br /&gt;
== Networkability ==&lt;br /&gt;
&lt;br /&gt;
(2) &amp;amp;mdash; Like Inkscape's &amp;quot;inkboard&amp;quot; feature (using Jabber), or Blender's Verse server [http://www.blender.org/modules/verse/index.php], or OpenCanvas's Networking option. This should probably farm off all the networking stuff to the telepathy framework so that synfig doesn't have to deal with all the account/etc issues.&lt;br /&gt;
&lt;br /&gt;
== Intuitive tangent modification ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; (BBQ Pulled Duck) Inkscape has this for still handles - basically, grab a section of the spline between handles, and pull it around, the program automatically alters the tangent handles to match. What would be really neat is if you could do the same for temporal handles - be able to grab the spline between keyframes, and yank it around, and have Synfig automatically adjust the key interpolation to match. Not sure exactly what the workflow in the UI would be for this, however.&lt;br /&gt;
&lt;br /&gt;
-Agreed; blender does this with its IPO curves, and it's a really efficient way to work.&lt;br /&gt;
&lt;br /&gt;
== Plugin API ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; Would be nice to enable additional functionality to be added to the program without it necessarily needing to be in the Synfig source tree. ''According to the Synfig 0.61.01 roadmap on [http://deepdarc.com/ deepdarc.com], there is a plugin API already implemented. So instead, this may be a {{l|Wiki Wish List|Wiki Wish}} for documentation, depending on how much has already been completed. {{l|User:SnapSilverlight|Snap}} 19:57, 13 Jan 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
== Python support ==&lt;br /&gt;
&lt;br /&gt;
(1) of some sort will no doubt be demanded by the userbase eventually, for studio-specific automation of tasks, noncompiled plugins, etc. I ({{l|User:Snap|SnapSilverlight}}) don't have any particular use for it at the moment, tho'.&lt;br /&gt;
&lt;br /&gt;
I suppose to join this request with {{l|Wish_list#a_realtime_.sif_synchronized_text_window}}. We can implement python access to XML DOM and write XML Editor in python. --{{l|User:AkhIL|AkhIL}} 06:54, 30 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== mod_synfig ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; For Apache. Render .sif to some format like png/mng on access.&lt;br /&gt;
&lt;br /&gt;
== synfig nsplugin ==&lt;br /&gt;
&lt;br /&gt;
(1) &amp;amp;mdash; Let Mozilla and Mozilla-based view synfig files in-browser.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Align function ==&lt;br /&gt;
&lt;br /&gt;
(3) &amp;amp;mdash; Align objects at a common border (as in Inkscape)&lt;br /&gt;
&lt;br /&gt;
== Improved SVG import ==&lt;br /&gt;
&lt;br /&gt;
(4) &amp;amp;mdash; Currently, all importing an SVG does is render it in ImageMagick. What I want is the ability to import the SVG document so that all the shapes, etc. of the SVG document show up as their equivilant synfig layers - i.e. if I had put them there myself. I'm trying to write a patch for this but the codebase is mostly undocumented. {{l|User:KMeist|KMeist}} 16:38, 25 Feb 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
{{l|svg2synfig}} could be incorporated using an open source XSLT processor. --{{l|User:Dmd|Dmd}} 13:34, 26 January 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
Useful would be the possibility of importing SVG sequences, just like Macromedia/Adobe Flash does with .ai sequences&lt;br /&gt;
&lt;br /&gt;
== Gradient Paint Tool ==&lt;br /&gt;
&lt;br /&gt;
How about a tool that can 'paint' a gradient object.  For example the options would be width and gradient type, one would make a stroke with the tool and the gradient would be automatically applied inside of the outline (set by width).  This would save the trouble of having to the all the encapsulation stuff. (Actually any tool that makes creating gradient one step would be good).--{{l|User:Triclops|Triclops}} 09:52, 9 Aug 2006 (PDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bone Animation Tools ==&lt;br /&gt;
&lt;br /&gt;
Bone system with inverse kinematics, very important for quick animation. You put bones on a drawed man and you can animate him like a puppet. I'm using that in Moho (lost marble product).--{{l|User:Ziolive|ziolive}} 23 Aug 2006&lt;br /&gt;
*I would find this very useful too. I think it is called '''rigging'''(4/5) --{{l|User:SvH|SvH}} 01:33, 14 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== AVI Backgrounds ==&lt;br /&gt;
Is there any way I can add an avi as a background so I could add facial expressions to a stop-motion animated figure. [zotz here, I was thinking DV background or extra timeline. I would like to mix animations with live footage. rating (3/4)]&lt;br /&gt;
: Already implemented for ffmpeg pipeline of ppm in svn r2161 {{l|User:Genete|Genete}} 05:36, 9 November 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Character tool on Tool Options Dialog ==&lt;br /&gt;
&lt;br /&gt;
I want to use the as a character generator for a TV show. By using chroma key hide the background.  Even better interface to a video overlay card with Alpha blending.&lt;br /&gt;
&lt;br /&gt;
== Collect for Publication ==&lt;br /&gt;
&lt;br /&gt;
(3/4) - (zotz) Menu item, functionality that would collect alll files referenced in a sif and place them all in a tgz for sending elsewhere or publishing animations in source form.&lt;br /&gt;
&lt;br /&gt;
== Object Library ==&lt;br /&gt;
&lt;br /&gt;
(3/4) - (zotz) Haven't thought this all through yet, but synfig could come with a library of categotrised &amp;quot;objects&amp;quot; with a copyleft license (GPL?  CC BY-SA?) An animation clip art type deal.&lt;br /&gt;
:I'd suggest this should be public domain and distributed by openclipart.org -- --{{l|User:PaulWise|pabs}}&lt;br /&gt;
&lt;br /&gt;
== Flash Export ==&lt;br /&gt;
&lt;br /&gt;
(3/4) Well, might just be me but if there was a posiblity to  export in .swf or .fla, I think the project might become a lot more popular.{{l|User:Conceit|Conceit}}&lt;br /&gt;
&lt;br /&gt;
(4/5) I wholeheartedly agree. I would definitely use synfig more if this feature were added and it would most definitely increase popularity. {{l|User:cdj05a|cdj05a}}&lt;br /&gt;
&lt;br /&gt;
(4[me]/5[others]) Definitely would love flash export. There is no well maintained Flash animation studio that is Open Source. To have Synfig become that along with all that it already is would be absolutely wonderful. You'd also possibly add to your user base all the flash animators out there that don't want to pay Adobe. Some people would only want it for the flash animation hence the 5 for others. {{l|User:jblandrum|jblandrum}}&lt;br /&gt;
&lt;br /&gt;
This can be simply done from a python plugin could use SwfTools for converting temporary exported data into .swf file - not very hard thing to do - the information used from SwfTools is very simple to be created, such as simple .swf files are.&lt;br /&gt;
&lt;br /&gt;
== Single window ==&lt;br /&gt;
&lt;br /&gt;
Depending on individual desktop setups, single window is sometimes preferable to many  windows. Can we have a single-window option?&lt;br /&gt;
&lt;br /&gt;
Also, even with many windows, Windows-users especially might find it better if all the windows only appeared as a single one on the taskbar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Export Wizard ==&lt;br /&gt;
&lt;br /&gt;
(2/4) Conversion and export to other file formats (mpg, avi, flash formats, others, and the synfig format) with a step by step wizard for choosing format and place of saving. Similar to Gimp's saving of .png files but for movie/video type files. --&lt;br /&gt;
{{l|User:Hiddenghost|hiddenghost}}&lt;br /&gt;
&lt;br /&gt;
== Using Synfig as a portable app ==&lt;br /&gt;
&lt;br /&gt;
(3) This isn't really a feature request (though it could be) but I was wondering if synfig could be used as a portable application (as in www.portableapps.com). Does the windows install require registry access? i really want to use Synfig at work, but I'm reluctant to install it just in case it leave footprints in the regisitry or something, and it would be sweet to use it on my travels as well. Only thing is, I can't test it out at home because I am using Linux.&lt;br /&gt;
See also: http://portableapps.com/node/5761&lt;br /&gt;
{{l|User:Zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
This isn't currently possible without modifying the source code. That has been on my TODO list for ages {{l|User:PaulWise|pabs}} 01:17, 26 October 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Allow organize child valuenodes in an hierarchy ==&lt;br /&gt;
(3-2) And allow maintain the organization once the file is saved. At the moment they are reordered in alphabetical order which is useless and annoying.&lt;br /&gt;
&lt;br /&gt;
== Triangle sliders to be always visible ==&lt;br /&gt;
(3) I would like that the triangle sliders from {{l|Colors Dialog}} and {{l|Gradient Editor Dialog}} were visible whatever color or channel you're editing. Some times when the color or channel is to bright or light the slider is difficult to distinguish. --{{l|User:Genete|Genete}} 14:30, 29 October 2007 (EDT)&lt;br /&gt;
&lt;br /&gt;
== XICC support ==&lt;br /&gt;
&lt;br /&gt;
It would be cool if synfigstudio had support for [http://burtonini.com/blog/computers/xicc XICC].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Area to Edit ==&lt;br /&gt;
&lt;br /&gt;
An option like blender - select area to update would be nice, so the only part of the image that updates when you add or change something is in the selected area&lt;br /&gt;
&lt;br /&gt;
ie. when working on a complex composition, studio doesn't know, when I tweak a tiny part of the composition, that only that part needs redrawing, so it redraws the whole thing.  It would be good if there was some way of telling it which part to focus on. -- {{l|User:Dooglus|dooglus}} 04:02, 3 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Histograms ==&lt;br /&gt;
&lt;br /&gt;
 01:23  * AkhIL wish to have histograms and luma/color scope like [http://mac.softpedia.com/progScreenshots/Avid-Xpress-DV-Screenshot-14207.html] in synfig&lt;br /&gt;
&lt;br /&gt;
I've looked at those pictures but don't know what they're showing.  Can you describe what those scopes are doing, and what the histograms display?  ie. what are the X and Y axes of the histograms? -- {{l|User:Dooglus|dooglus}} 04:07, 3 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
First look this description in blender wiki [http://wiki.blender.org/index.php/Manual/VSE_Modes]&lt;br /&gt;
&lt;br /&gt;
Ok There is four things.&lt;br /&gt;
* Upper left is Lumascope (Luma Waveform in blender). X-Axis represents image's X-Axys. Y-Axis  is average luminescence of column of pixels.&lt;br /&gt;
* Upper right is Chromascope (Chroma Vectorscope in blender). Just look description on blender wiki.&lt;br /&gt;
* Lower left is like Lumascope but for each channel &lt;br /&gt;
* Lower right is histograms. X is luminescence and Y is count of pixels with such luminiscence.&lt;br /&gt;
&lt;br /&gt;
== Sound Layer ==&lt;br /&gt;
&lt;br /&gt;
(4) It would be a very good improvement if the sound system were implemented into synfig in {{l|Sound Layer | this}} way. --{{l|User:Genete|Genete}} 07:46, 8 February 2008 (EST)&lt;br /&gt;
&lt;br /&gt;
== Rearrange the view of waypoints for Canvas param ==&lt;br /&gt;
As reported in [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1888858&amp;amp;group_id=144022&amp;amp;atid=757416 Bug #1888858] waypoints are not displayed for canvas switch events.&lt;br /&gt;
I suggest to rearrange waypoints display according to {{l|Media:Canvas_prop.png|this scheme}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Width weigths ==&lt;br /&gt;
Is it possible to add &amp;quot;weigths&amp;quot; for widths? ^_^ I.e. width changes not all the way along the segment. Maybe something like a duck on bline which indicates the region where the width of current vertex isn't changed.&lt;br /&gt;
{{l|Media:width-proposal.png|Illustration here.}}&lt;br /&gt;
&lt;br /&gt;
More ideas around this concept in [http://dooglus.rincevent.net/synfig/logs/2008/%23synfig-2008-04-16.log this conversation]. Although the log of that day is very interesting the lines related to this idea are from 22:38 to 23:43. {{l|User:Genete|Genete}} 17:51, 16 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Improved Colour Dialog ==&lt;br /&gt;
How easy is it to stick in a colour square/wheel? Messing with sliders is somewhat obstructive.&lt;br /&gt;
&lt;br /&gt;
== Insert Waypoints ==&lt;br /&gt;
A button to create a waypoint for every selected duck, in its current position. Moving each duck up a bit and down again quickly gets tedious.&lt;br /&gt;
:If the duck in question has already a waypoint then you don't need to move it to create a new waypoint. Just select the corresponding parameter in your child list panel and select 'Add Waypoint' from the right click context menu over the parameter. No need to have the duck selected. If you want to freeze the entire bline just do that over the Bline Point List. {{l|User:Genete|Genete}} 07:48, 29 April 2008 (EDT)&lt;br /&gt;
::Yes, but it would be nice to have opportunity to add waypoint to parameer which not have any ducks yet (i.e. non-animated parameter). --{{l|User:Zelgadis|Zelgadis}} 08:33, 29 April 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Automatically split tangeants ==&lt;br /&gt;
&lt;br /&gt;
Holding shift while moving tangeant ducks should automatically split them. They can be rejoined if necessary through the context menu as they are now.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== A way to link params without exporting ==&lt;br /&gt;
I need a way to link params with different names without exporting. It is possible to achive by manualy editing of sif file. But inposible by gui. I will be nice to have linking by drag-n-drop. Or just by selecting reference param, pushing copy button, selecting another param and bushing link button. ---{{l|User:AkhIL|AkhIL}} 21:47, 30 May 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Allow select the origin of rotation when using the Rotate Tool ==&lt;br /&gt;
&lt;br /&gt;
It can be initially set to the geometrical center of the selected ducks or the gravity center depending of the selected checkboxes in the tool options panel. Later the user could move it before perform the rotation operation. It is a waste of time to rotate and translate the ducks every time a rotation manipulation is done. ---{{l|User:Genete|Genete}} 12:16, 4 June 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:I was adding this request at the same time than you Genete :-). Here is an example of how this issue is solved in Inkscape:&lt;br /&gt;
&lt;br /&gt;
:{{l|Image:rotate-tool-inkscape.png|center}}&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:Yaco|Yaco}}&lt;br /&gt;
&lt;br /&gt;
== Labels for rows in the Timetrack window [1]==&lt;br /&gt;
The rows in the timetrack palette and the parameters palette are obviously related, doing a scroll in the Timetrack window with the mouse makes the parameters window scroll. &lt;br /&gt;
&lt;br /&gt;
It's be nice to have the rows labeled with the corresponding label from the parameters palette, and to have the &amp;quot;list&amp;quot; parameter at the top of the time track window, with the possibility of dragging them around to move them up or down, personally I would prefer the &amp;quot;list&amp;quot; to be up the top so I can see the keyframes I'm making. &lt;br /&gt;
&lt;br /&gt;
{{l|Image:Stencil 3.jpg|center}}&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
:Is this what you want? Just arrange the dock able dialogs as you need. {{l|User:Genete|Genete}} 10:03, 30 July 2008 (EDT)&lt;br /&gt;
&lt;br /&gt;
:{{l|Image:Params-TimeTrack.png}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
yeah, that works. Cheers :) :---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Non-symetrical but &amp;quot;smooth&amp;quot; tangents on ducks ==&lt;br /&gt;
Add another mode for duck tangent, where the tangent can have different radius, but keep the same angle. (a &amp;quot;split tangents (radius only)&amp;quot; mode).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dockable windows ==&lt;br /&gt;
The current GUI is a pain in the rear by not complete covering the desktop and it's showing 5 tabs instead of  usual one tab so it's frustrating to switch windows if you running more than one software. (windows version)&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
== Combining the installations files ==&lt;br /&gt;
This is the most common problem that the user will face when trying to running program for the first time since the user needs to install 4 files instead of one. This common problem needs to be fixed.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
== A Particle Tool/Particle Object Editor ==&lt;br /&gt;
I  thought it might be interesting to add a Particle tool that is intuitive. Genete's script is amazing and I am sure I will do a lot of things with it once I have a chance to sit down and figure it out, but if there were a way to make it into tool with all the settings on sliders, it would be much easier. His script adds endless possibilities of nice effects to make animations look better. I personally rate this rather high. 3.5/5&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:richardwad1|richardwad1}}&lt;br /&gt;
&lt;br /&gt;
== A programation language as code behind like python, ruby or any ==&lt;br /&gt;
Code behind should be important to program the animation or events associated, programers and designers could work in a colaborative workspace and make applications with richfull content on desktop applicactions or web applications like expression blend or macromedia flash CS.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:nickholai|nickholai}}&lt;br /&gt;
&lt;br /&gt;
== Embedding animation on web applications ==&lt;br /&gt;
Like Macromedia Flash, it seems to require a plug in for internet explorer or firefox diferent as silverlight or flash, open source and &amp;quot;software libre&amp;quot; projects are working on animation but using the flash plug in, this wish needs a free plug in.&lt;br /&gt;
&lt;br /&gt;
:--{{l|User:nickholai|nickholai}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This seems a bit confusing; why do you want a plug in for synfig? When we add the import and export swf. file feature, it will use the flash plug in. Besides the flash player program is free, so you don't have to pay anything.  I find that this feature is useless until you explain to us better why you think this software needs a plug-in.&lt;br /&gt;
&lt;br /&gt;
Create a thread in the synfig forum if you want to continue to talk about this. We're listening.&lt;br /&gt;
:--{{l|User:super animator|super animator}}&lt;br /&gt;
&lt;br /&gt;
== Split Tangent indicator ==&lt;br /&gt;
&lt;br /&gt;
Its hard to tell if a tangent is split or not without clicking on it (either to use the context menu, or move a duck). All of the ducks should change to another shape (eg a square) for a quick visual indication of a ducks state.&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Guide lines ==&lt;br /&gt;
&lt;br /&gt;
Guide lines that can be dragged from the side (like in the Gimp) would be very &lt;br /&gt;
useful.&lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Progress indicators ==&lt;br /&gt;
&lt;br /&gt;
Eg % complete in opening file, pop-up window which indicates how many frames are rendered of a render, eg &amp;quot;rendering 10 of 999&amp;quot; that can be closed/ignored if needed. &lt;br /&gt;
:---{{l|User:zenoscope|zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Improve the Timeline ==&lt;br /&gt;
&lt;br /&gt;
I know, this is one hell of a wish, but, as in all, i think that is best if you think in the ideals conditions and then you downgrade into what is possible to achieve in a reasonable period of time.&lt;br /&gt;
&lt;br /&gt;
:D greetings!!&lt;br /&gt;
&lt;br /&gt;
[4] Normal mode // [4] Layer mode // [4] Secuence mode &lt;br /&gt;
&lt;br /&gt;
.I think that this modes are three diferent windows layout, therefore the hability to create new and save different windows layout, should be the first to do in order to achieve this three modes.&lt;br /&gt;
&lt;br /&gt;
{{l|Image:Timeline-normal-mode-explained.jpg|200px}} {{l|Image:Timeline-layer-mode-explained.jpg|200px}} {{l|Image:Timeline-secuence-mode-explained.jpg|200px}}&lt;br /&gt;
&lt;br /&gt;
(click to enlarge)&lt;br /&gt;
&lt;br /&gt;
02/01/2009 {{l|User:Belifilmaker|Belifilmaker}}&lt;br /&gt;
&lt;br /&gt;
== Lockable Layers ==&lt;br /&gt;
I would use them all of the time.&lt;br /&gt;
{{l|User:Zenoscope|Zenoscope}}&lt;br /&gt;
&lt;br /&gt;
== Vector Objects ==&lt;br /&gt;
Represent objects (ie. circles, rectangles, regions, outlines, etc) as a new type of element. These objects exist as childs of some layer. The layer then takes care of rendering these objects to a raster. Currently layers do both things, represent objects and render them.&lt;br /&gt;
&lt;br /&gt;
Having objects as a seperate entity would allow defining operations between them. For example:&lt;br /&gt;
* Take two region objects and find the union of their regions. This would produce a vector representation of the resulting region (ie. Bline) which in turn can be used for other operations (ie. link vertex to Bline).&lt;br /&gt;
* Apply transformation to a vector object producing a vector object as a result which can be further processed.&lt;br /&gt;
* Trace a {{l|Media:Smooth_silhoutte.png|smooth silhoutte}} around a set of vector objects.&lt;br /&gt;
* Slice an animated vector object into pieces and be able to move the pieces around (while preserving the original animation). Would be useful for reflection on a broken glass effect.&lt;br /&gt;
&lt;br /&gt;
:---{{l|User:Yoyobuae|Yoyobuae}}&lt;br /&gt;
&lt;br /&gt;
== Free drawing ==&lt;br /&gt;
&lt;br /&gt;
I wish the synfig have ability to do paintings like with brush and eraser. Imagine: you painting over Paste canvas, and synfig automatically creates shapes inside this Paste canvas layer, doing necessary boolean operations and linking between them. So they don't overlap. This would allow flash-like workflow, which is very suitable for newbies. {{l|Free Drawing|Discussion.}} --{{l|User:Zelgadis|Zelgadis}} 15:27, 9 April 2009 (EDT)&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:GoogleSoC/ApplicationForm&amp;diff=11779</id>
		<title>Dev:GoogleSoC/ApplicationForm</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:GoogleSoC/ApplicationForm&amp;diff=11779"/>
				<updated>2010-03-08T21:58:46Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* Ideas */ Fix dev links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;We missed the SoC so far. Before 2007 we didn't have an application ready in time. We signed up for the 2008 Google SoC, but didn't get accepted. We haven't signed up since then.&lt;br /&gt;
&lt;br /&gt;
== Administrators and Mentors ==&lt;br /&gt;
&lt;br /&gt;
Please read the [http://primates.ximian.com/~federico/docs/summer-of-code-mentoring-howto/ Summer of Code Mentoring HOWTO].&lt;br /&gt;
&lt;br /&gt;
* {{l|User:Zelgadis|Konstantin Dmitriev aka Zelgadis}} (project administrator) google account: ksee.zelgadis&lt;br /&gt;
* {{l|User:dooglus|Chris Moore aka dooglus}} (chief project mentor) google account: dooglus&lt;br /&gt;
* {{l|User:Yoyobuae|Gerald Young aka Yoyobuae}} (project mentor) google account: supersayoyin&lt;br /&gt;
* {{l|User:PaulWise|Paul Wise aka pabs3}} (backup administrator and backup mentor) google account: paul.wise.soc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Draft application ==&lt;br /&gt;
&lt;br /&gt;
Questions from http://code.google.com/soc/org_signup.html&lt;br /&gt;
&lt;br /&gt;
=== About Your Organization ===&lt;br /&gt;
&lt;br /&gt;
* What is your Organization's Name?&lt;br /&gt;
** Synfig Studio project team&lt;br /&gt;
&lt;br /&gt;
* What is your Organization's Homepage?&lt;br /&gt;
** http://synfig.org/&lt;br /&gt;
&lt;br /&gt;
* Describe your organization.&lt;br /&gt;
** Our team developing a powerful, industrial-strength vector-based 2D animation software package, called Synfig Studio. It designed from the ground-up for producing feature-film quality animation with fewer people and resources. While there are many other programs currently on the market to aid with the efficient production of 2D animation, we are currently unaware of any other software that can do what our software can.&lt;br /&gt;
&lt;br /&gt;
* Why is your organization applying to participate in GSoC 2008? What do you hope to gain by participating?&lt;br /&gt;
** There are lot of features what needs to be developed to make our software more powerful, stable and user-friendly. We also hope to involve more people into project development. &lt;br /&gt;
&lt;br /&gt;
* Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.'''&lt;br /&gt;
** Unfortunately, no.&lt;br /&gt;
&lt;br /&gt;
* If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)? (optional)&lt;br /&gt;
** No, however we have had lots of people suggest that we participate.&lt;br /&gt;
&lt;br /&gt;
* What license does your project use?&lt;br /&gt;
** GNU GPL v2 or later.&lt;br /&gt;
&lt;br /&gt;
* URL for your ideas page&lt;br /&gt;
** http://synfig.org/GoogleSoC#Ideas&lt;br /&gt;
&lt;br /&gt;
* What is the main development mailing list for your organization?&lt;br /&gt;
** http://lists.sourceforge.net/lists/listinfo/synfig-devl&lt;br /&gt;
&lt;br /&gt;
* Where is the main IRC channel for your organization?&lt;br /&gt;
** #synfig on irc.freenode.net&lt;br /&gt;
&lt;br /&gt;
* Does your organization have an application template you would like to see students use? If so, please provide it now. (optional)&lt;br /&gt;
** No&lt;br /&gt;
&lt;br /&gt;
* Who will be your backup organization administrator? Please enter their Google Account address. We will email them to confirm, your organization will not become active until they respond. (optional)&lt;br /&gt;
** Paul Wise aka pabs3 (paul.wise.soc AT gmail.com)&lt;br /&gt;
=== About Your Mentors ===&lt;br /&gt;
&lt;br /&gt;
* What criteria did you use to select these individuals as mentors? Please be as specific as possible.&lt;br /&gt;
** Individual selected as mentor in project must have a knowledge of C/C++ and Synfig Studio program code (or its specific area). It could be easily determined from the SVN commit history (http://kibi.dyndns.org:8083/~dooglus/gitweb.pl?p=synfig;a=log). He also must be a regular on IRC and wiki (see http://dooglus.rincevent.net/synfig/logs/ and http://synfig.org/Special:Recentchanges). Synfig Studio is an animation program, so the selected mentor should know its common animation concepts: keyframes, waypoints, layers, blend methods. Selected individuals are highly-motivated, long-standing contributors of the project.&lt;br /&gt;
* Who will your mentors be? Please enter their Google Account address separated by commas. If your organization is accepted we will email each mentor to invite them to take part. (optional)&lt;br /&gt;
** Chris Moore aka dooglus (dooglus AT gmail.com)&lt;br /&gt;
** Gerald Young aka Yoyobuae (supersayoyin AT gmail.com)&lt;br /&gt;
** Paul Wise aka pabs3 (paul.wise.soc AT gmail.com) - backup mentor&lt;br /&gt;
&lt;br /&gt;
=== About The Program ===&lt;br /&gt;
&lt;br /&gt;
* What is your plan for dealing with disappearing students?&lt;br /&gt;
** First of all our mentors will try to clearly define the final target of the project and motivate the student to make the project valuable for him as much as possible. At the beginning of work we must get from student as much alternative contact information as possible (i.e. e-mail, ICQ, Jabber, home and mobile phone, home address, website, etc.). This must minimize the likelyhood of disappearing students. If student disappears from regular contact we'll try to establish contact with him via phone or IM to find out the reason of his absence and also notify Google about disappeared student. If a student actually decides to leave, the project will likely be taken on by somebody from the community in the future (depending on the priority) or be saved for the next season.&lt;br /&gt;
&lt;br /&gt;
* What is your plan for dealing with disappearing mentors?&lt;br /&gt;
** During the SoC we are planning to have one backup mentor. If existing mentors become unavailable or unresponsive during the project period backup mentor takes place of absence mentor. Most communications are take place on IRC which logs stored on http://dooglus.rincevent.net/synfig/logs/, so the backup mentor always could receive all information about status of student's work.&lt;br /&gt;
&lt;br /&gt;
* What steps will you take to encourage students to interact with your project's community before, during and after the program?&lt;br /&gt;
** We are require participation on public IRC channels where community discussing the directions of future development, shares their works and examples, motivates each other. There are not only developers there, but also translators and artists who uses Synfig Studio so the bar is low enough for newbie. Our community always open for any contributions, not only matter whether they're funded by SoC or not. For particular guidance, students are welcome to contact any of the IRC members, no matter whether they're funded or not.&lt;br /&gt;
** To involve students to process at early stages the general steps are:&lt;br /&gt;
*** preparing a brief plan of project implementation&lt;br /&gt;
*** defining milestones&lt;br /&gt;
*** defining &amp;quot;need to study&amp;quot; things for each milestone&lt;br /&gt;
** The steps taken during the program depend on the individual projects&lt;br /&gt;
** At the end of program project results must be summarized to provide complete view of done work and encourage students to participate in further development.&lt;br /&gt;
&lt;br /&gt;
* What will you do to ensure that your accepted students stick with the project after GSoC concludes?&lt;br /&gt;
** The community is inspired by the art produced by Synfig Studio artists. We hope what during the SoC much more animations will be produced and students will be able to see results of their work not only as a piece of code or software package, but also as funny cartoons done with all great new features implemented during the study process. Our developers are always in touch with the people who uses Synfig Studio, paying much attention to their needs and feedback.&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
* UI revamp - see {{l|Dev:Wish list#Single_window}}, [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1687557&amp;amp;group_id=144022&amp;amp;atid=757419 #1687557], [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1687726&amp;amp;group_id=144022&amp;amp;atid=757416 #1687726]&lt;br /&gt;
* {{l|Dev:Wish list#Collect_for_Publication}}&lt;br /&gt;
* {{l|Dev:Sound Layer}}&lt;br /&gt;
* SWF, SVG, etc import and or export&lt;br /&gt;
* Implement the Palette Browser, which is a stub in the current code&lt;br /&gt;
* Implement icon theming, usage of the Tango and ArtLibreSet naming schemes and draw icons for all the missing actions&lt;br /&gt;
* Implement a parameter system for output targets and the command-line and GUI interfaces for them.&lt;br /&gt;
&lt;br /&gt;
=== Construction ===&lt;br /&gt;
&lt;br /&gt;
* Easy way to link ducks to blines with mouse - see {{l|Dev:Linking to Blines}} and {{l|Dev:Wish list#Riding_ducks}}&lt;br /&gt;
* {{l|Dev:Wish list#Layer_Convert}}&lt;br /&gt;
* Redraw tool suggested by snapsilverlight&lt;br /&gt;
&lt;br /&gt;
=== Animation ===&lt;br /&gt;
&lt;br /&gt;
* Keyframe manipulation tool - see [http://sourceforge.net/tracker/index.php?func=detail&amp;amp;aid=1904463&amp;amp;group_id=144022&amp;amp;atid=757419 #1904463]&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
&lt;br /&gt;
* Most any common bug in bugzilla (if its a large implementation, or several smaller bugs)&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=11778</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=11778"/>
				<updated>2010-03-08T15:03:48Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* synfig-core */ dev-cpp for ETL category, no old style virtual&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;
&amp;lt;!-- This is Ad-Hoc - maybe this page should go to Dev section? --&amp;gt;&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 checkout properly 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 --prefix=&amp;quot;$PREFIX&amp;quot; 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}} in {{l|Dev:Mingw_installation|mingw}} 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 needed 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:  make sure you have updated autoconf and automake with MacPorts&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, cvs&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libxml++2.6-dev libsigc++-2.0-dev libltdl3-dev libtool gettext 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 --ltdl --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;
&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&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;
$ 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;
&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;
== Automatic build script ==&lt;br /&gt;
&lt;br /&gt;
If you want to build a binary for testing or debugging proposes you can run this script:&lt;br /&gt;
&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;
# export CXX=&amp;quot;/usr/bin/ccache g++-snapshot&amp;quot;&lt;br /&gt;
# This command comments out the line in configure.ac if it isn't already &lt;br /&gt;
# commented. Needed for Ubuntu 8.10 or higher&lt;br /&gt;
# Uncomment it if needed.&lt;br /&gt;
# sed -i 's/^AC_CONFIG_SUBDIRS/# AC_CONFIG_SUBDIRS/' synfig-core/configure.ac&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 --ltdl --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;
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&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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 requiments, the sript 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;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=11777</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=11777"/>
				<updated>2010-03-08T14:53:18Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* System-specific instructions */ Fix link&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;
&amp;lt;!-- This is Ad-Hoc - maybe this page should go to Dev section? --&amp;gt;&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 checkout properly 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 --prefix=&amp;quot;$PREFIX&amp;quot; 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}} in {{l|Dev:Mingw_installation|mingw}} 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 needed 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:  make sure you have updated autoconf and automake with MacPorts&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, cvs&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libxml++2.6-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs&lt;br /&gt;
* Gentoo: virtual/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 virtual/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 --ltdl --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;
&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&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;
$ 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;
&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;
== Automatic build script ==&lt;br /&gt;
&lt;br /&gt;
If you want to build a binary for testing or debugging proposes you can run this script:&lt;br /&gt;
&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;
# export CXX=&amp;quot;/usr/bin/ccache g++-snapshot&amp;quot;&lt;br /&gt;
# This command comments out the line in configure.ac if it isn't already &lt;br /&gt;
# commented. Needed for Ubuntu 8.10 or higher&lt;br /&gt;
# Uncomment it if needed.&lt;br /&gt;
# sed -i 's/^AC_CONFIG_SUBDIRS/# AC_CONFIG_SUBDIRS/' synfig-core/configure.ac&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 --ltdl --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;
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&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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 requiments, the sript 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;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=User_talk:Waipy&amp;diff=11776</id>
		<title>User talk:Waipy</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=User_talk:Waipy&amp;diff=11776"/>
				<updated>2010-03-08T14:45:28Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: Thank Waipy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am a Chinese! I would like to try to translate some pages,&lt;br /&gt;
But I do not know how to operate this Wikipedia, can you tell me?&lt;br /&gt;
&lt;br /&gt;
: Great! Welcome to the project :) you can read the [[Writer Documentation]] to see how it works. To translate you just need to create a page with the same english original name and add something like /zh resulting in for example [[Doc:Getting_Started/zh]]. [[User:Eldruin|Eldruin]] 11:20, 5 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Thanks, Eldruin! It pushed me to write brief notes about that - {{L|Meta:Translation}}. --[[User:Zelgadis|Zelgadis]] 15:19, 6 March 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Hey Waipy you are doing a great job! Thank you!!&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Developer_Documentation&amp;diff=11763</id>
		<title>Developer Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Developer_Documentation&amp;diff=11763"/>
				<updated>2010-03-05T11:43:56Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Developer Documentation part of this wiki is primarily for the following groups of people:&lt;br /&gt;
&lt;br /&gt;
*Current developers of the code&lt;br /&gt;
*Future and potential developers&lt;br /&gt;
*Those interested in bug filing and generating ideas&lt;br /&gt;
&lt;br /&gt;
Index:&lt;br /&gt;
&lt;br /&gt;
* [[Dev:Roadmap|Roadmap]]&lt;br /&gt;
* [[Dev:Wish_List|Wish List]]&lt;br /&gt;
* [http://synfig.org/wiki/index.php?title=Special%3APrefixIndex&amp;amp;from=&amp;amp;namespace=102  All Dev namespace pages]&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Developer_Documentation&amp;diff=11762</id>
		<title>Developer Documentation</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Developer_Documentation&amp;diff=11762"/>
				<updated>2010-03-05T11:43:10Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: Added link to all dev namespace pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Developer Documentation part of this wiki is primarily for the following groups of people:&lt;br /&gt;
&lt;br /&gt;
*Current developers of the code&lt;br /&gt;
*Future and potential developers&lt;br /&gt;
*Those interested in bug filing and generating ideas&lt;br /&gt;
&lt;br /&gt;
Index:&lt;br /&gt;
&lt;br /&gt;
* [[Dev:Roadmap|Roadmap]]&lt;br /&gt;
* [[Dev:Wish_List|Wish List]]&lt;br /&gt;
* [[http://synfig.org/wiki/index.php?title=Special%3APrefixIndex&amp;amp;from=&amp;amp;namespace=102|All Dev namespace pages]]&lt;br /&gt;
* ...&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=User_talk:Waipy&amp;diff=11760</id>
		<title>User talk:Waipy</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=User_talk:Waipy&amp;diff=11760"/>
				<updated>2010-03-05T11:20:17Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: sign&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am a Chinese! I would like to try to translate some pages,&lt;br /&gt;
But I do not know how to operate this Wikipedia, can you tell me?&lt;br /&gt;
&lt;br /&gt;
: Great! Welcome to the project :) you can read the [[Writer Documentation]] to see how it works. To translate you just need to create a page with the same english original name and add something like /zh resulting in for example [[Doc:Getting_Started/zh]]. [[User:Eldruin|Eldruin]] 11:20, 5 March 2010 (UTC)&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=User_talk:Waipy&amp;diff=11759</id>
		<title>User talk:Waipy</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=User_talk:Waipy&amp;diff=11759"/>
				<updated>2010-03-05T11:18:37Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: Translation help&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I am a Chinese! I would like to try to translate some pages,&lt;br /&gt;
But I do not know how to operate this Wikipedia, can you tell me?&lt;br /&gt;
&lt;br /&gt;
Great! Welcome to the project :) you can read the [[Writer Documentation]] to see how it works. To translate you just need to create a page with the same english original name and add something like /zh resulting in for example [[Doc:Getting_Started/zh]].&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=User:Eldruin&amp;diff=11758</id>
		<title>User:Eldruin</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=User:Eldruin&amp;diff=11758"/>
				<updated>2010-03-05T11:09:13Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: My user page creation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hello, I'm Diego Barrios Romero. I'm a spanish Computer systems technical engineer (now studying the following carreer &amp;quot;Computer engineering&amp;quot;).&lt;br /&gt;
I'm from Cádiz (as Genete!) and I'm trying to do my &amp;quot;End-carreer work&amp;quot; contributing to Synfig. I have until 2011/2012 to do it so I will have time :)&lt;br /&gt;
&lt;br /&gt;
I always liked electronic (computer later) stuff. So as japanese language (I'm writting a free japanese language course for spanish people), languages in general and traveling.&lt;br /&gt;
&lt;br /&gt;
I hope I can contribute a lot to Synfig project :D&lt;br /&gt;
&lt;br /&gt;
The history about how I get evolved into Synfig development is written in [http://blog.eldruin.com my blog] in [http://blog.eldruin.com/en/2009/12/synfig-developer/ this article].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Things I've done/contributed to do: ===&lt;br /&gt;
* Core: Improve FFMPEG video exporting to accept selectable codecs and bitrate.&lt;br /&gt;
** Core: Update synfig-tool acordingly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Things I'm now evolved in: ===&lt;br /&gt;
* Core: Improve FFMPEG video exporting module coding.&lt;br /&gt;
* Core/Studio: OpenGL rendering.&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=11755</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=11755"/>
				<updated>2010-03-05T10:16:51Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: moved Doc:Build Instructions to Dev:Build Instructions:&amp;amp;#32;Build instructions into Dev category&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;
&amp;lt;!-- This is Ad-Hoc - maybe this page should go to Dev section? --&amp;gt;&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 checkout properly 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 --prefix=&amp;quot;$PREFIX&amp;quot; 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|Gentoo Ebuilds|ebuilds}} are available for both release versions and GIT&lt;br /&gt;
* MacOS X: {{l|Building_On_Mac_OS_X|instructions for building}} with the GTK+ Aqua port are available.&lt;br /&gt;
* PCLinuxOS: {{l|PCLinuxOS build instructions|build instructions}}&lt;br /&gt;
* Windows: {{l|Windows build instructions|instructions for building}} in {{l|Mingw_installation|mingw}} 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 needed 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:  make sure you have updated autoconf and automake with MacPorts&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, cvs&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libxml++2.6-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs&lt;br /&gt;
* Gentoo: virtual/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 virtual/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 --ltdl --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;
&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&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;
$ 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;
&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;
== Automatic build script ==&lt;br /&gt;
&lt;br /&gt;
If you want to build a binary for testing or debugging proposes you can run this script:&lt;br /&gt;
&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;
# export CXX=&amp;quot;/usr/bin/ccache g++-snapshot&amp;quot;&lt;br /&gt;
# This command comments out the line in configure.ac if it isn't already &lt;br /&gt;
# commented. Needed for Ubuntu 8.10 or higher&lt;br /&gt;
# Uncomment it if needed.&lt;br /&gt;
# sed -i 's/^AC_CONFIG_SUBDIRS/# AC_CONFIG_SUBDIRS/' synfig-core/configure.ac&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 --ltdl --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;
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&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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 requiments, the sript 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;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Doc:Build_Instructions&amp;diff=11756</id>
		<title>Doc:Build Instructions</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Doc:Build_Instructions&amp;diff=11756"/>
				<updated>2010-03-05T10:16:51Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: moved Doc:Build Instructions to Dev:Build Instructions:&amp;amp;#32;Build instructions into Dev category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Dev:Build Instructions]]&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Doc:Synfig_Studio_vs_Synfig&amp;diff=11753</id>
		<title>Doc:Synfig Studio vs Synfig</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Doc:Synfig_Studio_vs_Synfig&amp;diff=11753"/>
				<updated>2010-03-05T09:29:59Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Synfig Studio vs Synfig}}&lt;br /&gt;
{{Category|Manual}}&lt;br /&gt;
{{Navigation|Category:Manual|Doc:Getting Started}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Synfig Project there are two main tools:&lt;br /&gt;
* Synfig: The command line renderer&lt;br /&gt;
* Synfig Studio: The graphical user interface (GUI)&lt;br /&gt;
&lt;br /&gt;
Both applications uses the synfig libraries to render the output animation. The first one (Synfig) just coverts an animation composition into a movie file and the second one (Synfig Studio) is a GUI that help to the user to create the animation composition and save it to a source file.&lt;br /&gt;
&lt;br /&gt;
==Synfig Animation file format==&lt;br /&gt;
&lt;br /&gt;
It is not the interest of this article to show you how's the {{l|Synfig File Format|synfig animation file format}}. For the moment you should only need to know that the file extension is .sif and that it is XML formatted text file. For space saving it is saved and loaded un gzip format under the extension of .sifz. &lt;br /&gt;
If you're interested in learn more about synfig file format or want to contribute to its definition visit {{l|Synfig File Format|this page}}.&lt;br /&gt;
&lt;br /&gt;
== Synfig  the CLI renderer==&lt;br /&gt;
&lt;br /&gt;
Although {{l|Synfig CLI syntax|Synfig CLI}} (command line interface) is an independent application from Synfig Studio it is worth to have it installed in your system. In fact, both share the same libraries to produce the output renders, one (the GUI) to the screen output and also to the file output and the other (the CLI) just the file output.&lt;br /&gt;
The syntax of usage is the typical one with optional parameters that just need an input file and an output filename in most of the cases. &lt;br /&gt;
One of the things that makes synfig CLI great is the ability to render large files without take your computer with your attention. Also if the render is quite long and there is any possible error (for example power supply) you can always continue rendering later using the CLI in where the animation render ended (this is only possible if you use a image sequence render target). It is explained in some of the tips of the {{l|Tips}} page. &lt;br /&gt;
Also, for modern computers with several cores, if you tell to the renderer the proper values, you can run several simultaneous instances to drastically decrease the render time. It has not been developed yet but it is possible to create render farms to decrease render time for huge movies.&lt;br /&gt;
&lt;br /&gt;
Understand and learn Synfig CLI syntax is not very difficult. Once you understand the basic concepts of Synfig by using Synfig Studio you will domain Synfig CLI quickly.&lt;br /&gt;
&lt;br /&gt;
== Synfig Studio ==&lt;br /&gt;
&lt;br /&gt;
Synfig Studio is a graphical user interface that is used to create new animations. With Synfig Studio you can:&lt;br /&gt;
&lt;br /&gt;
* Create a new animation from scratch. &lt;br /&gt;
* Import external resources: single images, image sequences, other vectorial files (SVG) and even videos (at the moment though ffmpeg).&lt;br /&gt;
* Export the animation into a movie file or into a animated graphic or a image sequence. &lt;br /&gt;
* Edit several files at the same time.&lt;br /&gt;
* Reference external sif files and create a macro composition.&lt;br /&gt;
* Preview the animation.&lt;br /&gt;
* Redo and undo the operations performed during edition.&lt;br /&gt;
&lt;br /&gt;
Synfig Studio interface is a bit complex when you watch it for the very first time. But after a while and after learn how is the animation work flow you feel comfortable and understand &amp;quot;why things are like that&amp;quot; ;-)&lt;br /&gt;
&lt;br /&gt;
If you're impatience and want to go straight to know interface of Synfig Studio see this {{l|Quick Overview|quick visual overview}}.&lt;br /&gt;
But it is more interesting discover step by step the meaning of the Synfig Studio components and its usage.&lt;br /&gt;
&lt;br /&gt;
Further reading:&lt;br /&gt;
* Principles of Animation with Synfig Studio&lt;br /&gt;
* Synfig Studio Work Flow&lt;br /&gt;
* Advanced Techinques&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Doc:Synfig_Studio_vs_Synfig&amp;diff=11752</id>
		<title>Doc:Synfig Studio vs Synfig</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Doc:Synfig_Studio_vs_Synfig&amp;diff=11752"/>
				<updated>2010-03-05T08:56:52Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Page info --&amp;gt;&lt;br /&gt;
{{Title|Synfig Studio vs Synfig}}&lt;br /&gt;
{{Category|Manual}}&lt;br /&gt;
{{Navigation|Category:Manual|Doc:Getting Started}}&lt;br /&gt;
&amp;lt;!-- Page info end --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the Synfig Project there are two main tools:&lt;br /&gt;
* Synfig: The command line renderer&lt;br /&gt;
* Synfig Studio: The graphical user interface (GUI)&lt;br /&gt;
&lt;br /&gt;
Both applications uses the synfig libraries to render the output animation. The first one (Synfig) just coverts an animation composition into a movie file and the second one (Synfig Studio) is a GUI that help to the user to create the animation composition and save it to a source file.&lt;br /&gt;
&lt;br /&gt;
==Synfig Animation file format==&lt;br /&gt;
&lt;br /&gt;
It is not the interest of this article to show you how's the {{l|Synfig File Format|synfig animation file format}}. For the moment you should only need to know that the file extension is .sif and that it is XML formatted text file. For space saving it is saved and loaded un gzip format under the extension of .sifz. &lt;br /&gt;
If you're interested in learn more about synfig file format or want to contribute to its definition visit {{l|Synfig File Format|this page}}.&lt;br /&gt;
&lt;br /&gt;
== Synfig  the CLI renderer==&lt;br /&gt;
&lt;br /&gt;
Although {{l|Synfig CLI syntax|Synfig CLI}} (command line intereface) is an independent application from Synfig Studio it is worth to have it installed in your system. In fact, both share the same libraries to produce the outpur renders, one (the GUI) to the screen output and also to the file output and the other (the CLI) just the file output.&lt;br /&gt;
The syntax of usage is the typical one with optional parameters that just need a input file and an output filename in most of the cases. &lt;br /&gt;
One of the things that makes synfig CLI great is the ability to render large files without take your computer with your attention. Also if the render is quite long and there is any possible error (for example power supply) you can always continue rendering later using the CLI in where the animation render ended. It is only possible if you use a image sequence render target. It is explained in some of the tips of the {{l|Tips}} page. &lt;br /&gt;
Also, for modern computers with several cores, if you tell to the renderer the proper values, you can run several simultaneous instances to decrease drastically the render time. It has not been developed but it is possible to create render farms to increase render time for huge movies.&lt;br /&gt;
&lt;br /&gt;
Understand and learn Synfig CLI syntax is not very difficult. Once you understand the basic concepts of Synfig by using Synfig Studio you will domain Synfig CLI quickly.&lt;br /&gt;
&lt;br /&gt;
== Synfig Studio ==&lt;br /&gt;
&lt;br /&gt;
Synfig Studio is a graphical user interface that is used to create new animations. With Synfig Studio you can:&lt;br /&gt;
&lt;br /&gt;
* Create a new animation from scratch. &lt;br /&gt;
* Import external resources: single images, image sequences, other vectorial files (SVG) and even videos (at the moment though ffmpeg).&lt;br /&gt;
* Export the animation into a movie file or into a animated graphic or a image sequence. &lt;br /&gt;
* Edit several files at the same time.&lt;br /&gt;
* Reference external sif files and create a macro composition.&lt;br /&gt;
* Preview the animation.&lt;br /&gt;
* Redo and undo the operations performed during edition.&lt;br /&gt;
&lt;br /&gt;
Synfig Studio interface is a bit complex when you watch it for the very first time. But after a while and after learn how is the animation work flow you feel comfortable and understand &amp;quot;why things are like that&amp;quot; ;-)&lt;br /&gt;
&lt;br /&gt;
If you're impatience and want to go straight to know interface of Synfig Studio see this {{l|Quick Overview|quick visual overview}}.&lt;br /&gt;
But it is more interesting discover step by step the meaning of the Synfig Studio components and its usage.&lt;br /&gt;
&lt;br /&gt;
Further reading:&lt;br /&gt;
* Principles of Animation with Synfig Studio&lt;br /&gt;
* Synfig Studio Work Flow&lt;br /&gt;
* Advanced Techinques&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Releases/Splash_Archive&amp;diff=11725</id>
		<title>Releases/Splash Archive</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Releases/Splash_Archive&amp;diff=11725"/>
				<updated>2010-02-25T13:39:15Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: Updated sif links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:splash-06200.png|0.62.00 by '''Genete''' ([http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=blob_plain;f=synfig-studio/images/splash_screen.sifz;hb=HEAD Source file])&lt;br /&gt;
Image:splash-06109.png|0.61.09 by '''Yaco''' &amp;amp; '''Genete''' ([http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=blob_plain;f=synfig-studio/images/splash_screen-0.61.09.sif;h=3f60e8a1675c735571b75ecd0d9368d3aa928be5;hb=HEAD Source file])&lt;br /&gt;
Image:splash-06108.png|0.61.08 by '''Rore''' ([http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=blob_plain;f=synfig-studio/images/splash_screen-0.61.08.sif;h=0d6edca8ce500020ce84616b3cfc9f9eb204a2c5;hb=HEAD Source file])&lt;br /&gt;
Image:splash-06101.png|0.61.01 by '''Darco''' ([https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-studio/trunk/images/splash_screen-0.61.07.sif Source file])&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Releases/Splash_Archive&amp;diff=11724</id>
		<title>Releases/Splash Archive</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Releases/Splash_Archive&amp;diff=11724"/>
				<updated>2010-02-25T13:34:54Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: Updated splash screens sif files.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:splash-06200.png|0.62.00 by '''Genete''' ([http://synfig.svn.sourceforge.net/svnroot/synfig/synfig-studio/trunk/images/splash_screen.sifz Source file])&lt;br /&gt;
Image:splash-06109.png|0.61.09 by '''Yaco''' &amp;amp; '''Genete''' ([http://synfig.svn.sourceforge.net/svnroot/synfig/synfig-studio/trunk/images/splash_screen-0.61.09.sifz Source file])&lt;br /&gt;
Image:splash-06108.png|0.61.08 by '''Rore''' ([https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-studio/trunk/images/splash_screen-0.61.08.sif Source file])&lt;br /&gt;
Image:splash-06101.png|0.61.01 by '''Darco''' ([https://synfig.svn.sourceforge.net/svnroot/synfig/synfig-studio/trunk/images/splash_screen-0.61.07.sif Source file])&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=10974</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=10974"/>
				<updated>2009-12-30T15:24:02Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: /* ETL */ added needed package (libtool)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Categories--&amp;gt;&lt;br /&gt;
{{l|Category:Building}}&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|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 checkout properly 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 --prefix=&amp;quot;$PREFIX&amp;quot; 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|Gentoo Ebuilds|ebuilds}} are available for both release versions and GIT&lt;br /&gt;
* MacOS X: {{l|Building_On_Mac_OS_X|instructions for building}} with the GTK+ Aqua port are available.&lt;br /&gt;
* PCLinuxOS: {{l|PCLinuxOS build instructions|build instructions}}&lt;br /&gt;
* Windows: {{l|Windows build instructions|instructions for building}} in {{l|Mingw_installation|mingw}} 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 needed 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:  make sure you have updated autoconf and automake with MacPorts&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, cvs&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libxml++2.6-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs&lt;br /&gt;
* Gentoo: virtual/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 virtual/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 --ltdl --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;
&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&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;
$ 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;
&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;
== Automatic build script ==&lt;br /&gt;
&lt;br /&gt;
If you want to build a binary for testing or debugging proposes you can run this script:&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;
# export CXX=&amp;quot;/usr/bin/ccache g++-snapshot&amp;quot;&lt;br /&gt;
# this comments out the line in configure.ac if it isn't already commented. Needed for Ubuntu 8.10 or higher&lt;br /&gt;
sed -i 's/^AC_CONFIG_SUBDIRS/# AC_CONFIG_SUBDIRS/' synfig-core/configure.ac&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 --ltdl --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;
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&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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 requiments, the sript 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;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Gentoo_Ebuilds&amp;diff=10973</id>
		<title>Dev:Gentoo Ebuilds</title>
		<link rel="alternate" type="text/html" href="https://wiki.synfig.org/index.php?title=Dev:Gentoo_Ebuilds&amp;diff=10973"/>
				<updated>2009-12-23T00:45:02Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: Updated for the new ebuilds and improved howto&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Categories--&amp;gt;&lt;br /&gt;
{{l|Category:Building}}&lt;br /&gt;
&lt;br /&gt;
We're working on ebuild files for the Gentoo operating system here. To use this page directly with Gentoo, you need to know how Portage works. You can either create a new local overlay and put there the ebuilds from the Gentoo BugZilla (faster) or use the sunrise overlay (easier).&lt;br /&gt;
&lt;br /&gt;
To create a Portage overlay (so these ebuilds won't be clobbered by an emerge sync). You can follow [http://www.gentoo-wiki.info/HOWTO_Installing_3rd_Party_Ebuilds this] and read more information [http://en.gentoo-wiki.com/wiki/Overlay here].&lt;br /&gt;
&lt;br /&gt;
= Ebuilds in Gentoo's BugZilla =&lt;br /&gt;
&lt;br /&gt;
These are also in gentoo's sunrise overlay. More information on now to add it [http://overlays.gentoo.org/proj/sunrise here].&lt;br /&gt;
You can choose to install the release versions (package-x.xx.xx) (stable) or the development version (-9999) (unstable)&lt;br /&gt;
&lt;br /&gt;
'''synfigstudio''' (media-gfx/synfigstudio)&lt;br /&gt;
&lt;br /&gt;
  http://bugs.gentoo.org/show_bug.cgi?id=111279&lt;br /&gt;
&lt;br /&gt;
'''synfig''' (media-gfx/synfig)&lt;br /&gt;
&lt;br /&gt;
  http://bugs.gentoo.org/show_bug.cgi?id=111278&lt;br /&gt;
&lt;br /&gt;
'''ETL''' (dev-cpp/ETL)&lt;br /&gt;
&lt;br /&gt;
  http://bugs.gentoo.org/show_bug.cgi?id=111277&lt;br /&gt;
&lt;br /&gt;
= Howto for both release and development ebuilds =&lt;br /&gt;
&lt;br /&gt;
Please check this [http://www.gentoo-wiki.info/HOWTO_Installing_3rd_Party_Ebuilds HOWTO Installing 3rd Party Ebuilds] first.&lt;br /&gt;
We will say &amp;quot;/overlay&amp;quot; as path to your overlay. This tipically would be &amp;quot;/usr/local/portage&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
1. Make the directories needed in your overlay:&lt;br /&gt;
  '''mkdir''' /overlay/dev-cpp/ETL /overlay/media-gfx/synfig /overlay/media-gfx/synfigstudio&lt;br /&gt;
&lt;br /&gt;
2. Go to the links above in the Gentoo BugZilla and download the ebuilds for the last release or the development version for all the packages (ETL, synfig and synfigstudio).&lt;br /&gt;
&lt;br /&gt;
3. Copy your downloaded ebuilds into the appropiate directories:&lt;br /&gt;
  '''ETL''' -&amp;gt; /overlay/dev-cpp/ETL&lt;br /&gt;
  '''synfig''' -&amp;gt; /overlay/media-gfx/synfig&lt;br /&gt;
  '''synfigstudio''' -&amp;gt; /overlay/media-gfx/synfigstudio&lt;br /&gt;
&lt;br /&gt;
4. Make digests for them. ie::&lt;br /&gt;
  '''ebuild''' /overlay/dev-cpp/ETL/ETL-0.04.13.ebuild '''digest'''&lt;br /&gt;
  '''ebuild''' /overlay/media-gfx/synfig/synfig-0.62.00.ebuild '''digest'''&lt;br /&gt;
  '''ebuild''' /overlay/media-gfx/synfigstudio/synfigstudio-0.62.00.ebuild '''digest'''&lt;br /&gt;
&lt;br /&gt;
5. Edit your '''/etc/portage/package.use''' and add:&lt;br /&gt;
  media-gfx/synfig  ffmpeg freetype imagemagick dv openexr&lt;br /&gt;
&lt;br /&gt;
6. Unmask the packages for your architecture if needed adding to your '''/etc/portage/packages.keywords''':&lt;br /&gt;
  dev-cpp/ETL&lt;br /&gt;
  media-gfx/synfig&lt;br /&gt;
  media-gfx/synfigstudio&lt;br /&gt;
&lt;br /&gt;
7. Happily compile:&lt;br /&gt;
  emerge -av synfigstudio&lt;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	<entry>
		<id>https://wiki.synfig.org/index.php?title=Dev:Build_Instructions&amp;diff=10972</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=10972"/>
				<updated>2009-12-23T00:01:41Z</updated>
		
		<summary type="html">&lt;p&gt;Eldruin: Minor fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--Categories--&amp;gt;&lt;br /&gt;
{{l|Category:Building}}&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|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 checkout properly 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 --prefix=&amp;quot;$PREFIX&amp;quot; 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|Gentoo Ebuilds|ebuilds}} are available for both release versions and GIT&lt;br /&gt;
* MacOS X: {{l|Building_On_Mac_OS_X|instructions for building}} with the GTK+ Aqua port are available.&lt;br /&gt;
* PCLinuxOS: {{l|PCLinuxOS build instructions|build instructions}}&lt;br /&gt;
* Windows: {{l|Windows build instructions|instructions for building}} in {{l|Mingw_installation|mingw}} 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 needed 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&lt;br /&gt;
* OS X:  make sure you have updated autoconf and automake with MacPorts&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, cvs&amp;lt;br&amp;gt;&lt;br /&gt;
* Debian: etl-dev libxml++2.6-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs&lt;br /&gt;
* Gentoo: virtual/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 virtual/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 --ltdl --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;
&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&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;
$ 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;
&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;
== Automatic build script ==&lt;br /&gt;
&lt;br /&gt;
If you want to build a binary for testing or debugging proposes you can run this script:&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;
# export CXX=&amp;quot;/usr/bin/ccache g++-snapshot&amp;quot;&lt;br /&gt;
# this comments out the line in configure.ac if it isn't already commented. Needed for Ubuntu 8.10 or higher&lt;br /&gt;
sed -i 's/^AC_CONFIG_SUBDIRS/# AC_CONFIG_SUBDIRS/' synfig-core/configure.ac&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 --ltdl --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;
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&lt;br /&gt;
&amp;lt;/pre&amp;gt;&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 requiments, the sript 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;/div&gt;</summary>
		<author><name>Eldruin</name></author>	</entry>

	</feed>