Development priorities to be discussed at LGM 2013 Madrid

Finally I submitted my talk to LGM 2013. It will have the format of BoF and the theme will be:

“Synfig Studio development priorities”

Since most of you couldn’t participate on the meeting, it would be great that I can carry your voice there. I know that the theme of development priorities has been touched several times on the forums but it would be great to gather your ideas again.

I propose to only focus in your top three priorities to force you think where we should really put the efforts. You can elaborate your proposal as detailed you want or simply list the ideas. If I don’t understand what you want to express I’ll ask here.

My proposal is:

  1. Render engine speed up. Includes: Cairo and cairo-gl implementation. Rework of the quality settings. Core optimizations for render on canvas and for play animation on screen.
  2. UI redesign. It should fit (not in specific order): high user customization, gtk3 compliant, native OSX windowing, newbie user friendly, UI designed for production.
  3. Drawing / animating tools improvements: Frame by frame support, real hand draw support, Time line / keyframes / waypoints rework.

What’s yours?


I want to say has others did to launch an OS :

Synfig Bug#1 : Flash still used by FreeSoftware supporter’s


Oh, I wish I could be in Madrid!

My first priority would be workflow speedup. It relates to all the others but I consider it to be a goal of it’s own. There should be a as direct path from your mind through your hand into final animation as possible. Any obstacles affects creativity.
Workflow speedup would involve getting rid of unnessesary mouse clicks for any given task, having the most used features closest at hand, removing small speed bumps among oher things.


  • I really like the idea of adding extra functionality by creating kind of Tools Layers. I discovered that with Particles , but with the Z’ LGM workshop video, it’s another multiverse !
    Question : Can we envisage to make that more generic ? For example, creating a package of “Tools Layers” ( Sprite Switcher / Bounce Tool / Wind Tool / Gravity Tool … ) containing “Tools Layers Controls” (like in particules tuto and the z’ video) ready for connection …with the animation’s parameters the user want to create.
    Question BIs: Is that the goal of Synfig python + sif plugins i found in my directories?

  • JACK Synchro

  • Improve stability (EDIT 03/15)

  • [size=50]Interactive Animation System (Minimal support could be Control Button) , Rendering in JS + HTML5 / DvD Menu…[/size]

As I think I’ve said elsewhere, frame-by-frame support is my biggest need. It’s included in Genete’s list as part of number 3. As for the rest of that list, it looks pretty good to me. :slight_smile:


I cannot understand the need of frame by frame drawing. This is a problem that the animator must solve and not synfig. And you know what? You can solve the problem by learning to use more programs than one in your workflow.
Also what do you mean timeline/ keyframe / waypoint rework? I hope you are not planing to change the file format without a good reason.
About the ui redesign it will be worth the effort if it is like blender’s. What I mean is to be able to create a custom panel/ window / button… by python. This way you can manipulate the existing layouts and create new ones for new tools without the need to change the c++ code.

Edit: blemder to blender!

I use more programs before breakfast than most people use all day. :slight_smile:

There are some things, especially many kinds of animation, that “need” Frame-by-Frame drawing, and can neither be resolved by tweening nor using more programs than one in our workflow. In fact, Frame-based (and not Tween-based) animations can be quite frequent in 2D animation, and doing the same in Synfig, no matter how many other programs you use with it, is incredibly tedious and frustrating to even “accomplish”. Sure, it solves problems, but it is by no means an “efficient” way to work with.

Here’s the thing about softwares: we build it to make things easier for us to work with, not to make it more difficult. Synfig is spectacular with its tweening capabilities (and I do prefer it over others out there), but it’s hardly a “full-fledged animation tool” when it doesn’t even fulfill certain “needs” of animation.

I still do not understand this but I wand to help…
I prepared by hand an example of how you can turn a group of layers to an environment of hand drawn animation. Jut select the translate layer of the group to be sure that you are drawing in the group of layers or frame.

If we get the release with the python scripting we will be able to automate the creation of a group of layers like this. Also to make the amount to fade away, to keep track of the previews or the next frame-frames and then send it back for frame by frame playing.

Explore Synfig. (1.83 KB)

Sorry for getting off topic again…

My main priority is the python scripting tool. I was never good in compiling code so I do not know where it stands( and I am using Ubuntu).

But with all the conversions that synfig’s params has now, the possibilities are almost endless. With just the ability to get the xml file in python and manipulate it and then reopen it in synfig we can have a very big collection of ‘scripts’.

As I don’t know where the python scripting extension stands I will add here some priorities for it…

  1. get the selected points, layers, ValueBase Nodes by order of selection.
  2. Undo.

P.S. Also python scripting is one of the many reasons Zelgadis must be in Libre Graphics.

interesting example, wiki/doc page about it ? :slight_smile:


It took me around five minutes to do it. It’s quite simple. I just animate the amount of the Group(frame) with a constant tween. By just changing the tween in the file to linear we can get a shadow of the next and the previous frame.

Here is shadowed that too… (1.19 KB)

Quite simple things for one can be different and you can do an invert in both side way of that. got it ?
In other way,
frame per frame is animation stuff,
synfig is animation stuff,
synfig don’t have frame per frame result on wiki/doc,
people want to know about f/f and synfig,
you have an example(s) of frame per frame …



I’d pick

  1. UI redesign with new users in mind. (not always new to animation, but at least new to synfig) as I believe it’s the basis for getting more attention and thus more contributing developpers as well.
  2. basic sound support (and some simple related effects: repeat, speed change, volume change, waveform display for sync) no full edition/effects is needed: there’s many great software in the area. Again with these new users in mind: a video with no sound is not really a video
  3. Interactive video. (click on something lead to another time/video, or has effect on webpage that includes the video) way to go but we need some challenge, right?

Hope this helps.

Maybe my point is not as worthy because I am not yet able to help with the development. But I must say that having the powerfull vector animation tools from synfig, it would be killer to add even a simple “draw by hand” layer cappability. I got really excited to see it in the list. Why? well:

  • No other free (or even affordable) software can do that.
  • Vectors are a great help for most of interpolations, even for drawing and animating big, simple elements.
  • But most elements have more details than just its figure, you can do it with vectors, yes, but it is a hell to do that. There are many cases when it is easier to animate the simplest shapes by vectors and do the rest by hand.

By implementing it, I can assure many production times will get much shorter.

If you’re looking for frame-by-frame animation now and wished synfig had direct support you might like pencil:
Pencil can export a list of .png images wish could be loaded as an image list in synfig.

For development priority, I like the bones feature.
Also I have a dream of synfig having the ability to export the interpolated values for the tweened frames.
So let’s say I have a polygon whose position I want to know for every frame, I can set up synfig to output the coordinates when it renders.
One use of that is to track the collision bounds or hitboxes of a character that is being animated for a videogame.
Or, when the bones feature is available, the transformation of the bones could be written out so the game could render from that and the ‘skin’ instead of directly using the bitmap frames synfig would output. In that way synfig could work like ‘spine’ or ‘spriter’ (two 2d bone animation programs).

But UI improvements is probably the #1 thing followed by sound support.