Time loop layer issues

I had notice that Timeloop layer works incorrectly when Length parameter is set to some particular values.

For example, try the sample file. You see sequence of images with numbers displayed at each frame: 0, 1, 2, 3, 4, 5, …

It is looped with timeloop layer. And length is 16. We should expect this:

0, 1, 2, 3, ... 14, 15, 0, 1, 2, 3, ...

Instead of that we have:

0, 1, 2, 3, ... 14, 15, 16, 1, 2, 3, ...

See? the loop glitches at the end. Again, it breaks animation timing. Look similar like FPS interpolation in List Importer. And looks like we have same precision loss during calculations.

Read the rest of this entry »

Leave a Comment

Stroboscope Layer inside of Paste Canvas works!

I’ve got Stroboscope Layer to work inside of Paste Canvas!

After invoking “git grep timeloop” I have found this line:


synfig-core/src/synfig/Makefile.am:     valuenode_timeloop.cpp \
synfig-core/src/synfig/context.cpp:        (*context)->get_name() == “timeloop”))
synfig-core/src/synfig/valuenode.cpp:#include “valuenode_timeloop.h”

Read the rest of this entry »

Leave a Comment

List Importer and FPS interpolation – Solved

As result of discussion with genete I finally got problem solved. Also I have learned that any layer can get document fps via get_canvas()->rend_desc().get_frame_rate(). I can use this to improve the Stroboscope Layer.

Read the rest of this entry »

Comments (1)

List Importer and FPS interpolation – Illustration

Leave a Comment

List Importer and FPS interpolation

Found that ListImporter incorrectly interprets FPS in lst files.

For example, let’s take a list of images where frame number is displayed on each image. According to http://synfig.org/wiki/ListImporter, we can import this image sequence in synfig by listing them in text file with .lst extension. Also we can specify fps in first line. Let’s do it:

echo “FPS 12” > list.lst
ls -1 *.jpg >> list.lst

As you can see, the FPS I specified is 12. If we import it into synfig document with default settings (fps=24) we should get this mapping:

Synfig animation frame: 0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16 ...
Image sequence frame:   0   0   1   1   2   2   3   3   4   4   5   5   6   6   7   7   8  ...

I.e. each frame form image sequence should display for 2 frames in synfig animation. But instead of this we got:

Synfig animation frame: 0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16 ...
Image sequence frame:   0   0   1   2   2   3   3   4   4   5   5   5   6   6   7   8   8  ...

You can check it by yourself – example is here. And this is a significant flaw, because it breaks animation timing.

Read the rest of this entry »

Comments (1)

Z Depth Limit Idea

A friend of mine told me about the switch layer in Anime Studio. I’ve looked into Synfig and haven’t found anything like that.

There is a PasteCanvas layer in Synfig, which is very close to Switch Layer, but it’s displays all child layers at once. Then a wild idea came into my mind: what if we allow user to define a range of visible child layers? Each layer have a “Z-depth” parameter, which defines layers order. We could limit layers visibility by adding “Z-depth limit” to PasteCanvas. Animating Z-depth limit could give switch effect… and much more cool effects if we will make range boundaries “fuzzy”. I.e. when layer have z-depth which is close to visible range, it’s appears semi-transparent. Sounds funny.I want to dig that someday.

Leave a Comment

Stroboscope Layer

This time I will try to add new type of layer to Synfig which produces stroboscope effect. Stroboscope means reducing frame rate by given ratio. As you might expect, I don’t know how to add a new layer type. Yet. Read the rest of this entry »

Leave a Comment

Older Posts »